From 8d9f75ffba9566f6aa04cb7844902141fd125e94 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Jun 2017 10:15:13 -0400 Subject: [PATCH 001/178] Keyboard: refactor type declaration --- src/modules/keyboard/KeyboardLayoutModel.cpp | 5 +++-- src/modules/keyboard/keyboardwidget/keyboardglobal.h | 8 ++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/modules/keyboard/KeyboardLayoutModel.cpp b/src/modules/keyboard/KeyboardLayoutModel.cpp index 9f045043e..63989819c 100644 --- a/src/modules/keyboard/KeyboardLayoutModel.cpp +++ b/src/modules/keyboard/KeyboardLayoutModel.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -59,9 +60,9 @@ KeyboardLayoutModel::data( const QModelIndex& index, int role ) const void KeyboardLayoutModel::init() { - QMap< QString, KeyboardGlobal::KeyboardInfo > layouts = + KeyboardGlobal::LayoutsMap layouts = KeyboardGlobal::getKeyboardLayouts(); - for ( QMap< QString, KeyboardGlobal::KeyboardInfo >::const_iterator it = layouts.constBegin(); + for ( KeyboardGlobal::LayoutsMap::const_iterator it = layouts.constBegin(); it != layouts.constEnd(); ++it ) { m_layouts.append( qMakePair( it.key(), it.value() ) ); diff --git a/src/modules/keyboard/keyboardwidget/keyboardglobal.h b/src/modules/keyboard/keyboardwidget/keyboardglobal.h index 8710fdaa2..965e0828f 100644 --- a/src/modules/keyboard/keyboardwidget/keyboardglobal.h +++ b/src/modules/keyboard/keyboardwidget/keyboardglobal.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Originally from the Manjaro Installation Framework * by Roland Singer @@ -44,12 +45,15 @@ public: QMap< QString, QString > variants; }; - static QMap< QString, KeyboardInfo > getKeyboardLayouts(); + using LayoutsMap = QMap< QString, KeyboardInfo >; + + static LayoutsMap getKeyboardLayouts(); static QMap< QString, QString > getKeyboardModels(); + private: static QMap< QString, QString > parseKeyboardModels(QString filepath); - static QMap< QString, KeyboardInfo > parseKeyboardLayouts(QString filepath); + static LayoutsMap parseKeyboardLayouts(QString filepath); }; #endif // KEYBOARDGLOBAL_H From 88715b9a0fbf8a77104408b1e37d68762dc63d87 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Jun 2017 14:05:13 -0400 Subject: [PATCH 002/178] Keyboard: guess at layout based on locale Split locale into _ and go looking for keyboard layouts that match. Do that in reverse, so look for country first. - known weakness is el_CY (should get layout gr) because CY and el don't name any keyboard layout. - known weakness are Hausa, Igbo .. which are ha_NG and ig_NG. They select keyboard layout ng, which is labeled "English (Nigeria)"; they ought to select ng(hausa) and ng(igbo), which are the right variant keyboard layouts to use. - similar selecting a locale in Canada (en_CA, fr_CA, iu_CA ...) will select keyboard layout ca, which is for French-speaking Canada. Locale en_CA should select keyboard en -- e.g. en(us). But iu_CA (Inuktituk) needs layout ca(ike). --- src/modules/keyboard/KeyboardPage.cpp | 49 +++++++++++++++++++++++++++ src/modules/keyboard/KeyboardPage.h | 3 ++ 2 files changed, 52 insertions(+) diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index 117530a88..770c7c6b1 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Portions from the Manjaro Installation Framework * by Roland Singer @@ -221,10 +222,58 @@ KeyboardPage::createJobs( const QString& xOrgConfFileName, } +void +KeyboardPage::guessLayout( const QStringList& langParts ) +{ + const KeyboardLayoutModel* klm = dynamic_cast< KeyboardLayoutModel* >( ui->listLayout->model() ); + bool foundCountryPart = false; + for ( auto countryPart = langParts.rbegin(); !foundCountryPart && countryPart != langParts.rend(); ++countryPart) + { + cDebug() << " .. looking for locale part" << *countryPart; + for ( int i = 0; i < klm->rowCount(); ++i ) + { + QModelIndex idx = klm->index( i ); + if ( idx.isValid() && + ( idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString().compare( *countryPart, Qt::CaseInsensitive ) == 0 ) ) + { + cDebug() << " .. matched" << idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString(); + ui->listLayout->setCurrentIndex( idx ); + foundCountryPart = true; + break; + } + } + } +} + + void KeyboardPage::onActivate() { ui->listLayout->setFocus(); + + // Try to preselect a layout, depending on language and locale + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + QString lang = gs->value( "localeConf" ).toMap().value( "LANG" ).toString(); + + cDebug() << "Got locale language" << lang; + if ( !lang.isEmpty() ) + { + // Chop off .codeset and @modifier + int index = lang.indexOf('.'); + if ( index >= 0 ) + lang.truncate( index ); + index = lang.indexOf('@'); + if ( index >= 0 ) + lang.truncate( index ); + + lang.replace( '-', '_' ); // Normalize separators + const auto langParts = lang.split( '_' , QString::SkipEmptyParts ); + + QString country = QLocale::countryToString( QLocale( lang ).country() ); + cDebug() << " .. extracted country" << country << "::" << langParts; + + guessLayout( langParts ); + } } diff --git a/src/modules/keyboard/KeyboardPage.h b/src/modules/keyboard/KeyboardPage.h index c60d62b2b..6f828f446 100644 --- a/src/modules/keyboard/KeyboardPage.h +++ b/src/modules/keyboard/KeyboardPage.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Portions from the Manjaro Installation Framework * by Roland Singer @@ -70,6 +71,8 @@ private: KeyboardGlobal::KeyboardInfo info; }; + /// Guess a layout based on the split-apart locale + void guessLayout( const QStringList& langParts ); void updateVariants( const QPersistentModelIndex& currentItem, QString currentVariant = QString() ); From 9b9801d48d838478c82acb59e807dd1b99ca2228 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Sep 2017 11:22:51 +0200 Subject: [PATCH 003/178] Code-style: format the keyboard module --- src/modules/keyboard/KeyboardLayoutModel.cpp | 8 +-- src/modules/keyboard/KeyboardPage.cpp | 66 +++++++++---------- src/modules/keyboard/KeyboardViewStep.cpp | 22 ++----- src/modules/keyboard/SetKeyboardLayoutJob.cpp | 42 ++++++------ 4 files changed, 63 insertions(+), 75 deletions(-) diff --git a/src/modules/keyboard/KeyboardLayoutModel.cpp b/src/modules/keyboard/KeyboardLayoutModel.cpp index 63989819c..e03c2a36c 100644 --- a/src/modules/keyboard/KeyboardLayoutModel.cpp +++ b/src/modules/keyboard/KeyboardLayoutModel.cpp @@ -61,15 +61,13 @@ void KeyboardLayoutModel::init() { KeyboardGlobal::LayoutsMap layouts = - KeyboardGlobal::getKeyboardLayouts(); + KeyboardGlobal::getKeyboardLayouts(); for ( KeyboardGlobal::LayoutsMap::const_iterator it = layouts.constBegin(); - it != layouts.constEnd(); ++it ) - { + it != layouts.constEnd(); ++it ) m_layouts.append( qMakePair( it.key(), it.value() ) ); - } std::stable_sort( m_layouts.begin(), m_layouts.end(), []( const QPair< QString, KeyboardGlobal::KeyboardInfo >& a, - const QPair< QString, KeyboardGlobal::KeyboardInfo >& b ) + const QPair< QString, KeyboardGlobal::KeyboardInfo >& b ) { return a.second.description < b.second.description; } ); diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index 3287dc711..d7b14b338 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -58,7 +58,7 @@ findLayout( const KeyboardLayoutModel* klm, const QString& currentLayout ) { QModelIndex idx = klm->index( i ); if ( idx.isValid() && - idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString() == currentLayout ) + idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString() == currentLayout ) currentLayoutItem = idx; } @@ -86,7 +86,7 @@ KeyboardPage::KeyboardPage( QWidget* parent ) [this] { ui->comboBoxModel->setCurrentIndex( m_defaultIndex ); - }); + } ); connect( ui->comboBoxModel, static_cast< void ( QComboBox::* )( const QString& ) >( &QComboBox::currentIndexChanged ), @@ -97,7 +97,7 @@ KeyboardPage::KeyboardPage( QWidget* parent ) // Set Xorg keyboard model QProcess::execute( QLatin1Literal( "setxkbmap" ), QStringList() << "-model" << model ); - }); + } ); CALAMARES_RETRANSLATE( ui->retranslateUi( this ); ) } @@ -121,7 +121,7 @@ KeyboardPage::init() if ( process.waitForFinished() ) { const QStringList list = QString( process.readAll() ) - .split( "\n", QString::SkipEmptyParts ); + .split( "\n", QString::SkipEmptyParts ); for ( QString line : list ) { @@ -130,8 +130,8 @@ KeyboardPage::init() continue; line = line.remove( "}" ) - .remove( "{" ) - .remove( ";" ); + .remove( "{" ) + .remove( ";" ); line = line.mid( line.indexOf( "\"" ) + 1 ); QStringList split = line.split( "+", QString::SkipEmptyParts ); @@ -143,7 +143,7 @@ KeyboardPage::init() { int parenthesisIndex = currentLayout.indexOf( "(" ); currentVariant = currentLayout.mid( parenthesisIndex + 1 ) - .trimmed(); + .trimmed(); currentVariant.chop( 1 ); currentLayout = currentLayout .mid( 0, parenthesisIndex ) @@ -189,8 +189,8 @@ KeyboardPage::init() QPersistentModelIndex currentLayoutItem = findLayout( klm, currentLayout ); if ( !currentLayoutItem.isValid() && ( - ( currentLayout == "latin" ) - || ( currentLayout == "pc" ) ) ) + ( currentLayout == "latin" ) + || ( currentLayout == "pc" ) ) ) { currentLayout = "us"; currentLayoutItem = findLayout( klm, currentLayout ); @@ -237,11 +237,11 @@ KeyboardPage::createJobs( const QString& xOrgConfFileName, "pc105" ); Calamares::Job* j = new SetKeyboardLayoutJob( selectedModel, - m_selectedLayout, - m_selectedVariant, - xOrgConfFileName, - convertedKeymapPath, - writeEtcDefaultKeyboard ); + m_selectedLayout, + m_selectedVariant, + xOrgConfFileName, + convertedKeymapPath, + writeEtcDefaultKeyboard ); list.append( Calamares::job_ptr( j ) ); return list; @@ -253,14 +253,14 @@ KeyboardPage::guessLayout( const QStringList& langParts ) { const KeyboardLayoutModel* klm = dynamic_cast< KeyboardLayoutModel* >( ui->listLayout->model() ); bool foundCountryPart = false; - for ( auto countryPart = langParts.rbegin(); !foundCountryPart && countryPart != langParts.rend(); ++countryPart) + for ( auto countryPart = langParts.rbegin(); !foundCountryPart && countryPart != langParts.rend(); ++countryPart ) { cDebug() << " .. looking for locale part" << *countryPart; for ( int i = 0; i < klm->rowCount(); ++i ) { QModelIndex idx = klm->index( i ); if ( idx.isValid() && - ( idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString().compare( *countryPart, Qt::CaseInsensitive ) == 0 ) ) + ( idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString().compare( *countryPart, Qt::CaseInsensitive ) == 0 ) ) { cDebug() << " .. matched" << idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString(); ui->listLayout->setCurrentIndex( idx ); @@ -285,15 +285,15 @@ KeyboardPage::onActivate() if ( !lang.isEmpty() ) { // Chop off .codeset and @modifier - int index = lang.indexOf('.'); + int index = lang.indexOf( '.' ); if ( index >= 0 ) lang.truncate( index ); - index = lang.indexOf('@'); + index = lang.indexOf( '@' ); if ( index >= 0 ) lang.truncate( index ); lang.replace( '-', '_' ); // Normalize separators - const auto langParts = lang.split( '_' , QString::SkipEmptyParts ); + const auto langParts = lang.split( '_', QString::SkipEmptyParts ); QString country = QLocale::countryToString( QLocale( lang ).country() ); cDebug() << " .. extracted country" << country << "::" << langParts; @@ -325,8 +325,8 @@ KeyboardPage::updateVariants( const QPersistentModelIndex& currentItem, ui->listVariant->blockSignals( true ); QMap< QString, QString > variants = - currentItem.data( KeyboardLayoutModel::KeyboardVariantsRole ) - .value< QMap< QString, QString > >(); + currentItem.data( KeyboardLayoutModel::KeyboardVariantsRole ) + .value< QMap< QString, QString > >(); QMapIterator< QString, QString > li( variants ); LayoutItem* defaultItem = nullptr; @@ -334,17 +334,17 @@ KeyboardPage::updateVariants( const QPersistentModelIndex& currentItem, while ( li.hasNext() ) { - li.next(); + li.next(); - LayoutItem* item = new LayoutItem(); - item->setText( li.key() ); - item->data = li.value(); - ui->listVariant->addItem( item ); + LayoutItem* item = new LayoutItem(); + item->setText( li.key() ); + item->data = li.value(); + ui->listVariant->addItem( item ); - // currentVariant defaults to QString(). It is only non-empty during the - // initial setup. - if ( li.value() == currentVariant ) - defaultItem = item; + // currentVariant defaults to QString(). It is only non-empty during the + // initial setup. + if ( li.value() == currentVariant ) + defaultItem = item; } // Unblock signals @@ -352,13 +352,13 @@ KeyboardPage::updateVariants( const QPersistentModelIndex& currentItem, // Set to default value if ( defaultItem ) - ui->listVariant->setCurrentItem( defaultItem ); + ui->listVariant->setCurrentItem( defaultItem ); } void KeyboardPage::onListLayoutCurrentItemChanged( const QModelIndex& current, - const QModelIndex& previous ) + const QModelIndex& previous ) { Q_UNUSED( previous ); if ( !current.isValid() ) @@ -370,7 +370,7 @@ KeyboardPage::onListLayoutCurrentItemChanged( const QModelIndex& current, /* Returns stringlist with suitable setxkbmap command-line arguments * to set the given @p layout and @p variant. */ -static inline QStringList xkbmap_args( QStringList&& r, const QString& layout, const QString& variant) +static inline QStringList xkbmap_args( QStringList&& r, const QString& layout, const QString& variant ) { r << "-layout" << layout; if ( !variant.isEmpty() ) diff --git a/src/modules/keyboard/KeyboardViewStep.cpp b/src/modules/keyboard/KeyboardViewStep.cpp index 0dd326a8d..e04e94ce1 100644 --- a/src/modules/keyboard/KeyboardViewStep.cpp +++ b/src/modules/keyboard/KeyboardViewStep.cpp @@ -135,36 +135,28 @@ void KeyboardViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { if ( configurationMap.contains( "xOrgConfFileName" ) && - configurationMap.value( "xOrgConfFileName" ).type() == QVariant::String && - !configurationMap.value( "xOrgConfFileName" ).toString().isEmpty() ) + configurationMap.value( "xOrgConfFileName" ).type() == QVariant::String && + !configurationMap.value( "xOrgConfFileName" ).toString().isEmpty() ) { m_xOrgConfFileName = configurationMap.value( "xOrgConfFileName" ) - .toString(); + .toString(); } else - { m_xOrgConfFileName = "00-keyboard.conf"; - } if ( configurationMap.contains( "convertedKeymapPath" ) && - configurationMap.value( "convertedKeymapPath" ).type() == QVariant::String && - !configurationMap.value( "convertedKeymapPath" ).toString().isEmpty() ) + configurationMap.value( "convertedKeymapPath" ).type() == QVariant::String && + !configurationMap.value( "convertedKeymapPath" ).toString().isEmpty() ) { m_convertedKeymapPath = configurationMap.value( "convertedKeymapPath" ) - .toString(); + .toString(); } else - { m_convertedKeymapPath = QString(); - } if ( configurationMap.contains( "writeEtcDefaultKeyboard" ) && - configurationMap.value( "writeEtcDefaultKeyboard" ).type() == QVariant::Bool ) - { + configurationMap.value( "writeEtcDefaultKeyboard" ).type() == QVariant::Bool ) m_writeEtcDefaultKeyboard = configurationMap.value( "writeEtcDefaultKeyboard" ).toBool(); - } else - { m_writeEtcDefaultKeyboard = true; - } } diff --git a/src/modules/keyboard/SetKeyboardLayoutJob.cpp b/src/modules/keyboard/SetKeyboardLayoutJob.cpp index 430a227eb..1b94502ea 100644 --- a/src/modules/keyboard/SetKeyboardLayoutJob.cpp +++ b/src/modules/keyboard/SetKeyboardLayoutJob.cpp @@ -37,11 +37,11 @@ SetKeyboardLayoutJob::SetKeyboardLayoutJob( const QString& model, - const QString& layout, - const QString& variant, - const QString& xOrgConfFileName, - const QString& convertedKeymapPath, - bool writeEtcDefaultKeyboard) + const QString& layout, + const QString& variant, + const QString& xOrgConfFileName, + const QString& convertedKeymapPath, + bool writeEtcDefaultKeyboard ) : Calamares::Job() , m_model( model ) , m_layout( layout ) @@ -57,8 +57,8 @@ QString SetKeyboardLayoutJob::prettyName() const { return tr( "Set keyboard model to %1, layout to %2-%3" ).arg( m_model ) - .arg( m_layout ) - .arg( m_variant ); + .arg( m_layout ) + .arg( m_variant ); } @@ -74,7 +74,7 @@ SetKeyboardLayoutJob::findConvertedKeymap( const QString& convertedKeymapPath ) QString name = m_variant.isEmpty() ? m_layout : ( m_layout + '-' + m_variant ); if ( convertedKeymapDir.exists( name + ".map" ) - || convertedKeymapDir.exists( name + ".map.gz" ) ) + || convertedKeymapDir.exists( name + ".map.gz" ) ) { cDebug() << "Found converted keymap" << name; @@ -154,7 +154,7 @@ SetKeyboardLayoutJob::findLegacyKeymap() const bool SetKeyboardLayoutJob::writeVConsoleData( const QString& vconsoleConfPath, - const QString& convertedKeymapPath ) const + const QString& convertedKeymapPath ) const { QString keymap = findConvertedKeymap( convertedKeymapPath ); if ( keymap.isEmpty() ) @@ -215,10 +215,10 @@ SetKeyboardLayoutJob::writeX11Data( const QString& keyboardConfPath ) const QTextStream stream( &file ); stream << "# Read and parsed by systemd-localed. It's probably wise not to edit this file\n" - "# manually too freely.\n" - "Section \"InputClass\"\n" - " Identifier \"system-keyboard\"\n" - " MatchIsKeyboard \"on\"\n"; + "# manually too freely.\n" + "Section \"InputClass\"\n" + " Identifier \"system-keyboard\"\n" + " MatchIsKeyboard \"on\"\n"; if ( !m_layout.isEmpty() ) stream << " Option \"XkbLayout\" \"" << m_layout << "\"\n"; @@ -235,8 +235,8 @@ SetKeyboardLayoutJob::writeX11Data( const QString& keyboardConfPath ) const file.close(); cDebug() << "Written XkbLayout" << m_layout << - "; XkbModel" << m_model << - "; XkbVariant" << m_variant << "to X.org file" << keyboardConfPath; + "; XkbModel" << m_model << + "; XkbVariant" << m_variant << "to X.org file" << keyboardConfPath; return ( stream.status() == QTextStream::Ok ); } @@ -250,7 +250,7 @@ SetKeyboardLayoutJob::writeDefaultKeyboardData( const QString& defaultKeyboardPa QTextStream stream( &file ); stream << "# KEYBOARD CONFIGURATION FILE\n\n" - "# Consult the keyboard(5) manual page.\n\n"; + "# Consult the keyboard(5) manual page.\n\n"; stream << "XKBMODEL=\"" << m_model << "\"\n"; stream << "XKBLAYOUT=\"" << m_layout << "\"\n"; @@ -262,9 +262,9 @@ SetKeyboardLayoutJob::writeDefaultKeyboardData( const QString& defaultKeyboardPa file.close(); cDebug() << "Written XKBMODEL" << m_model << - "; XKBLAYOUT" << m_layout << - "; XKBVARIANT" << m_variant << - "to /etc/default/keyboard file" << defaultKeyboardPath; + "; XKBLAYOUT" << m_layout << + "; XKBVARIANT" << m_variant << + "to /etc/default/keyboard file" << defaultKeyboardPath; return ( stream.status() == QTextStream::Ok ); } @@ -297,15 +297,13 @@ SetKeyboardLayoutJob::exec() { xorgConfDPath = destDir.absoluteFilePath( "etc/X11/xorg.conf.d" ); keyboardConfPath = QDir( xorgConfDPath ) - .absoluteFilePath( m_xOrgConfFileName ); + .absoluteFilePath( m_xOrgConfFileName ); } destDir.mkpath( xorgConfDPath ); QString defaultKeyboardPath; if ( QDir( destDir.absoluteFilePath( "etc/default" ) ).exists() ) - { defaultKeyboardPath = destDir.absoluteFilePath( "etc/default/keyboard" ); - } // Get the path to the destination's path to the converted key mappings QString convertedKeymapPath = m_convertedKeymapPath; From 6704121946d3c67eda26ff269f68f93cbe86d18a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 26 Sep 2017 11:32:52 -0400 Subject: [PATCH 004/178] Keyboard: try a little harder to match keyboard layouts with selected system language --- src/modules/keyboard/KeyboardPage.cpp | 38 ++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index d7b14b338..e21219c12 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -259,15 +259,32 @@ KeyboardPage::guessLayout( const QStringList& langParts ) for ( int i = 0; i < klm->rowCount(); ++i ) { QModelIndex idx = klm->index( i ); - if ( idx.isValid() && - ( idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString().compare( *countryPart, Qt::CaseInsensitive ) == 0 ) ) + QString name = idx.isValid() ? idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString() : QString(); + if ( idx.isValid() && ( name.compare( *countryPart, Qt::CaseInsensitive ) == 0 ) ) { - cDebug() << " .. matched" << idx.data( KeyboardLayoutModel::KeyboardLayoutKeyRole ).toString(); + cDebug() << " .. matched" << name; ui->listLayout->setCurrentIndex( idx ); foundCountryPart = true; break; } } + if ( foundCountryPart ) + { + ++countryPart; + if ( countryPart != langParts.rend() ) + { + cDebug() << "Next level:" << *countryPart; + for (int variantnumber = 0; variantnumber < ui->listVariant->count(); ++variantnumber) + { + LayoutItem *variantdata = dynamic_cast< LayoutItem* >( ui->listVariant->item( variantnumber ) ); + if ( variantdata && (variantdata->data.compare( *countryPart, Qt::CaseInsensitive ) == 0) ) + { + ui->listVariant->setCurrentItem( variantdata ); + cDebug() << " .. matched variant" << variantdata->data << ' ' << variantdata->text(); + } + } + } + } } } @@ -275,6 +292,12 @@ KeyboardPage::guessLayout( const QStringList& langParts ) void KeyboardPage::onActivate() { + static auto specialCaseMap = QMap( { + { "ar_EG", "ara" }, + { "ca_ES", "cat_ES" }, + { "as_ES", "ast_ES" }, + } ); + ui->listLayout->setFocus(); // Try to preselect a layout, depending on language and locale @@ -293,6 +316,15 @@ KeyboardPage::onActivate() lang.truncate( index ); lang.replace( '-', '_' ); // Normalize separators + } + if ( !lang.isEmpty() && specialCaseMap.contains( lang.toStdString() ) ) + { + QLatin1String newLang( specialCaseMap.value( lang.toStdString() ).c_str() ); + cDebug() << " .. special case language" << lang << '>' << newLang; + lang = newLang; + } + if ( !lang.isEmpty() ) + { const auto langParts = lang.split( '_', QString::SkipEmptyParts ); QString country = QLocale::countryToString( QLocale( lang ).country() ); From ca037af6ca91733e1cd5804be6e05db5bcf637b7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 30 Sep 2017 16:48:37 +0200 Subject: [PATCH 005/178] KPMCore: update required version to 3.2 - drop extra checks for blkid and atasmart, those are kpmcore's concern, not ours (and it might have other backends, anyway) --- src/modules/partition/CMakeLists.txt | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 1ea69c027..8509ec25d 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -8,20 +8,7 @@ find_package( KF5 REQUIRED CoreAddons ) # These are needed because KPMcore links publicly against ConfigCore, I18n, IconThemes, KIOCore and Service find_package( KF5 REQUIRED Config I18n IconThemes KIO Service ) -find_package( KPMcore 3.1.50 QUIET ) -if ( ${KPMcore_FOUND} ) - add_definitions(-DWITH_KPMCORE22) -endif() -find_package( KPMcore 3.0.3 REQUIRED ) -find_library( atasmart_LIB atasmart ) -find_library( blkid_LIB blkid ) -if( NOT atasmart_LIB ) - message( WARNING "atasmart library not found." ) -endif() -if( NOT blkid_LIB ) - message( WARNING "blkid library not found." ) -endif() - +find_package( KPMcore 3.2 REQUIRED ) include_directories( ${KPMCORE_INCLUDE_DIR} ) include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) From 96c3f7def35d338b9eb66eff02efdae27569291c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 30 Sep 2017 16:50:02 +0200 Subject: [PATCH 006/178] KPMCore: drop conditional code --- src/modules/partition/core/KPMHelpers.cpp | 6 ------ src/modules/partition/tests/PartitionJobTests.cpp | 2 -- 2 files changed, 8 deletions(-) diff --git a/src/modules/partition/core/KPMHelpers.cpp b/src/modules/partition/core/KPMHelpers.cpp index 6ed167eee..9f97d5e8c 100644 --- a/src/modules/partition/core/KPMHelpers.cpp +++ b/src/modules/partition/core/KPMHelpers.cpp @@ -116,9 +116,7 @@ createNewPartition( PartitionNode* parent, PartitionTable::Flags flags ) { FileSystem* fs = FileSystemFactory::create( fsType, firstSector, lastSector -#ifdef WITH_KPMCORE22 ,device.logicalSize() -#endif ); return new Partition( parent, @@ -153,9 +151,7 @@ createNewEncryptedPartition( PartitionNode* parent, FileSystemFactory::create( FileSystem::Luks, firstSector, lastSector -#ifdef WITH_KPMCORE22 ,device.logicalSize() -#endif ) ); if ( !fs ) { @@ -186,9 +182,7 @@ clonePartition( Device* device, Partition* partition ) partition->fileSystem().type(), partition->firstSector(), partition->lastSector() -#ifdef WITH_KPMCORE22 ,device->logicalSize() -#endif ); return new Partition( partition->parent(), *device, diff --git a/src/modules/partition/tests/PartitionJobTests.cpp b/src/modules/partition/tests/PartitionJobTests.cpp index 8702e0119..bd6962a85 100644 --- a/src/modules/partition/tests/PartitionJobTests.cpp +++ b/src/modules/partition/tests/PartitionJobTests.cpp @@ -219,9 +219,7 @@ PartitionJobTests::newCreatePartitionJob( Partition* freeSpacePartition, Partiti else lastSector = freeSpacePartition->lastSector(); FileSystem* fs = FileSystemFactory::create( type, firstSector, lastSector -#ifdef WITH_KPMCORE22 ,m_device->logicalSize() -#endif ); Partition* partition = new Partition( From ff2947060d59a069529fd37c81326b10930f4915 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 30 Sep 2017 17:04:35 +0200 Subject: [PATCH 007/178] KPMCore: use the translation system for filesystem names from KPMCore --- .../partition/jobs/FillGlobalStorageJob.cpp | 46 +------------------ 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index 443eb8b9e..1866ce96e 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -77,50 +77,6 @@ getLuksUuid( const QString& path ) return uuid; } -// TODO: this will be available from KPMCore soon -static const char* filesystem_labels[] = { - "unknown", - "extended", - - "ext2", - "ext3", - "ext4", - "linuxswap", - "fat16", - "fat32", - "ntfs", - "reiser", - "reiser4", - "xfs", - "jfs", - "hfs", - "hfsplus", - "ufs", - "unformatted", - "btrfs", - "hpfs", - "luks", - "ocfs2", - "zfs", - "exfat", - "nilfs2", - "lvm2 pv", - "f2fs", - "udf", - "iso9660", -}; - -Q_STATIC_ASSERT_X((sizeof(filesystem_labels) / sizeof(char *)) >= FileSystem::__lastType, "Mismatch in filesystem labels"); - -static QString -untranslatedTypeName(FileSystem::Type t) -{ - - Q_ASSERT( t >= 0 ); - Q_ASSERT( t <= FileSystem::__lastType ); - - return QLatin1String(filesystem_labels[t]); -} static QVariant mapForPartition( Partition* partition, const QString& uuid ) @@ -129,7 +85,7 @@ mapForPartition( Partition* partition, const QString& uuid ) map[ "device" ] = partition->partitionPath(); map[ "mountPoint" ] = PartitionInfo::mountPoint( partition ); map[ "fsName" ] = partition->fileSystem().name(); - map[ "fs" ] = untranslatedTypeName( partition->fileSystem().type() ); + map[ "fs" ] = partition->fileSystem().name( QStringLiteral("C") ); // Untranslated if ( partition->fileSystem().type() == FileSystem::Luks && dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS() ) map[ "fs" ] = dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS()->name(); From 9f05c236d8813837bda4b4e71cf6710c8bdc833b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 30 Sep 2017 16:27:07 +0100 Subject: [PATCH 008/178] KPMcore: Pass QStringList to fs->name() instead of QString. --- src/modules/partition/jobs/FillGlobalStorageJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index 1866ce96e..a3d709b5b 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -85,7 +85,7 @@ mapForPartition( Partition* partition, const QString& uuid ) map[ "device" ] = partition->partitionPath(); map[ "mountPoint" ] = PartitionInfo::mountPoint( partition ); map[ "fsName" ] = partition->fileSystem().name(); - map[ "fs" ] = partition->fileSystem().name( QStringLiteral("C") ); // Untranslated + map[ "fs" ] = partition->fileSystem().name( { QStringLiteral("C") } ); // Untranslated if ( partition->fileSystem().type() == FileSystem::Luks && dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS() ) map[ "fs" ] = dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS()->name(); From 68e940f0bf8049f9d8c763499da2fb67b7501a84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 30 Sep 2017 17:08:38 +0100 Subject: [PATCH 009/178] Remove unnecessary KIO and KIconThemes dependencies. --- CMakeModules/IncludeKPMCore.cmake | 4 ++-- Dockerfile | 2 +- README.md | 4 ++-- src/modules/partition/CMakeLists.txt | 5 +++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CMakeModules/IncludeKPMCore.cmake b/CMakeModules/IncludeKPMCore.cmake index b06299d91..4b4b8b3f2 100644 --- a/CMakeModules/IncludeKPMCore.cmake +++ b/CMakeModules/IncludeKPMCore.cmake @@ -12,6 +12,6 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) include(KDEInstallDirs) include(GenerateExportHeader) find_package( KF5 REQUIRED CoreAddons ) -find_package( KF5 REQUIRED Config I18n IconThemes KIO Service ) +find_package( KF5 REQUIRED Config I18n Service WidgetsAddons ) -find_package( KPMcore 3.0.3 REQUIRED ) +find_package( KPMcore 3.2 REQUIRED ) diff --git a/Dockerfile b/Dockerfile index cd0e4f365..d6ca0926d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,2 +1,2 @@ FROM kdeneon/all -RUN sudo apt-get update && sudo apt-get -y install build-essential cmake extra-cmake-modules gettext kio-dev libatasmart-dev libboost-python-dev libkf5config-dev libkf5coreaddons-dev libkf5i18n-dev libkf5iconthemes-dev libkf5parts-dev libkf5service-dev libkf5solid-dev libkpmcore-dev libparted-dev libpolkit-qt5-1-dev libqt5svg5-dev libqt5webkit5-dev libyaml-cpp-dev os-prober pkg-config python3-dev qtbase5-dev qtdeclarative5-dev qttools5-dev qttools5-dev-tools +RUN sudo apt-get update && sudo apt-get -y install build-essential cmake extra-cmake-modules gettext libatasmart-dev libboost-python-dev libkf5config-dev libkf5coreaddons-dev libkf5i18n-dev libkf5parts-dev libkf5service-dev libkf5widgetsaddons-dev libkpmcore-dev libparted-dev libpolkit-qt5-1-dev libqt5svg5-dev libqt5webkit5-dev libyaml-cpp-dev os-prober pkg-config python3-dev qtbase5-dev qtdeclarative5-dev qttools5-dev qttools5-dev-tools diff --git a/README.md b/README.md index dcb5e3b67..2304c2d8e 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,8 @@ Modules: * UPower * partition: * extra-cmake-modules - * KF5: KCoreAddons, KConfig, KI18n, KIconThemes, KIO, KService - * KPMcore >= 3.0.3 + * KF5: KCoreAddons, KConfig, KI18n, KService, KWidgetsAddons + * KPMcore >= 3.2 * bootloader: * systemd-boot or GRUB * unpackfs: diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 8509ec25d..cc3680c62 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -5,8 +5,9 @@ include(KDEInstallDirs) include(GenerateExportHeader) find_package( KF5 REQUIRED CoreAddons ) -# These are needed because KPMcore links publicly against ConfigCore, I18n, IconThemes, KIOCore and Service -find_package( KF5 REQUIRED Config I18n IconThemes KIO Service ) +# These are needed because KPMcore links publicly against ConfigCore, I18n, WidgetsAddons and Service +find_package( Qt5 REQUIRED DBus ) +find_package( KF5 REQUIRED Config I18n WidgetsAddons Service ) find_package( KPMcore 3.2 REQUIRED ) From 3f739563ef83e410f70a6d9346e7bc9127e10379 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 4 Oct 2017 08:46:12 -0400 Subject: [PATCH 010/178] Drop KService requirements (it's still there in InteractiveTerminal) --- src/modules/partition/CMakeLists.txt | 5 +---- src/modules/partition/tests/CMakeLists.txt | 2 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index cc3680c62..8974fef9b 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -3,11 +3,8 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) include(KDEInstallDirs) include(GenerateExportHeader) -find_package( KF5 REQUIRED CoreAddons ) - -# These are needed because KPMcore links publicly against ConfigCore, I18n, WidgetsAddons and Service find_package( Qt5 REQUIRED DBus ) -find_package( KF5 REQUIRED Config I18n WidgetsAddons Service ) +find_package( KF5 REQUIRED Config CoreAddons I18n WidgetsAddons ) find_package( KPMcore 3.2 REQUIRED ) diff --git a/src/modules/partition/tests/CMakeLists.txt b/src/modules/partition/tests/CMakeLists.txt index 1917a226b..80f65091d 100644 --- a/src/modules/partition/tests/CMakeLists.txt +++ b/src/modules/partition/tests/CMakeLists.txt @@ -1,5 +1,4 @@ find_package( Qt5 COMPONENTS Gui Test REQUIRED ) -find_package( KF5 COMPONENTS Service REQUIRED ) include( ECMAddTests ) @@ -33,7 +32,6 @@ ecm_add_test( ${partitionjobtests_SRCS} kpmcore Qt5::Core Qt5::Test - KF5::Service ) set_target_properties( partitionjobtests PROPERTIES AUTOMOC TRUE ) From 4912d8a6c2e51311b69b6e51f998603aaff9d0e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 7 Oct 2017 00:42:07 +0100 Subject: [PATCH 011/178] Fix create partition job to work with LVM devices. --- .../partition/gui/CreatePartitionDialog.cpp | 19 +++ .../partition/gui/CreatePartitionDialog.ui | 20 ++- .../partition/jobs/CreatePartitionJob.cpp | 120 +++++++++++------- 3 files changed, 105 insertions(+), 54 deletions(-) diff --git a/src/modules/partition/gui/CreatePartitionDialog.cpp b/src/modules/partition/gui/CreatePartitionDialog.cpp index 90cf92051..7d32b7d33 100644 --- a/src/modules/partition/gui/CreatePartitionDialog.cpp +++ b/src/modules/partition/gui/CreatePartitionDialog.cpp @@ -43,6 +43,8 @@ #include #include #include +#include +#include #include static QSet< FileSystem::Type > s_unmountableFS( @@ -66,6 +68,19 @@ CreatePartitionDialog::CreatePartitionDialog( Device* device, PartitionNode* par m_ui->encryptWidget->setText( tr( "En&crypt" ) ); m_ui->encryptWidget->hide(); + if (m_device->type() == Device::Disk_Device) { + m_ui->lvNameLabel->hide(); + m_ui->lvNameLineEdit->hide(); + } + if (m_device->type() == Device::LVM_Device) { + /* LVM logical volume name can consist of: letters numbers _ . - + + * It cannot start with underscore _ and must not be equal to . or .. or any entry in /dev/ + * QLineEdit accepts QValidator::Intermediate, so we just disable . at the beginning */ + QRegularExpression re(QStringLiteral(R"(^(?!_|\.)[\w\-.+]+)")); + QRegularExpressionValidator *validator = new QRegularExpressionValidator(re, this); + m_ui->lvNameLineEdit->setValidator(validator); + } + QStringList mountPoints = { "/", "/boot", "/home", "/opt", "/usr", "/var" }; if ( PartUtils::isEfiSystem() ) mountPoints << Calamares::JobQueue::instance()->globalStorage()->value( "efiSystemPartition" ).toString(); @@ -227,6 +242,10 @@ CreatePartitionDialog::createPartition() ); } + if (m_device->type() == Device::LVM_Device) { + partition->setPartitionPath(m_device->deviceNode() + QStringLiteral("/") + m_ui->lvNameLineEdit->text().trimmed()); + } + PartitionInfo::setMountPoint( partition, m_ui->mountPointComboBox->currentText() ); PartitionInfo::setFormat( partition, true ); diff --git a/src/modules/partition/gui/CreatePartitionDialog.ui b/src/modules/partition/gui/CreatePartitionDialog.ui index ba457b29c..ac355c880 100644 --- a/src/modules/partition/gui/CreatePartitionDialog.ui +++ b/src/modules/partition/gui/CreatePartitionDialog.ui @@ -146,6 +146,16 @@ + + + LVM LV name + + + + + + + &Mount Point: @@ -155,7 +165,7 @@ - + true @@ -165,21 +175,21 @@ - + - + Flags: - + true @@ -192,7 +202,7 @@ - + Qt::Vertical diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index aab032a87..562202e30 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -78,51 +79,81 @@ CreatePartitionJob::prettyStatusMessage() const Calamares::JobResult CreatePartitionJob::exec() { - int step = 0; - const qreal stepCount = 4; - + QString partitionPath; + FileSystem *fs; Report report( nullptr ); - QString message = tr( "The installer failed to create partition on disk '%1'." ).arg( m_device->name() ); - progress( step++ / stepCount ); - CoreBackend* backend = CoreBackendManager::self()->backend(); - QScopedPointer backendDevice( backend->openDevice( m_device->deviceNode() ) ); - if ( !backendDevice.data() ) + if (m_device->type() == Device::Disk_Device) { + int step = 0; + const qreal stepCount = 4; + QString message = tr( "The installer failed to create partition on disk '%1'." ).arg( m_device->name() ); + + progress( step++ / stepCount ); + CoreBackend* backend = CoreBackendManager::self()->backend(); + QScopedPointer backendDevice( backend->openDevice( m_device->deviceNode() ) ); + if ( !backendDevice.data() ) + { + return Calamares::JobResult::error( + message, + tr( "Could not open device '%1'." ).arg( m_device->deviceNode() ) + ); + } + + progress( step++ / stepCount ); + QScopedPointer backendPartitionTable( backendDevice->openPartitionTable() ); + if ( !backendPartitionTable.data() ) + { + return Calamares::JobResult::error( + message, + tr( "Could not open partition table." ) + ); + } + + progress( step++ / stepCount ); + partitionPath = backendPartitionTable->createPartition( report, *m_partition ); + if ( partitionPath.isEmpty() ) + { + return Calamares::JobResult::error( + message, + report.toText() + ); + } + m_partition->setPartitionPath( partitionPath ); + backendPartitionTable->commit(); + + progress( step++ / stepCount ); + fs = &m_partition->fileSystem(); + if ( fs->type() == FileSystem::Unformatted || fs->type() == FileSystem::Extended ) + return Calamares::JobResult::ok(); + + if ( !backendPartitionTable->setPartitionSystemType( report, *m_partition ) ) + { + return Calamares::JobResult::error( + tr( "The installer failed to update partition table on disk '%1'." ).arg( m_device->name() ), + report.toText() + ); + } + + backendPartitionTable->commit(); + } + else { - return Calamares::JobResult::error( - message, - tr( "Could not open device '%1'." ).arg( m_device->deviceNode() ) - ); + LvmDevice *dev = dynamic_cast(m_device); + m_partition->setState(Partition::StateNone); + + partitionPath = m_partition->partitionPath(); + QString lvname = partitionPath.right(partitionPath.length() - partitionPath.lastIndexOf(QStringLiteral("/")) - 1); + if ( !LvmDevice::createLV(report, *dev, *m_partition, lvname)) + { + return Calamares::JobResult::error( + tr( "The installer failed to create LVM logical volume %1." ).arg( lvname ), + report.toText() + ); + } + fs = &m_partition->fileSystem(); } - progress( step++ / stepCount ); - QScopedPointer backendPartitionTable( backendDevice->openPartitionTable() ); - if ( !backendPartitionTable.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open partition table." ) - ); - } - - progress( step++ / stepCount ); - QString partitionPath = backendPartitionTable->createPartition( report, *m_partition ); - if ( partitionPath.isEmpty() ) - { - return Calamares::JobResult::error( - message, - report.toText() - ); - } - m_partition->setPartitionPath( partitionPath ); - backendPartitionTable->commit(); - - progress( step++ / stepCount ); - FileSystem& fs = m_partition->fileSystem(); - if ( fs.type() == FileSystem::Unformatted || fs.type() == FileSystem::Extended ) - return Calamares::JobResult::ok(); - - if ( !fs.create( report, partitionPath ) ) + if ( !fs->create( report, partitionPath ) ) { return Calamares::JobResult::error( tr( "The installer failed to create file system on partition %1." ).arg( partitionPath ), @@ -130,15 +161,6 @@ CreatePartitionJob::exec() ); } - if ( !backendPartitionTable->setPartitionSystemType( report, *m_partition ) ) - { - return Calamares::JobResult::error( - tr( "The installer failed to update partition table on disk '%1'." ).arg( m_device->name() ), - report.toText() - ); - } - - backendPartitionTable->commit(); return Calamares::JobResult::ok(); } From 70573543f24c37807e4207d9d07a4154890ea141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 12 Oct 2017 18:54:43 +0100 Subject: [PATCH 012/178] Use KPMcore NewOperation to create partitions. --- .../partition/jobs/CreatePartitionJob.cpp | 87 ++----------------- 1 file changed, 7 insertions(+), 80 deletions(-) diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index 562202e30..efefcae86 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include // Qt @@ -79,89 +80,15 @@ CreatePartitionJob::prettyStatusMessage() const Calamares::JobResult CreatePartitionJob::exec() { - QString partitionPath; - FileSystem *fs; Report report( nullptr ); + NewOperation op(*m_device, m_partition); + op.setStatus(Operation::StatusRunning); - if (m_device->type() == Device::Disk_Device) { - int step = 0; - const qreal stepCount = 4; - QString message = tr( "The installer failed to create partition on disk '%1'." ).arg( m_device->name() ); + QString message = tr( "The installer failed to create partition on disk '%1'." ).arg( m_device->name() ); + if (op.execute(report)) + return Calamares::JobResult::ok(); - progress( step++ / stepCount ); - CoreBackend* backend = CoreBackendManager::self()->backend(); - QScopedPointer backendDevice( backend->openDevice( m_device->deviceNode() ) ); - if ( !backendDevice.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open device '%1'." ).arg( m_device->deviceNode() ) - ); - } - - progress( step++ / stepCount ); - QScopedPointer backendPartitionTable( backendDevice->openPartitionTable() ); - if ( !backendPartitionTable.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open partition table." ) - ); - } - - progress( step++ / stepCount ); - partitionPath = backendPartitionTable->createPartition( report, *m_partition ); - if ( partitionPath.isEmpty() ) - { - return Calamares::JobResult::error( - message, - report.toText() - ); - } - m_partition->setPartitionPath( partitionPath ); - backendPartitionTable->commit(); - - progress( step++ / stepCount ); - fs = &m_partition->fileSystem(); - if ( fs->type() == FileSystem::Unformatted || fs->type() == FileSystem::Extended ) - return Calamares::JobResult::ok(); - - if ( !backendPartitionTable->setPartitionSystemType( report, *m_partition ) ) - { - return Calamares::JobResult::error( - tr( "The installer failed to update partition table on disk '%1'." ).arg( m_device->name() ), - report.toText() - ); - } - - backendPartitionTable->commit(); - } - else - { - LvmDevice *dev = dynamic_cast(m_device); - m_partition->setState(Partition::StateNone); - - partitionPath = m_partition->partitionPath(); - QString lvname = partitionPath.right(partitionPath.length() - partitionPath.lastIndexOf(QStringLiteral("/")) - 1); - if ( !LvmDevice::createLV(report, *dev, *m_partition, lvname)) - { - return Calamares::JobResult::error( - tr( "The installer failed to create LVM logical volume %1." ).arg( lvname ), - report.toText() - ); - } - fs = &m_partition->fileSystem(); - } - - if ( !fs->create( report, partitionPath ) ) - { - return Calamares::JobResult::error( - tr( "The installer failed to create file system on partition %1." ).arg( partitionPath ), - report.toText() - ); - } - - return Calamares::JobResult::ok(); + return Calamares::JobResult::error(message, report.toText()); } void From ceba157459f6515dac47f6fb27a2687624e1e735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 12 Oct 2017 18:59:11 +0100 Subject: [PATCH 013/178] Use KPMcore DeleteOperation to delete partitions. --- .../partition/jobs/DeletePartitionJob.cpp | 47 +++---------------- 1 file changed, 7 insertions(+), 40 deletions(-) diff --git a/src/modules/partition/jobs/DeletePartitionJob.cpp b/src/modules/partition/jobs/DeletePartitionJob.cpp index bceffd133..1bed8739f 100644 --- a/src/modules/partition/jobs/DeletePartitionJob.cpp +++ b/src/modules/partition/jobs/DeletePartitionJob.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include DeletePartitionJob::DeletePartitionJob( Device* device, Partition* partition ) @@ -65,48 +66,14 @@ Calamares::JobResult DeletePartitionJob::exec() { Report report( nullptr ); + DeleteOperation op(*m_device, m_partition); + op.setStatus(Operation::StatusRunning); + QString message = tr( "The installer failed to delete partition %1." ).arg( m_partition->devicePath() ); + if (op.execute(report)) + return Calamares::JobResult::ok(); - if ( m_device->deviceNode() != m_partition->devicePath() ) - { - return Calamares::JobResult::error( - message, - tr( "Partition (%1) and device (%2) do not match." ) - .arg( m_partition->devicePath() ) - .arg( m_device->deviceNode() ) - ); - } - - CoreBackend* backend = CoreBackendManager::self()->backend(); - QScopedPointer backendDevice( backend->openDevice( m_device->deviceNode() ) ); - if ( !backendDevice.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open device %1." ).arg( m_device->deviceNode() ) - ); - } - - QScopedPointer backendPartitionTable( backendDevice->openPartitionTable() ); - if ( !backendPartitionTable.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open partition table." ) - ); - } - - bool ok = backendPartitionTable->deletePartition( report, *m_partition ); - if ( !ok ) - { - return Calamares::JobResult::error( - message, - report.toText() - ); - } - - backendPartitionTable->commit(); - return Calamares::JobResult::ok(); + return Calamares::JobResult::error(message, report.toText()); } void From 105e06798e974141ed2c9e343a23704e635671b2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 31 Oct 2017 08:25:57 -0400 Subject: [PATCH 014/178] CMake: look for ECM at top-level, add to search path if found. --- CMakeLists.txt | 10 ++++++++++ src/modules/interactiveterminal/CMakeLists.txt | 3 +-- src/modules/partition/CMakeLists.txt | 3 +-- src/modules/users/CMakeLists.txt | 3 +-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index aa0d9016b..fccecb539 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -114,6 +114,16 @@ find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core Gui Widgets LinguistTools S find_package( YAMLCPP 0.5.1 REQUIRED ) find_package( PolkitQt5-1 REQUIRED ) +# Find ECM once, and add it to the module search path; Calamares +# modules that need ECM can do +# find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE), +# no need to mess with the module path after. +set( ECM_VERSION 5.10.0 ) +find_package(ECM ${ECM_VERSION} NO_MODULE) +if( ECM_FOUND ) + set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) +endif() + option( INSTALL_CONFIG "Install configuration files" ON ) option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON ) option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF ) diff --git a/src/modules/interactiveterminal/CMakeLists.txt b/src/modules/interactiveterminal/CMakeLists.txt index 04c5406ce..d419a22a7 100644 --- a/src/modules/interactiveterminal/CMakeLists.txt +++ b/src/modules/interactiveterminal/CMakeLists.txt @@ -1,5 +1,4 @@ -find_package(ECM 5.10.0 REQUIRED NO_MODULE) -set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) +find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) include(KDEInstallDirs) include(GenerateExportHeader) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index a60801531..9c67e6aca 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -1,5 +1,4 @@ -find_package(ECM 5.10.0 REQUIRED NO_MODULE) -set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) +find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) include(KDEInstallDirs) include(GenerateExportHeader) diff --git a/src/modules/users/CMakeLists.txt b/src/modules/users/CMakeLists.txt index 074118d54..ebff9df8c 100644 --- a/src/modules/users/CMakeLists.txt +++ b/src/modules/users/CMakeLists.txt @@ -1,6 +1,5 @@ -find_package(ECM 5.10.0 NO_MODULE) +find_package(ECM ${ECM_VERSION} NO_MODULE) if( ECM_FOUND ) - set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) include( ECMAddTests ) endif() From 6c873f0b703144267f6236a4096ca4fe56a5c002 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 31 Oct 2017 08:26:23 -0400 Subject: [PATCH 015/178] [plasmalnf] Initial stub module --- src/modules/plasmalnf/CMakeLists.txt | 13 ++++++ src/modules/plasmalnf/PlasmaLnfJob.cpp | 64 ++++++++++++++++++++++++++ src/modules/plasmalnf/PlasmaLnfJob.h | 51 ++++++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 src/modules/plasmalnf/CMakeLists.txt create mode 100644 src/modules/plasmalnf/PlasmaLnfJob.cpp create mode 100644 src/modules/plasmalnf/PlasmaLnfJob.h diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt new file mode 100644 index 000000000..3a6c0324f --- /dev/null +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -0,0 +1,13 @@ +find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) + +find_package( KF5 REQUIRED CoreAddons Service ) + +calamares_add_plugin( plasmalnf + TYPE job + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + PlasmaLnfJob.cpp + LINK_PRIVATE_LIBRARIES + calamares + SHARED_LIB +) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp new file mode 100644 index 000000000..15b4e39ce --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -0,0 +1,64 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "PlasmaLnfJob.h" + +#include +#include +#include + +#include "CalamaresVersion.h" +#include "JobQueue.h" +#include "GlobalStorage.h" + +#include "utils/Logger.h" + +PlasmaLnfJob::PlasmaLnfJob( QObject* parent ) + : Calamares::CppJob( parent ) +{ +} + + +PlasmaLnfJob::~PlasmaLnfJob() +{ +} + + +QString +PlasmaLnfJob::prettyName() const +{ + return tr( "Plasma Look-and-Feel Job" ); +} + + +Calamares::JobResult +PlasmaLnfJob::exec() +{ + cDebug() << "Plasma Look-and-Feel Job"; + + return Calamares::JobResult::ok(); +} + + +void +PlasmaLnfJob::setConfigurationMap( const QVariantMap& configurationMap ) +{ + m_configurationMap = configurationMap; +} + +CALAMARES_PLUGIN_FACTORY_DEFINITION( PlasmaLnfJobFactory, registerPlugin(); ) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.h b/src/modules/plasmalnf/PlasmaLnfJob.h new file mode 100644 index 000000000..db56d8be9 --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfJob.h @@ -0,0 +1,51 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNFJOB_H +#define PLASMALNFJOB_H + +#include +#include + +#include + +#include + +#include + +class PLUGINDLLEXPORT PlasmaLnfJob : public Calamares::CppJob +{ + Q_OBJECT + +public: + explicit PlasmaLnfJob( QObject* parent = nullptr ); + virtual ~PlasmaLnfJob() override; + + QString prettyName() const override; + + Calamares::JobResult exec() override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; + +private: + QVariantMap m_configurationMap; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( PlasmaLnfJobFactory ) + +#endif // PLASMALNFJOB_H From 41e8fdd362a7fe888afac203d4b1204e991d86b8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 31 Oct 2017 09:49:16 -0400 Subject: [PATCH 016/178] [plasmalnf] Search for LNF themes like the KCM does --- src/modules/plasmalnf/CMakeLists.txt | 4 +- src/modules/plasmalnf/PlasmaLnfJob.cpp | 52 +++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index 3a6c0324f..b78aac6b8 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -1,6 +1,6 @@ find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) -find_package( KF5 REQUIRED CoreAddons Service ) +find_package( KF5 5.29 REQUIRED CoreAddons Plasma Service ) calamares_add_plugin( plasmalnf TYPE job @@ -9,5 +9,7 @@ calamares_add_plugin( plasmalnf PlasmaLnfJob.cpp LINK_PRIVATE_LIBRARIES calamares + KF5::Plasma + KF5::Service SHARED_LIB ) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 15b4e39ce..0aa7314cf 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -18,10 +18,18 @@ #include "PlasmaLnfJob.h" -#include #include +#include +#include +#include #include +#include +#include +#include // Future + +#include // TODO: port to KPluginLoader + #include "CalamaresVersion.h" #include "JobQueue.h" #include "GlobalStorage.h" @@ -45,12 +53,54 @@ PlasmaLnfJob::prettyName() const return tr( "Plasma Look-and-Feel Job" ); } +static void _themes_by_service() +{ + KService::List services; + KServiceTypeTrader* trader = KServiceTypeTrader::self(); + + services = trader->query("Plasma/Theme"); + int c = 0; + for ( const auto s : services ) + { + cDebug() << "Plasma theme '" << s->name() << '\''; + c++; + } + cDebug() << "Plasma themes by service found" << c; +} + +static void _themes_by_kcm() +{ + QString component; + QList packages; + QStringList paths; + const QStringList dataPaths = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); + + for (const QString &path : dataPaths) { + QDir dir(path + "/plasma/look-and-feel"); + paths << dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); + } + + for (const QString &path : paths) { + Plasma::Package pkg = Plasma::PluginLoader::self()->loadPackage(QStringLiteral("Plasma/LookAndFeel")); + pkg.setPath(path); + pkg.setFallbackPackage(Plasma::Package()); + if (component.isEmpty() || !pkg.filePath(component.toUtf8()).isEmpty()) { + packages << pkg; + cDebug() << "Plasma theme '" << pkg.metadata().pluginName() << '\''; + } + } + cDebug() << "Plasma themes by kcm found" << packages.length(); +} + Calamares::JobResult PlasmaLnfJob::exec() { cDebug() << "Plasma Look-and-Feel Job"; + _themes_by_service(); + _themes_by_kcm(); + return Calamares::JobResult::ok(); } From 652ffaedd5a9259bc767e0080a41f8799212d6dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 11 Nov 2017 21:34:10 +0000 Subject: [PATCH 017/178] Remove unnecessary kpmcore includes. --- src/modules/partition/jobs/CreatePartitionJob.cpp | 5 ----- src/modules/partition/jobs/CreatePartitionTableJob.cpp | 1 - src/modules/partition/jobs/FormatPartitionJob.cpp | 1 - 3 files changed, 7 deletions(-) diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index efefcae86..3b16df2fc 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -24,11 +24,6 @@ #include "utils/Units.h" // KPMcore -#include -#include -#include -#include -#include #include #include #include diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.cpp b/src/modules/partition/jobs/CreatePartitionTableJob.cpp index e4430134f..5d2df6bc9 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionTableJob.cpp @@ -26,7 +26,6 @@ #include #include #include -#include #include #include #include diff --git a/src/modules/partition/jobs/FormatPartitionJob.cpp b/src/modules/partition/jobs/FormatPartitionJob.cpp index 162839ce7..bc13946c6 100644 --- a/src/modules/partition/jobs/FormatPartitionJob.cpp +++ b/src/modules/partition/jobs/FormatPartitionJob.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include From 2a785bdf8954003ff502edfb3bfb25c0d831fb4e Mon Sep 17 00:00:00 2001 From: Chantara Tith Date: Mon, 5 Sep 2016 16:05:16 +0700 Subject: [PATCH 018/178] Disable newPartitionTableButton for LVM device. --- src/modules/partition/gui/PartitionPage.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/modules/partition/gui/PartitionPage.cpp b/src/modules/partition/gui/PartitionPage.cpp index 62e7a97a1..88b03ec72 100644 --- a/src/modules/partition/gui/PartitionPage.cpp +++ b/src/modules/partition/gui/PartitionPage.cpp @@ -119,7 +119,7 @@ PartitionPage::~PartitionPage() void PartitionPage::updateButtons() { - bool create = false, edit = false, del = false; + bool create = false, createTable = false, edit = false, del = false; QModelIndex index = m_ui->partitionTreeView->currentIndex(); if ( index.isValid() ) @@ -141,11 +141,18 @@ PartitionPage::updateButtons() edit = !isFree && !isExtended; del = !isFree; } + + if ( m_ui->deviceComboBox->currentIndex() >= 0 ) + { + QModelIndex deviceIndex = m_core->deviceModel()->index( m_ui->deviceComboBox->currentIndex(), 0 ); + if ( m_core->deviceModel()->deviceForIndex( deviceIndex )->type() != Device::LVM_Device ) + createTable = true; + } + m_ui->createButton->setEnabled( create ); m_ui->editButton->setEnabled( edit ); m_ui->deleteButton->setEnabled( del ); - - m_ui->newPartitionTableButton->setEnabled( m_ui->deviceComboBox->currentIndex() >= 0 ); + m_ui->newPartitionTableButton->setEnabled( createTable ); } void From fe61925f31379a17de498248ff60ab9d9f80b952 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Dec 2017 13:46:59 -0500 Subject: [PATCH 019/178] [packages] Update module documentation --- src/modules/packages/packages.conf | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/modules/packages/packages.conf b/src/modules/packages/packages.conf index 6e3af05a8..6cccfc490 100644 --- a/src/modules/packages/packages.conf +++ b/src/modules/packages/packages.conf @@ -29,9 +29,10 @@ update_db: true # packages that need to be installed or removed can run before # this one. Distro developers may want to install locale packages # or remove drivers not needed on the installed system. -# This job will populate a list of dictionaries in the global -# storage called "packageOperations" and it is processed -# after the static list in the job configuration. +# Such a job would populate a list of dictionaries in the global +# storage called "packageOperations" and that list is processed +# after the static list in the job configuration (i.e. the list +# that is in this configuration file). # # Allowed package operations are: # - install, try_install: will call the package manager to @@ -49,7 +50,7 @@ update_db: true # while try_remove carries on. Packages may be listed as # (localized) names. # -# There are two formats for naming packages: as a name # or as package-data, +# There are two formats for naming packages: as a name or as package-data, # which is an object notation providing package-name, as well as pre- and # post-install scripts. # @@ -74,15 +75,16 @@ update_db: true # # - if the system locale is English (generally US English; en_GB is a valid # localization), then the package is not installed at all, -# - otherwise LOCALE is replaced by the Bcp47 name of the selected system -# locale, e.g. nl_BE. +# - otherwise $LOCALE or ${LOCALE} is replaced by the Bcp47 name of the selected +# system locale, e.g. nl_BE. Note that just plain LOCALE will not be replaced, +# so foo-LOCALE will be unchanged, while foo-$LOCALE will be changed. # # The following installs localizations for vi, if they are relevant; if # there is no localization, installation continues normally. # # - install -# - vi-LOCALE -# - package: vi-LOCALE +# - vi-$LOCALE +# - package: vi-${LOCALE} # pre-script: touch /tmp/installing-vi # post-script: rm -f /tmp/installing-vi # From 517dbfab06cd78838e1f504fbe05369bd2989009 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Dec 2017 16:42:56 -0500 Subject: [PATCH 020/178] [libcalamares] The script namespace is actually a dict Use dict methods, in particular d.get(k, v), to retrieve the pretty_name() function (or None if it isn't there). Using getattr() on a dict will not return values in the dict. --- src/libcalamares/PythonHelper.cpp | 2 +- src/libcalamares/PythonHelper.h | 2 +- src/libcalamares/PythonJob.cpp | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/libcalamares/PythonHelper.cpp b/src/libcalamares/PythonHelper.cpp index bb698ba55..ab5802076 100644 --- a/src/libcalamares/PythonHelper.cpp +++ b/src/libcalamares/PythonHelper.cpp @@ -233,7 +233,7 @@ Helper::~Helper() {} -boost::python::object +boost::python::dict Helper::createCleanNamespace() { // To make sure we run each script with a clean namespace, we only fetch the diff --git a/src/libcalamares/PythonHelper.h b/src/libcalamares/PythonHelper.h index a77ab80b2..be1ab8544 100644 --- a/src/libcalamares/PythonHelper.h +++ b/src/libcalamares/PythonHelper.h @@ -51,7 +51,7 @@ public: explicit Helper( QObject* parent = nullptr ); virtual ~Helper(); - boost::python::object createCleanNamespace(); + boost::python::dict createCleanNamespace(); QString handleLastError(); diff --git a/src/libcalamares/PythonJob.cpp b/src/libcalamares/PythonJob.cpp index 1a8a9701a..006fd86b6 100644 --- a/src/libcalamares/PythonJob.cpp +++ b/src/libcalamares/PythonJob.cpp @@ -216,10 +216,10 @@ BOOST_PYTHON_MODULE( libcalamares ) "in the original string." ); - - bp::def( - "gettext_languages", - &CalamaresPython::gettext_languages, + + bp::def( + "gettext_languages", + &CalamaresPython::gettext_languages, "Returns list of languages (most to least-specific) for gettext." ); @@ -296,7 +296,7 @@ PythonJob::exec() try { - bp::object scriptNamespace = helper()->createCleanNamespace(); + bp::dict scriptNamespace = helper()->createCleanNamespace(); bp::object calamaresModule = bp::import( "libcalamares" ); bp::dict calamaresNamespace = bp::extract< bp::dict >( calamaresModule.attr( "__dict__" ) ); @@ -310,7 +310,7 @@ PythonJob::exec() scriptNamespace ); bp::object entryPoint = scriptNamespace[ "run" ]; - bp::object prettyNameFunc = bp::getattr(scriptNamespace, "pretty_name", bp::object()); + bp::object prettyNameFunc = scriptNamespace.get("pretty_name", bp::object()); cDebug() << "Job file" << scriptFI.absoluteFilePath(); if ( !prettyNameFunc.is_none() ) From 7b145c2a36b0185877bdde243b05cc5b177d7494 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 1 Dec 2017 16:48:02 -0500 Subject: [PATCH 021/178] [packages] Improve message when no packages are processed at all. --- src/modules/packages/main.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index bbee9c32d..9555a0433 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -55,8 +55,12 @@ def _change_mode(mode): def pretty_name(): if not group_packages: - # Outside the context of an operation - s = _("Processing packages (%(count)d / %(total)d)") + if (total_packages > 0): + # Outside the context of an operation + s = _("Processing packages (%(count)d / %(total)d)") + else: + s = _("Install packages.") + elif mode_packages is INSTALL: s = _n("Installing one package.", "Installing %(num)d packages.", group_packages) From 150007c138aa7fcaadfdedfa635d9a8681240018 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 2 Dec 2017 05:04:30 -0500 Subject: [PATCH 022/178] [packages] Feature: skip if no internet. Update documentation, add a new key *skip_if_no_internet* to support systems that **recommend** having an internet connection (but don't require it), and which also use the packages module. This prevents a long delay while the package manager tries to access the internet and times out (repeatedly). Existing configurations are unchanged. --- src/modules/packages/main.py | 5 +++++ src/modules/packages/packages.conf | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 9555a0433..49f3ea2ff 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -426,6 +426,11 @@ def run(): else: return "Bad backend", "backend=\"{}\"".format(backend) + skip_this = libcalamares.job.configuration.get("skip_if_no_internet", false) + if skip_this and not libcalamares.globalstorage.value("hasInternet"): + cDebug() << "WARNING: packages installation has been skipped: no internet"; + return None + update_db = libcalamares.job.configuration.get("update_db", False) if update_db and libcalamares.globalstorage.value("hasInternet"): pkgman.update_db() diff --git a/src/modules/packages/packages.conf b/src/modules/packages/packages.conf index 6cccfc490..2d6ca116f 100644 --- a/src/modules/packages/packages.conf +++ b/src/modules/packages/packages.conf @@ -14,9 +14,20 @@ # backend: dummy -# If set to true, a package-manager specific update procedure -# is run first (only if there is internet) to update the list -# of packages and dependencies. +# Often package installation needs an internet connection. +# Since you may allow system installation without a connection +# and want to offer **optional** package installation, it's +# possible to have no internet, yet have this packages module +# enabled in settings. +# +# You can skip the whole module when there is no internet +# by setting *skip_if_no_internet* to true. +# +# You can run a package-manager specific update procedure +# before installing packages (for instance, to update the +# list of packages and dependencies); this is done only if there +# is an internet connection. Set *update_db* to true to do so. +skip_if_no_internet: false update_db: true # From 3e3cd08ff355394f3638b8ca0ffeb45405a901b0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 2 Dec 2017 05:20:13 -0500 Subject: [PATCH 023/178] [packages] Fix previous (false vs False) --- src/modules/packages/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 49f3ea2ff..64560082d 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -426,7 +426,7 @@ def run(): else: return "Bad backend", "backend=\"{}\"".format(backend) - skip_this = libcalamares.job.configuration.get("skip_if_no_internet", false) + skip_this = libcalamares.job.configuration.get("skip_if_no_internet", False) if skip_this and not libcalamares.globalstorage.value("hasInternet"): cDebug() << "WARNING: packages installation has been skipped: no internet"; return None From 65a236cd6037e555b01689292efe0796bca1c4a3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 2 Dec 2017 06:14:17 -0500 Subject: [PATCH 024/178] [packages] Fix previous. This, kids, is why you don't switch writing C++ and Python too often. The C++ code isn't a syntax error in Python, although this would fail at runtime. --- src/modules/packages/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 64560082d..60ede34fa 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -428,7 +428,7 @@ def run(): skip_this = libcalamares.job.configuration.get("skip_if_no_internet", False) if skip_this and not libcalamares.globalstorage.value("hasInternet"): - cDebug() << "WARNING: packages installation has been skipped: no internet"; + libcalamares.utils.debug( "WARNING: packages installation has been skipped: no internet" ) return None update_db = libcalamares.job.configuration.get("update_db", False) From c8a6ebe404d76152ea48ea22d405fcc6459482ea Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 2 Dec 2017 06:43:12 -0500 Subject: [PATCH 025/178] Testing: expand the testmodule script. Do a better job determining what the arguments could mean; this supports lazy devlopers who don't want to pass in full paths to all kinds of things. Simple invocation can now be: testmodule.py - + to read .conf from src/modules// --- src/modules/testmodule.py | 67 ++++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 15 deletions(-) diff --git a/src/modules/testmodule.py b/src/modules/testmodule.py index a25c7bc5d..3d67826bd 100755 --- a/src/modules/testmodule.py +++ b/src/modules/testmodule.py @@ -19,14 +19,25 @@ # You should have received a copy of the GNU General Public License # along with Calamares. If not, see . """ -Testing tool to run a single Python module; optionally a -global configuration and module configuration can be read -from YAML files. Give a full path to the module-directory, -and also full paths to the configuration files. An empty -configuration file name, or "-" (a single dash) is used -to indicate that no file should be read -- useful to load -a module configuratioon file without a global configuration. +Testing tool to run a single Python module; optionally a global configuration +and module configuration can be read from YAML files. """ +argumentepilog = """ +moduledir may be a module name (e.g. "welcome") or a full path to the + module (e.g. "src/modules/welcome"). In the former case, an attempt + is made to find the module in several sensible places. +globalstorage_yaml may be given as a full path to a YAML file containing + the global configuration, or as "" or "-" which will leave the + global storage empty. +configuration_yaml may be given as a full path to a YAML file with the + module configuration, as "" or "-" to leave the configuration + empty, or as "+" to load the standard configuration from the + module-directory (e.g. welcome.conf if the welcome module is given). + +The simplest invocation to test a module, with its default configuration, is +to call this program as follows (for, e.g., the welcome module): + + testmodule.py welcome - +""" import argparse import os @@ -34,14 +45,15 @@ import sys import yaml +calamaresimporterror = ("Can not import libcalamares. Ensure the PYTHONPATH " + "environment variable includes the dir where libcalamares.so is " + "installed.") try: import libcalamares except ImportError: - print("Failed to import libcalamares. Make sure then PYTHONPATH " - "environment variable includes the dir where libcalamares.so is " - "installed.") + print(calamaresimporterror) print() - raise + libcalamares = None class Job: @@ -114,18 +126,37 @@ def test_module(moduledir, globalconfigfilename, moduleconfigfilename, lang): return 0 -def munge_filename(filename): +def munge_filename(filename, module=None): """ Maps files "" (empty) and "-" (just a dash) to None, to simplify processing elsewhere. """ if not filename or filename == "-": return None + if filename == "+" and module is not None: + d, name = os.path.split(module) + if d and not name: + # Ended in a / + d, name = os.path.split(module) + if name: + return os.path.join(module, name + ".conf") + return filename +def find_module(modulename): + if "/" in modulename: + return modulename + else: + for prefix in ("src/modules", "build/src/modules", "../src/modules"): + mp = os.path.join( prefix, modulename ) + if os.path.exists( mp ): + return mp + # Not found? Bail out elsewhere + return modulename + def main(): - parser = argparse.ArgumentParser(description=globals()["__doc__"]) + parser = argparse.ArgumentParser(description=globals()["__doc__"], epilog=argumentepilog, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument("moduledir", help="Dir containing the Python module.") parser.add_argument("globalstorage_yaml", nargs="?", @@ -136,9 +167,15 @@ def main(): help="Set translation language.") args = parser.parse_args() - return test_module(args.moduledir, + # If we get here, it wasn't a --help invocation, so complain + # if libcalamares wasn't found. + if not libcalamares: + parser.error(calamaresimporterror) + + moduledir = find_module(args.moduledir) + return test_module(moduledir, munge_filename(args.globalstorage_yaml), - munge_filename(args.configuration_yaml), + munge_filename(args.configuration_yaml, moduledir), args.lang) From 84c28e9efa595353dede17c2a0b8cfff3e171d83 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 2 Dec 2017 07:00:43 -0500 Subject: [PATCH 026/178] CMake: explain better why PythonQt isn't found --- CMakeModules/FindPythonQt.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CMakeModules/FindPythonQt.cmake b/CMakeModules/FindPythonQt.cmake index 8de40853f..f0f4b8a73 100644 --- a/CMakeModules/FindPythonQt.cmake +++ b/CMakeModules/FindPythonQt.cmake @@ -139,4 +139,16 @@ if(PYTHONQT_INCLUDE_DIR AND PYTHONQT_LIBRARY AND PYTHONQT_QTALL_LIBRARY) set(PYTHONQT_FOUND 1) set(PythonQt_FOUND ${PYTHONQT_FOUND}) set(PYTHONQT_LIBRARIES ${PYTHONQT_LIBRARY} ${PYTHONQT_LIBUTIL} ${PYTHONQT_QTALL_LIBRARY}) +elseif(NOT PythonQt_FIND_QUIETLY) + set(_missing "") + if (NOT PYTHONQT_INCLUDE_DIR) + list(APPEND _missing "includes") + endif() + if (NOT PYTHONQT_LIBRARY) + list(APPEND _missing "library") + endif() + if (NOT PYTHONQT_QTALL_LIBRARY) + list(APPEND _missing "qtall") + endif() + message(STATUS "PythonQt not found, missing components ${_missing}") endif() From 7cecfceaa7533e536939ff12ef37fecc02bab271 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 2 Dec 2017 19:47:34 +0000 Subject: [PATCH 027/178] add openrcdmcryptcfg module --- src/modules/openrcdmcryptcfg/main.py | 65 +++++++++++++++++++ src/modules/openrcdmcryptcfg/module.desc | 5 ++ .../openrcdmcryptcfg/openrcdmcryptcfg.conf | 2 + 3 files changed, 72 insertions(+) create mode 100644 src/modules/openrcdmcryptcfg/main.py create mode 100644 src/modules/openrcdmcryptcfg/module.desc create mode 100644 src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf diff --git a/src/modules/openrcdmcryptcfg/main.py b/src/modules/openrcdmcryptcfg/main.py new file mode 100644 index 000000000..785f2d03d --- /dev/null +++ b/src/modules/openrcdmcryptcfg/main.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# === This file is part of Calamares - === +# +# Copyright 2017, Ghiunhan Mamut +# +# Calamares is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Calamares is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Calamares. If not, see . + +import libcalamares +import os.path + +def write_dmcrypt_conf(partitions, root_mount_point, dmcrypt_conf_path): + crypto_target = "" + crypto_source = "" + + for partition in partitions: + has_luks = "luksMapperName" in partition + skip_partitions = partition["mountPoint"] == "/" or partition["fs"] == "linuxswap" + + if not has_luks and not skip_partitions: + libcalamares.utils.debug( + "Skip writing OpenRC LUKS configuration for partition {!s}".format(partition["mountPoint"])) + + if has_luks and not skip_partitions: + crypto_target = partition["luksMapperName"] + crypto_source = "/dev/disk/by-uuid/{!s}".format(partition["uuid"]) + libcalamares.utils.debug( + "Writing OpenRC LUKS configuration for partition {!s}".format(partition["mountPoint"])) + + with open(os.path.join(root_mount_point, dmcrypt_conf_path), 'a+') as dmcrypt_file: + dmcrypt_file.write("\ntarget=" + crypto_target) + dmcrypt_file.write("\nsource=" + crypto_source) + dmcrypt_file.write("\nkey=/crypto_keyfile.bin") + dmcrypt_file.write("\n") + + if has_luks and skip_partitions: + pass # root and swap partitions should be handled by initramfs generators + + return None + +def run(): + """ + This module configures OpenRC dmcrypt service for LUKS encrypted partitions. + :return: + """ + + root_mount_point = libcalamares.globalstorage.value("rootMountPoint") + dmcrypt_conf_path = libcalamares.job.configuration["configFilePath"] + partitions = libcalamares.globalstorage.value("partitions") + + dmcrypt_conf_path = dmcrypt_conf_path.lstrip('/') + + return write_dmcrypt_conf(partitions, root_mount_point, dmcrypt_conf_path) diff --git a/src/modules/openrcdmcryptcfg/module.desc b/src/modules/openrcdmcryptcfg/module.desc new file mode 100644 index 000000000..283adfdac --- /dev/null +++ b/src/modules/openrcdmcryptcfg/module.desc @@ -0,0 +1,5 @@ +--- +type: "job" +name: "openrcdmcryptcfg" +interface: "python" +script: "main.py" diff --git a/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf b/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf new file mode 100644 index 000000000..57ee2dc31 --- /dev/null +++ b/src/modules/openrcdmcryptcfg/openrcdmcryptcfg.conf @@ -0,0 +1,2 @@ +--- +configFilePath: /etc/conf.d/dmcrypt From 98d758b4bed05ad37dc7e33a840d7eb57bf6c095 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 07:08:54 -0500 Subject: [PATCH 028/178] [plasmalnf] Hammer out the most primitive UI --- src/modules/plasmalnf/CMakeLists.txt | 11 +- src/modules/plasmalnf/PlasmaLnfPage.cpp | 47 ++++++++ src/modules/plasmalnf/PlasmaLnfPage.h | 40 +++++++ src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 121 ++++++++++++++++++++ src/modules/plasmalnf/PlasmaLnfViewStep.h | 65 +++++++++++ src/modules/plasmalnf/page_plasmalnf.qrc | 1 + src/modules/plasmalnf/page_plasmalnf.ui | 50 ++++++++ src/modules/plasmalnf/plasmalnf.conf | 2 + 8 files changed, 332 insertions(+), 5 deletions(-) create mode 100644 src/modules/plasmalnf/PlasmaLnfPage.cpp create mode 100644 src/modules/plasmalnf/PlasmaLnfPage.h create mode 100644 src/modules/plasmalnf/PlasmaLnfViewStep.cpp create mode 100644 src/modules/plasmalnf/PlasmaLnfViewStep.h create mode 100644 src/modules/plasmalnf/page_plasmalnf.qrc create mode 100644 src/modules/plasmalnf/page_plasmalnf.ui create mode 100644 src/modules/plasmalnf/plasmalnf.conf diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index b78aac6b8..e3dee1c61 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -3,13 +3,14 @@ find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) find_package( KF5 5.29 REQUIRED CoreAddons Plasma Service ) calamares_add_plugin( plasmalnf - TYPE job + TYPE viewmodule EXPORT_MACRO PLUGINDLLEXPORT_PRO SOURCES - PlasmaLnfJob.cpp + PlasmaLnfViewStep.cpp + PlasmaLnfPage.cpp + UI + page_plasmalnf.ui LINK_PRIVATE_LIBRARIES - calamares - KF5::Plasma - KF5::Service + calamaresui SHARED_LIB ) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp new file mode 100644 index 000000000..d83a845bc --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -0,0 +1,47 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "PlasmaLnfPage.h" + +#include "ui_page_plasmalnf.h" + +#include "Branding.h" +#include "JobQueue.h" +#include "GlobalStorage.h" +#include "utils/Logger.h" +#include "utils/CalamaresUtilsGui.h" +#include "utils/Retranslator.h" +#include "ViewManager.h" + +#include +#include +#include + +PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) + : QWidget( parent ) + , ui( new Ui::PlasmaLnfPage ) +{ + using StringEntry = Calamares::Branding::StringEntry; + + ui->setupUi( this ); + CALAMARES_RETRANSLATE( + ui->retranslateUi( this ); + ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); + ) +} + diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h new file mode 100644 index 000000000..f7a17720a --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -0,0 +1,40 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNFPAGE_H +#define PLASMALNFPAGE_H + +#include +#include + +namespace Ui +{ +class PlasmaLnfPage; +} + +class PlasmaLnfPage : public QWidget +{ + Q_OBJECT +public: + explicit PlasmaLnfPage( QWidget* parent = nullptr ); + +private: + Ui::PlasmaLnfPage* ui; +}; + +#endif //PLASMALNFPAGE_H diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp new file mode 100644 index 000000000..eac93a6e1 --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -0,0 +1,121 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "JobQueue.h" +#include "GlobalStorage.h" +#include "utils/Logger.h" +#include "utils/CalamaresUtils.h" +#include "utils/CalamaresUtilsSystem.h" + +#include "PlasmaLnfJob.h" +#include "PlasmaLnfPage.h" +#include "PlasmaLnfViewStep.h" + +#include +#include + +CALAMARES_PLUGIN_FACTORY_DEFINITION( PlasmaLnfViewStepFactory, registerPlugin(); ) + +PlasmaLnfViewStep::PlasmaLnfViewStep( QObject* parent ) + : Calamares::ViewStep( parent ) + , m_widget( new PlasmaLnfPage ) +{ + emit nextStatusChanged( false ); +} + + +PlasmaLnfViewStep::~PlasmaLnfViewStep() +{ + if ( m_widget && m_widget->parent() == nullptr ) + m_widget->deleteLater(); +} + + +QString +PlasmaLnfViewStep::prettyName() const +{ + return tr( "Look-and-Feel" ); +} + + +QWidget* +PlasmaLnfViewStep::widget() +{ + return m_widget; +} + + +void +PlasmaLnfViewStep::next() +{ + emit done(); +} + + +void +PlasmaLnfViewStep::back() +{} + + +bool +PlasmaLnfViewStep::isNextEnabled() const +{ + return true; +} + + +bool +PlasmaLnfViewStep::isBackEnabled() const +{ + return true; +} + + +bool +PlasmaLnfViewStep::isAtBeginning() const +{ + return true; +} + + +bool +PlasmaLnfViewStep::isAtEnd() const +{ + return true; +} + + +void PlasmaLnfViewStep::onLeave() +{ +} + + +Calamares::JobList +PlasmaLnfViewStep::jobs() const +{ + Calamares::JobList l; + + cDebug() << "Creating Plasma LNF jobs .."; + return l; +} + + +void +PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) +{ +} diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h new file mode 100644 index 000000000..99a48b79c --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -0,0 +1,65 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNFVIEWSTEP_H +#define PLASMALNFVIEWSTEP_H + +#include +#include +#include + +#include +#include +#include + +class PlasmaLnfPage; + +class PLUGINDLLEXPORT PlasmaLnfViewStep : public Calamares::ViewStep +{ + Q_OBJECT + +public: + explicit PlasmaLnfViewStep( QObject* parent = nullptr ); + virtual ~PlasmaLnfViewStep() override; + + QString prettyName() const override; + + QWidget* widget() override; + + void next() override; + void back() override; + + bool isNextEnabled() const override; + bool isBackEnabled() const override; + + bool isAtBeginning() const override; + bool isAtEnd() const override; + + void onLeave() override; + + Calamares::JobList jobs() const override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; + +private: + PlasmaLnfPage* m_widget; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( PlasmaLnfViewStepFactory ) + +#endif // PLASMALNFVIEWSTEP_H diff --git a/src/modules/plasmalnf/page_plasmalnf.qrc b/src/modules/plasmalnf/page_plasmalnf.qrc new file mode 100644 index 000000000..7646d2b36 --- /dev/null +++ b/src/modules/plasmalnf/page_plasmalnf.qrc @@ -0,0 +1 @@ + diff --git a/src/modules/plasmalnf/page_plasmalnf.ui b/src/modules/plasmalnf/page_plasmalnf.ui new file mode 100644 index 000000000..dfb906c22 --- /dev/null +++ b/src/modules/plasmalnf/page_plasmalnf.ui @@ -0,0 +1,50 @@ + + + PlasmaLnfPage + + + + 0 + 0 + 799 + 400 + + + + Form + + + + + + margin-bottom: 1ex; +margin-left: 2em; + + + Placeholder + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf new file mode 100644 index 000000000..54fff14c1 --- /dev/null +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -0,0 +1,2 @@ +-- +# PlasmaLnf module has no configuration From 8c65ee54814e8c8e79f84087e1823d61e3d7bf93 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 08:48:41 -0500 Subject: [PATCH 029/178] [plasmalnf] Get available LNF - Implement various ways of getting the LNF; the process-based one uses a recent CLI-tool from the Plasma developers. - Fill the UI with (meaningless) LNF package IDs. --- src/modules/plasmalnf/CMakeLists.txt | 3 + src/modules/plasmalnf/PlasmaLnfInfo.cpp | 99 +++++++++++++++++++++++++ src/modules/plasmalnf/PlasmaLnfInfo.h | 33 +++++++++ src/modules/plasmalnf/PlasmaLnfPage.cpp | 4 + src/modules/plasmalnf/page_plasmalnf.ui | 5 +- 5 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 src/modules/plasmalnf/PlasmaLnfInfo.cpp create mode 100644 src/modules/plasmalnf/PlasmaLnfInfo.h diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index e3dee1c61..727c9e7df 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -8,9 +8,12 @@ calamares_add_plugin( plasmalnf SOURCES PlasmaLnfViewStep.cpp PlasmaLnfPage.cpp + PlasmaLnfInfo.cpp UI page_plasmalnf.ui LINK_PRIVATE_LIBRARIES calamaresui + KF5::Plasma + KF5::Service SHARED_LIB ) diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.cpp b/src/modules/plasmalnf/PlasmaLnfInfo.cpp new file mode 100644 index 000000000..420c57919 --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfInfo.cpp @@ -0,0 +1,99 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "PlasmaLnfInfo.h" + +#include +#include +#include +#include +#include + +#include +#include +#include // Future + +#include // TODO: port to KPluginLoader + +#include "utils/Logger.h" + + +namespace Calamares +{ + +QStringList themes_by_service() +{ + KService::List services; + KServiceTypeTrader* trader = KServiceTypeTrader::self(); + + cDebug() << "Plasma themes by service:"; + QStringList packages; + services = trader->query("Plasma/Theme"); + int c = 0; + for ( const auto s : services ) + { + cDebug() << " .. Plasma theme" << s->name(); + packages << s->name(); + c++; + } + + return packages; +} + +QStringList themes_by_kcm() +{ + QString component; + QList packages; + QStringList paths; + QStringList packageNames; + const QStringList dataPaths = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); + + for (const QString &path : dataPaths) { + QDir dir(path + "/plasma/look-and-feel"); + paths << dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); + } + + cDebug() << "Plasma themes by kcm:"; + for (const QString &path : paths) { + Plasma::Package pkg = Plasma::PluginLoader::self()->loadPackage(QStringLiteral("Plasma/LookAndFeel")); + pkg.setPath(path); + pkg.setFallbackPackage(Plasma::Package()); + if (component.isEmpty() || !pkg.filePath(component.toUtf8()).isEmpty()) { + packages << pkg; + packageNames << pkg.metadata().pluginName(); + cDebug() << " .. Plasma theme" << pkg.metadata().pluginName(); + } + } + + return packageNames; +} + +QStringList themes_by_lnftool() +{ + QStringList packages; + + QProcess lnftool; + lnftool.start( "lookandfeeltool", {"--list"} ); + if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) + { + packages = QString::fromLocal8Bit( lnftool.readAllStandardOutput() ).trimmed().split('\n'); + } + return packages; +} + +} // namespace Calamares diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.h b/src/modules/plasmalnf/PlasmaLnfInfo.h new file mode 100644 index 000000000..1ee2cd2ac --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfInfo.h @@ -0,0 +1,33 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNFINFO_H +#define PLASMALNFINFO_H + +#include + +namespace Calamares +{ + +QStringList themes_by_service(); +QStringList themes_by_kcm(); +QStringList themes_by_lnftool(); + +} + +#endif // PLASMALNFINFO_H diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index d83a845bc..eee9534c4 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -17,6 +17,7 @@ */ #include "PlasmaLnfPage.h" +#include "PlasmaLnfInfo.h" #include "ui_page_plasmalnf.h" @@ -43,5 +44,8 @@ PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) ui->retranslateUi( this ); ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); ) + + Calamares::themes_by_service(); + ui->lnfCombo->addItems( Calamares::themes_by_lnftool() ); } diff --git a/src/modules/plasmalnf/page_plasmalnf.ui b/src/modules/plasmalnf/page_plasmalnf.ui index dfb906c22..340527ad0 100644 --- a/src/modules/plasmalnf/page_plasmalnf.ui +++ b/src/modules/plasmalnf/page_plasmalnf.ui @@ -13,7 +13,7 @@ Form - + @@ -28,6 +28,9 @@ margin-left: 2em; + + + From 2d3defcca3ef8a9e82f373ebf00a60311380e4f9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 09:18:18 -0500 Subject: [PATCH 030/178] [plasmalnf] Hammer in theme-changing - Tool is currently a hard-coded path. --- src/modules/plasmalnf/CMakeLists.txt | 3 ++- src/modules/plasmalnf/PlasmaLnfInfo.cpp | 31 ++++++++++++++++++++++++- src/modules/plasmalnf/PlasmaLnfInfo.h | 4 ++++ src/modules/plasmalnf/PlasmaLnfPage.cpp | 20 ++++++++++++++-- src/modules/plasmalnf/PlasmaLnfPage.h | 3 +++ 5 files changed, 57 insertions(+), 4 deletions(-) diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index 727c9e7df..4eeb0f7af 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -1,6 +1,6 @@ find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) -find_package( KF5 5.29 REQUIRED CoreAddons Plasma Service ) +find_package( KF5 5.29 REQUIRED CoreAddons Plasma Service Package ) calamares_add_plugin( plasmalnf TYPE viewmodule @@ -13,6 +13,7 @@ calamares_add_plugin( plasmalnf page_plasmalnf.ui LINK_PRIVATE_LIBRARIES calamaresui + KF5::Package KF5::Plasma KF5::Service SHARED_LIB diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.cpp b/src/modules/plasmalnf/PlasmaLnfInfo.cpp index 420c57919..27655b841 100644 --- a/src/modules/plasmalnf/PlasmaLnfInfo.cpp +++ b/src/modules/plasmalnf/PlasmaLnfInfo.cpp @@ -29,6 +29,8 @@ #include // Future #include // TODO: port to KPluginLoader +#include +#include #include "utils/Logger.h" @@ -36,6 +38,20 @@ namespace Calamares { +QStringList themes_by_package() +{ + QStringList packages; + + QList pkgs = KPackage::PackageLoader::self()->listPackages("Plasma/LookAndFeel"); + + for (const KPluginMetaData &data : pkgs) { + packages << data.pluginId(); + } + + return packages; +} + + QStringList themes_by_service() { KService::List services; @@ -88,7 +104,7 @@ QStringList themes_by_lnftool() QStringList packages; QProcess lnftool; - lnftool.start( "lookandfeeltool", {"--list"} ); + lnftool.start( Calamares::lnftool(), {"--list"} ); if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) { packages = QString::fromLocal8Bit( lnftool.readAllStandardOutput() ).trimmed().split('\n'); @@ -96,4 +112,17 @@ QStringList themes_by_lnftool() return packages; } +QStringList plasma_themes() +{ + QStringList l( themes_by_package() ); + if (l.isEmpty()) + return themes_by_lnftool(); + return l; +} + +QString lnftool() +{ + return "/home/adridg/bin/lookandfeeltool"; +} + } // namespace Calamares diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.h b/src/modules/plasmalnf/PlasmaLnfInfo.h index 1ee2cd2ac..a35f8d1e6 100644 --- a/src/modules/plasmalnf/PlasmaLnfInfo.h +++ b/src/modules/plasmalnf/PlasmaLnfInfo.h @@ -23,11 +23,15 @@ namespace Calamares { +QString lnftool(); + /* Internal */ +QStringList themes_by_package(); QStringList themes_by_service(); QStringList themes_by_kcm(); QStringList themes_by_lnftool(); +QStringList plasma_themes(); } #endif // PLASMALNFINFO_H diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index eee9534c4..0d09026a2 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -32,6 +32,7 @@ #include #include #include +#include PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) : QWidget( parent ) @@ -45,7 +46,22 @@ PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); ) - Calamares::themes_by_service(); - ui->lnfCombo->addItems( Calamares::themes_by_lnftool() ); + Calamares::themes_by_package(); + ui->lnfCombo->addItems( Calamares::plasma_themes() ); + + QObject::connect(ui->lnfCombo, &QComboBox::activated, this, &PlasmaLnfPage::activated); } +void +PlasmaLnfPage::activated(const QString& name) +{ + cDebug() << "Changed to" << name; + + QProcess lnftool; + lnftool.start( Calamares::lnftool(), {"--apply", name} ); + + if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) + ; // OK + else + cDebug() << "WARNING: could not apply look-and-feel" << name; +} diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index f7a17720a..753911bbb 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -33,6 +33,9 @@ class PlasmaLnfPage : public QWidget public: explicit PlasmaLnfPage( QWidget* parent = nullptr ); +public slots: + void activated(const QString& name); + private: Ui::PlasmaLnfPage* ui; }; From 62623a23760a57e268c039a91b900c480caeb9ff Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 09:26:59 -0500 Subject: [PATCH 031/178] [plasmalnf] Make an actual job of setting the theme - Job doesn't actually run lookandfeeltool in the target system yet. --- src/modules/plasmalnf/CMakeLists.txt | 1 + src/modules/plasmalnf/PlasmaLnfJob.cpp | 53 +++------------------ src/modules/plasmalnf/PlasmaLnfJob.h | 18 +++---- src/modules/plasmalnf/PlasmaLnfPage.cpp | 3 ++ src/modules/plasmalnf/PlasmaLnfPage.h | 3 ++ src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 11 +++++ src/modules/plasmalnf/PlasmaLnfViewStep.h | 4 ++ 7 files changed, 35 insertions(+), 58 deletions(-) diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index 4eeb0f7af..9b3ccf716 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -8,6 +8,7 @@ calamares_add_plugin( plasmalnf SOURCES PlasmaLnfViewStep.cpp PlasmaLnfPage.cpp + PlasmaLnfJob.cpp PlasmaLnfInfo.cpp UI page_plasmalnf.ui diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 0aa7314cf..696995abe 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -36,8 +36,8 @@ #include "utils/Logger.h" -PlasmaLnfJob::PlasmaLnfJob( QObject* parent ) - : Calamares::CppJob( parent ) +PlasmaLnfJob::PlasmaLnfJob( const QString& id ) + : m_id(id) { } @@ -53,43 +53,15 @@ PlasmaLnfJob::prettyName() const return tr( "Plasma Look-and-Feel Job" ); } -static void _themes_by_service() +QString +PlasmaLnfJob::prettyDescription() const { - KService::List services; - KServiceTypeTrader* trader = KServiceTypeTrader::self(); - - services = trader->query("Plasma/Theme"); - int c = 0; - for ( const auto s : services ) - { - cDebug() << "Plasma theme '" << s->name() << '\''; - c++; - } - cDebug() << "Plasma themes by service found" << c; + return prettyName(); } -static void _themes_by_kcm() +QString PlasmaLnfJob::prettyStatusMessage() const { - QString component; - QList packages; - QStringList paths; - const QStringList dataPaths = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); - - for (const QString &path : dataPaths) { - QDir dir(path + "/plasma/look-and-feel"); - paths << dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); - } - - for (const QString &path : paths) { - Plasma::Package pkg = Plasma::PluginLoader::self()->loadPackage(QStringLiteral("Plasma/LookAndFeel")); - pkg.setPath(path); - pkg.setFallbackPackage(Plasma::Package()); - if (component.isEmpty() || !pkg.filePath(component.toUtf8()).isEmpty()) { - packages << pkg; - cDebug() << "Plasma theme '" << pkg.metadata().pluginName() << '\''; - } - } - cDebug() << "Plasma themes by kcm found" << packages.length(); + return prettyName(); } @@ -98,17 +70,6 @@ PlasmaLnfJob::exec() { cDebug() << "Plasma Look-and-Feel Job"; - _themes_by_service(); - _themes_by_kcm(); - return Calamares::JobResult::ok(); } - -void -PlasmaLnfJob::setConfigurationMap( const QVariantMap& configurationMap ) -{ - m_configurationMap = configurationMap; -} - -CALAMARES_PLUGIN_FACTORY_DEFINITION( PlasmaLnfJobFactory, registerPlugin(); ) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.h b/src/modules/plasmalnf/PlasmaLnfJob.h index db56d8be9..a9fa29282 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.h +++ b/src/modules/plasmalnf/PlasmaLnfJob.h @@ -22,30 +22,24 @@ #include #include -#include +#include -#include - -#include - -class PLUGINDLLEXPORT PlasmaLnfJob : public Calamares::CppJob +class PlasmaLnfJob : public Calamares::Job { Q_OBJECT public: - explicit PlasmaLnfJob( QObject* parent = nullptr ); + explicit PlasmaLnfJob( const QString& id ); virtual ~PlasmaLnfJob() override; QString prettyName() const override; + QString prettyDescription() const override; + QString prettyStatusMessage() const override; Calamares::JobResult exec() override; - void setConfigurationMap( const QVariantMap& configurationMap ) override; - private: - QVariantMap m_configurationMap; + QString m_id; }; -CALAMARES_PLUGIN_FACTORY_DECLARATION( PlasmaLnfJobFactory ) - #endif // PLASMALNFJOB_H diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 0d09026a2..4989bbbcd 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -64,4 +64,7 @@ PlasmaLnfPage::activated(const QString& name) ; // OK else cDebug() << "WARNING: could not apply look-and-feel" << name; + + + emit plasmaThemeSelected( name ); } diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index 753911bbb..ceed37044 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -36,6 +36,9 @@ public: public slots: void activated(const QString& name); +signals: + void plasmaThemeSelected( const QString &id ); + private: Ui::PlasmaLnfPage* ui; }; diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index eac93a6e1..0b824fc46 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -35,6 +35,7 @@ PlasmaLnfViewStep::PlasmaLnfViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new PlasmaLnfPage ) { + connect( m_widget, &PlasmaLnfPage::plasmaThemeSelected, this, &PlasmaLnfViewStep::themeSelected ); emit nextStatusChanged( false ); } @@ -111,6 +112,10 @@ PlasmaLnfViewStep::jobs() const Calamares::JobList l; cDebug() << "Creating Plasma LNF jobs .."; + if ( !m_themeId.isEmpty() ) + { + l.append( Calamares::job_ptr( new PlasmaLnfJob( m_themeId ) ) ); + } return l; } @@ -119,3 +124,9 @@ void PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { } + +void +PlasmaLnfViewStep::themeSelected( const QString& id ) +{ + m_themeId = id; +} diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h index 99a48b79c..cdc447b7e 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.h +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -56,8 +56,12 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; +public slots: + void themeSelected( const QString &id ); + private: PlasmaLnfPage* m_widget; + QString m_themeId; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PlasmaLnfViewStepFactory ) From b3d299bbf150e3b9cfbd1b73ae2be78c45abd4fc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 09:44:29 -0500 Subject: [PATCH 032/178] [plasmalnf] Replace hard-coded path with configurable one --- src/modules/plasmalnf/PlasmaLnfInfo.cpp | 14 +++++++++++++- src/modules/plasmalnf/PlasmaLnfInfo.h | 2 ++ src/modules/plasmalnf/PlasmaLnfJob.cpp | 5 +++-- src/modules/plasmalnf/PlasmaLnfJob.h | 3 ++- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 10 ++++++++-- src/modules/plasmalnf/PlasmaLnfViewStep.h | 1 + src/modules/plasmalnf/plasmalnf.conf | 6 ++++-- 7 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.cpp b/src/modules/plasmalnf/PlasmaLnfInfo.cpp index 27655b841..6e9249825 100644 --- a/src/modules/plasmalnf/PlasmaLnfInfo.cpp +++ b/src/modules/plasmalnf/PlasmaLnfInfo.cpp @@ -120,9 +120,21 @@ QStringList plasma_themes() return l; } +static QString *p_lnfPath = nullptr; + QString lnftool() { - return "/home/adridg/bin/lookandfeeltool"; + if ( !p_lnfPath ) + p_lnfPath = new QString("/usr/bin/lookandfeeltool"); + + return *p_lnfPath; +} + +void set_lnftool( const QString& lnfPath ) +{ + if (p_lnfPath) + delete p_lnfPath; + p_lnfPath = new QString( lnfPath ); } } // namespace Calamares diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.h b/src/modules/plasmalnf/PlasmaLnfInfo.h index a35f8d1e6..27adc224c 100644 --- a/src/modules/plasmalnf/PlasmaLnfInfo.h +++ b/src/modules/plasmalnf/PlasmaLnfInfo.h @@ -19,11 +19,13 @@ #ifndef PLASMALNFINFO_H #define PLASMALNFINFO_H +#include #include namespace Calamares { QString lnftool(); +void set_lnftool( const QString& ); /* Internal */ QStringList themes_by_package(); diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 696995abe..c98dc7587 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -36,8 +36,9 @@ #include "utils/Logger.h" -PlasmaLnfJob::PlasmaLnfJob( const QString& id ) - : m_id(id) +PlasmaLnfJob::PlasmaLnfJob( const QString& lnfPath, const QString& id ) + : m_lnfPath( lnfPath ) + , m_id(id) { } diff --git a/src/modules/plasmalnf/PlasmaLnfJob.h b/src/modules/plasmalnf/PlasmaLnfJob.h index a9fa29282..c7a7726ed 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.h +++ b/src/modules/plasmalnf/PlasmaLnfJob.h @@ -29,7 +29,7 @@ class PlasmaLnfJob : public Calamares::Job Q_OBJECT public: - explicit PlasmaLnfJob( const QString& id ); + explicit PlasmaLnfJob( const QString& lnfPath, const QString& id ); virtual ~PlasmaLnfJob() override; QString prettyName() const override; @@ -39,6 +39,7 @@ public: Calamares::JobResult exec() override; private: + QString m_lnfPath; QString m_id; }; diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index 0b824fc46..73f89091b 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -22,6 +22,7 @@ #include "utils/CalamaresUtils.h" #include "utils/CalamaresUtilsSystem.h" +#include "PlasmaLnfInfo.h" #include "PlasmaLnfJob.h" #include "PlasmaLnfPage.h" #include "PlasmaLnfViewStep.h" @@ -112,9 +113,9 @@ PlasmaLnfViewStep::jobs() const Calamares::JobList l; cDebug() << "Creating Plasma LNF jobs .."; - if ( !m_themeId.isEmpty() ) + if ( !m_themeId.isEmpty() && !m_lnfPath.isEmpty() ) { - l.append( Calamares::job_ptr( new PlasmaLnfJob( m_themeId ) ) ); + l.append( Calamares::job_ptr( new PlasmaLnfJob( m_lnfPath, m_themeId ) ) ); } return l; } @@ -123,6 +124,11 @@ PlasmaLnfViewStep::jobs() const void PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { + m_lnfPath = CalamaresUtils::getString( configurationMap, "lnftool" ); + Calamares::set_lnftool( m_lnfPath ); + + if (m_lnfPath.isEmpty()) + cDebug() << "WARNING: no lnftool given for plasmalnf module."; } void diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h index cdc447b7e..c2bcce2c0 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.h +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -61,6 +61,7 @@ public slots: private: PlasmaLnfPage* m_widget; + QString m_lnfPath; QString m_themeId; }; diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf index 54fff14c1..d9817ecbc 100644 --- a/src/modules/plasmalnf/plasmalnf.conf +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -1,2 +1,4 @@ --- -# PlasmaLnf module has no configuration +--- +# Full path to the Plasma look-and-feel tool (CLI program +# for querying and applying Plasma themes). +lnftool: "/usr/bin/lookandfeeltool" From 8a053f3c9b28c291e8bd2e934f97bb0ae741df4f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 10:09:00 -0500 Subject: [PATCH 033/178] [libcalamares] Allow retrieving chroot mode from system (as well as settings) --- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 6 ++++++ src/libcalamares/utils/CalamaresUtilsSystem.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index ca981459c..09f6e1f95 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -243,4 +243,10 @@ System::getTotalDiskB() const return 0; } +bool +System::doChroot() const +{ + return m_doChroot; +} + } // namespace diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index be2da28ae..a4160ccd2 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -170,6 +170,8 @@ public: */ DLLEXPORT quint64 getTotalDiskB() const; + DLLEXPORT bool doChroot() const; + private: static System* s_instance; From d3ef6b07d58254be5dc49676e61af750ae1a22f0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 10:22:46 -0500 Subject: [PATCH 034/178] [plasmalnf] Run the lnftool in the target (user|system) --- src/modules/plasmalnf/PlasmaLnfJob.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index c98dc7587..6c97e85e6 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -34,6 +34,7 @@ #include "JobQueue.h" #include "GlobalStorage.h" +#include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" PlasmaLnfJob::PlasmaLnfJob( const QString& lnfPath, const QString& id ) @@ -71,6 +72,24 @@ PlasmaLnfJob::exec() { cDebug() << "Plasma Look-and-Feel Job"; + int r = 0; + auto system = CalamaresUtils::System::instance(); + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + + if ( system->doChroot() ) + { + r = system->targetEnvCall( QStringList( { m_lnfPath, "-a", m_id } ) ); + } + else + { + r = system->targetEnvCall( QStringList( + { "sudo", "-u", gs->value("username").toString(), m_lnfPath, "-a", m_id } ) ); + } + + if (r) + return Calamares::JobResult::error( + tr( "Could not select KDE Plasma Look-and-Feel package" ), + tr( "Could not select KDE Plasma Look-and-Feel package" ) ); return Calamares::JobResult::ok(); } From 3bdfa63a799311d391098e4352245860a5766c81 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 10:38:32 -0500 Subject: [PATCH 035/178] [plasmalnf] Preserve environment, so that DISPLAY gets to the tool --- src/modules/plasmalnf/PlasmaLnfJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 6c97e85e6..a6df3e976 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -83,7 +83,7 @@ PlasmaLnfJob::exec() else { r = system->targetEnvCall( QStringList( - { "sudo", "-u", gs->value("username").toString(), m_lnfPath, "-a", m_id } ) ); + { "sudo", "-E", "-u", gs->value("username").toString(), m_lnfPath, "-a", m_id } ) ); } if (r) From 81128923e6efce2b206a20949505e59e2f1371d8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 10:56:39 -0500 Subject: [PATCH 036/178] [plasmalnf] Disable applying in the target (user|system) for now. --- src/modules/plasmalnf/PlasmaLnfJob.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index a6df3e976..56b50bf45 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -72,6 +72,7 @@ PlasmaLnfJob::exec() { cDebug() << "Plasma Look-and-Feel Job"; +#if 0 int r = 0; auto system = CalamaresUtils::System::instance(); Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); @@ -90,6 +91,7 @@ PlasmaLnfJob::exec() return Calamares::JobResult::error( tr( "Could not select KDE Plasma Look-and-Feel package" ), tr( "Could not select KDE Plasma Look-and-Feel package" ) ); +#endif return Calamares::JobResult::ok(); } From 7e5970324ffc941f3151590d9695439ee7b82d0e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 11:05:14 -0500 Subject: [PATCH 037/178] [plasmalnf] Reset layout along with theme --- src/modules/plasmalnf/PlasmaLnfJob.cpp | 2 +- src/modules/plasmalnf/PlasmaLnfPage.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 56b50bf45..9bc586719 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -79,7 +79,7 @@ PlasmaLnfJob::exec() if ( system->doChroot() ) { - r = system->targetEnvCall( QStringList( { m_lnfPath, "-a", m_id } ) ); + r = system->targetEnvCall( QStringList( { m_lnfPath, "--resetlayout", "--apply", m_id } ) ); } else { diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 4989bbbcd..cff182e99 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -58,7 +58,7 @@ PlasmaLnfPage::activated(const QString& name) cDebug() << "Changed to" << name; QProcess lnftool; - lnftool.start( Calamares::lnftool(), {"--apply", name} ); + lnftool.start( Calamares::lnftool(), {"--resetlayout", "--apply", name} ); if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) ; // OK From 388399f256b158634c7b7aed24955d4053a531f4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 12:42:44 -0500 Subject: [PATCH 038/178] [plasmalnf] Fix command-line options, run in target user environment --- src/modules/plasmalnf/PlasmaLnfJob.cpp | 20 ++++++++------------ src/modules/plasmalnf/PlasmaLnfPage.cpp | 2 +- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 9bc586719..e6a4fbe10 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -72,26 +72,22 @@ PlasmaLnfJob::exec() { cDebug() << "Plasma Look-and-Feel Job"; -#if 0 - int r = 0; auto system = CalamaresUtils::System::instance(); Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - if ( system->doChroot() ) - { - r = system->targetEnvCall( QStringList( { m_lnfPath, "--resetlayout", "--apply", m_id } ) ); - } - else - { - r = system->targetEnvCall( QStringList( - { "sudo", "-E", "-u", gs->value("username").toString(), m_lnfPath, "-a", m_id } ) ); - } + QStringList command; + if ( !system->doChroot() ) + command << "sudo" << "-E" << "-H" << "-u" << gs->value("username").toString(); + + command << m_lnfPath << "-platform" << "minimal" << "--resetLayout" << "--apply" << m_id; + + int r = system->targetEnvCall( command ); if (r) return Calamares::JobResult::error( tr( "Could not select KDE Plasma Look-and-Feel package" ), tr( "Could not select KDE Plasma Look-and-Feel package" ) ); -#endif + return Calamares::JobResult::ok(); } diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index cff182e99..632b9f13a 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -58,7 +58,7 @@ PlasmaLnfPage::activated(const QString& name) cDebug() << "Changed to" << name; QProcess lnftool; - lnftool.start( Calamares::lnftool(), {"--resetlayout", "--apply", name} ); + lnftool.start( Calamares::lnftool(), {"--resetLayout", "--apply", name} ); if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) ; // OK From 1f49f764a6328d557d623bc80ea4311e3eb3bd52 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 10:09:00 -0500 Subject: [PATCH 039/178] [libcalamares] Allow retrieving chroot mode from system (as well as settings) --- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 7 ++++++- src/libcalamares/utils/CalamaresUtilsSystem.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 656a57c10..1f910230d 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -256,5 +256,10 @@ System::getTotalMemoryB() #endif } - +bool +System::doChroot() const +{ + return m_doChroot; } + +} // namespace diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index 1ccdfb516..8eeff4ef9 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -114,6 +114,8 @@ public: */ DLLEXPORT QPair getTotalMemoryB(); + DLLEXPORT bool doChroot() const; + private: static System* s_instance; From cddc4699aa6b53e3a161d2aeb762a4d2ad660942 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 12:47:41 -0500 Subject: [PATCH 040/178] [plasmalnf] Import Plasma Look-and-Feel module independently --- src/modules/plasmalnf/CMakeLists.txt | 21 +++ src/modules/plasmalnf/PlasmaLnfInfo.cpp | 140 ++++++++++++++++++++ src/modules/plasmalnf/PlasmaLnfInfo.h | 39 ++++++ src/modules/plasmalnf/PlasmaLnfJob.cpp | 93 +++++++++++++ src/modules/plasmalnf/PlasmaLnfJob.h | 46 +++++++ src/modules/plasmalnf/PlasmaLnfPage.cpp | 70 ++++++++++ src/modules/plasmalnf/PlasmaLnfPage.h | 46 +++++++ src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 138 +++++++++++++++++++ src/modules/plasmalnf/PlasmaLnfViewStep.h | 70 ++++++++++ src/modules/plasmalnf/page_plasmalnf.qrc | 1 + src/modules/plasmalnf/page_plasmalnf.ui | 53 ++++++++ src/modules/plasmalnf/plasmalnf.conf | 4 + 12 files changed, 721 insertions(+) create mode 100644 src/modules/plasmalnf/CMakeLists.txt create mode 100644 src/modules/plasmalnf/PlasmaLnfInfo.cpp create mode 100644 src/modules/plasmalnf/PlasmaLnfInfo.h create mode 100644 src/modules/plasmalnf/PlasmaLnfJob.cpp create mode 100644 src/modules/plasmalnf/PlasmaLnfJob.h create mode 100644 src/modules/plasmalnf/PlasmaLnfPage.cpp create mode 100644 src/modules/plasmalnf/PlasmaLnfPage.h create mode 100644 src/modules/plasmalnf/PlasmaLnfViewStep.cpp create mode 100644 src/modules/plasmalnf/PlasmaLnfViewStep.h create mode 100644 src/modules/plasmalnf/page_plasmalnf.qrc create mode 100644 src/modules/plasmalnf/page_plasmalnf.ui create mode 100644 src/modules/plasmalnf/plasmalnf.conf diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt new file mode 100644 index 000000000..9b3ccf716 --- /dev/null +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -0,0 +1,21 @@ +find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) + +find_package( KF5 5.29 REQUIRED CoreAddons Plasma Service Package ) + +calamares_add_plugin( plasmalnf + TYPE viewmodule + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + PlasmaLnfViewStep.cpp + PlasmaLnfPage.cpp + PlasmaLnfJob.cpp + PlasmaLnfInfo.cpp + UI + page_plasmalnf.ui + LINK_PRIVATE_LIBRARIES + calamaresui + KF5::Package + KF5::Plasma + KF5::Service + SHARED_LIB +) diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.cpp b/src/modules/plasmalnf/PlasmaLnfInfo.cpp new file mode 100644 index 000000000..6e9249825 --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfInfo.cpp @@ -0,0 +1,140 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "PlasmaLnfInfo.h" + +#include +#include +#include +#include +#include + +#include +#include +#include // Future + +#include // TODO: port to KPluginLoader +#include +#include + +#include "utils/Logger.h" + + +namespace Calamares +{ + +QStringList themes_by_package() +{ + QStringList packages; + + QList pkgs = KPackage::PackageLoader::self()->listPackages("Plasma/LookAndFeel"); + + for (const KPluginMetaData &data : pkgs) { + packages << data.pluginId(); + } + + return packages; +} + + +QStringList themes_by_service() +{ + KService::List services; + KServiceTypeTrader* trader = KServiceTypeTrader::self(); + + cDebug() << "Plasma themes by service:"; + QStringList packages; + services = trader->query("Plasma/Theme"); + int c = 0; + for ( const auto s : services ) + { + cDebug() << " .. Plasma theme" << s->name(); + packages << s->name(); + c++; + } + + return packages; +} + +QStringList themes_by_kcm() +{ + QString component; + QList packages; + QStringList paths; + QStringList packageNames; + const QStringList dataPaths = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); + + for (const QString &path : dataPaths) { + QDir dir(path + "/plasma/look-and-feel"); + paths << dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); + } + + cDebug() << "Plasma themes by kcm:"; + for (const QString &path : paths) { + Plasma::Package pkg = Plasma::PluginLoader::self()->loadPackage(QStringLiteral("Plasma/LookAndFeel")); + pkg.setPath(path); + pkg.setFallbackPackage(Plasma::Package()); + if (component.isEmpty() || !pkg.filePath(component.toUtf8()).isEmpty()) { + packages << pkg; + packageNames << pkg.metadata().pluginName(); + cDebug() << " .. Plasma theme" << pkg.metadata().pluginName(); + } + } + + return packageNames; +} + +QStringList themes_by_lnftool() +{ + QStringList packages; + + QProcess lnftool; + lnftool.start( Calamares::lnftool(), {"--list"} ); + if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) + { + packages = QString::fromLocal8Bit( lnftool.readAllStandardOutput() ).trimmed().split('\n'); + } + return packages; +} + +QStringList plasma_themes() +{ + QStringList l( themes_by_package() ); + if (l.isEmpty()) + return themes_by_lnftool(); + return l; +} + +static QString *p_lnfPath = nullptr; + +QString lnftool() +{ + if ( !p_lnfPath ) + p_lnfPath = new QString("/usr/bin/lookandfeeltool"); + + return *p_lnfPath; +} + +void set_lnftool( const QString& lnfPath ) +{ + if (p_lnfPath) + delete p_lnfPath; + p_lnfPath = new QString( lnfPath ); +} + +} // namespace Calamares diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.h b/src/modules/plasmalnf/PlasmaLnfInfo.h new file mode 100644 index 000000000..27adc224c --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfInfo.h @@ -0,0 +1,39 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNFINFO_H +#define PLASMALNFINFO_H + +#include +#include + +namespace Calamares +{ +QString lnftool(); +void set_lnftool( const QString& ); + + /* Internal */ +QStringList themes_by_package(); +QStringList themes_by_service(); +QStringList themes_by_kcm(); +QStringList themes_by_lnftool(); + +QStringList plasma_themes(); +} + +#endif // PLASMALNFINFO_H diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp new file mode 100644 index 000000000..e6a4fbe10 --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -0,0 +1,93 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "PlasmaLnfJob.h" + +#include +#include +#include +#include +#include + +#include +#include +#include // Future + +#include // TODO: port to KPluginLoader + +#include "CalamaresVersion.h" +#include "JobQueue.h" +#include "GlobalStorage.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" + +PlasmaLnfJob::PlasmaLnfJob( const QString& lnfPath, const QString& id ) + : m_lnfPath( lnfPath ) + , m_id(id) +{ +} + + +PlasmaLnfJob::~PlasmaLnfJob() +{ +} + + +QString +PlasmaLnfJob::prettyName() const +{ + return tr( "Plasma Look-and-Feel Job" ); +} + +QString +PlasmaLnfJob::prettyDescription() const +{ + return prettyName(); +} + +QString PlasmaLnfJob::prettyStatusMessage() const +{ + return prettyName(); +} + + +Calamares::JobResult +PlasmaLnfJob::exec() +{ + cDebug() << "Plasma Look-and-Feel Job"; + + auto system = CalamaresUtils::System::instance(); + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + + QStringList command; + + if ( !system->doChroot() ) + command << "sudo" << "-E" << "-H" << "-u" << gs->value("username").toString(); + + command << m_lnfPath << "-platform" << "minimal" << "--resetLayout" << "--apply" << m_id; + + int r = system->targetEnvCall( command ); + if (r) + return Calamares::JobResult::error( + tr( "Could not select KDE Plasma Look-and-Feel package" ), + tr( "Could not select KDE Plasma Look-and-Feel package" ) ); + + return Calamares::JobResult::ok(); +} + diff --git a/src/modules/plasmalnf/PlasmaLnfJob.h b/src/modules/plasmalnf/PlasmaLnfJob.h new file mode 100644 index 000000000..c7a7726ed --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfJob.h @@ -0,0 +1,46 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNFJOB_H +#define PLASMALNFJOB_H + +#include +#include + +#include + +class PlasmaLnfJob : public Calamares::Job +{ + Q_OBJECT + +public: + explicit PlasmaLnfJob( const QString& lnfPath, const QString& id ); + virtual ~PlasmaLnfJob() override; + + QString prettyName() const override; + QString prettyDescription() const override; + QString prettyStatusMessage() const override; + + Calamares::JobResult exec() override; + +private: + QString m_lnfPath; + QString m_id; +}; + +#endif // PLASMALNFJOB_H diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp new file mode 100644 index 000000000..632b9f13a --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -0,0 +1,70 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "PlasmaLnfPage.h" +#include "PlasmaLnfInfo.h" + +#include "ui_page_plasmalnf.h" + +#include "Branding.h" +#include "JobQueue.h" +#include "GlobalStorage.h" +#include "utils/Logger.h" +#include "utils/CalamaresUtilsGui.h" +#include "utils/Retranslator.h" +#include "ViewManager.h" + +#include +#include +#include +#include + +PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) + : QWidget( parent ) + , ui( new Ui::PlasmaLnfPage ) +{ + using StringEntry = Calamares::Branding::StringEntry; + + ui->setupUi( this ); + CALAMARES_RETRANSLATE( + ui->retranslateUi( this ); + ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); + ) + + Calamares::themes_by_package(); + ui->lnfCombo->addItems( Calamares::plasma_themes() ); + + QObject::connect(ui->lnfCombo, &QComboBox::activated, this, &PlasmaLnfPage::activated); +} + +void +PlasmaLnfPage::activated(const QString& name) +{ + cDebug() << "Changed to" << name; + + QProcess lnftool; + lnftool.start( Calamares::lnftool(), {"--resetLayout", "--apply", name} ); + + if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) + ; // OK + else + cDebug() << "WARNING: could not apply look-and-feel" << name; + + + emit plasmaThemeSelected( name ); +} diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h new file mode 100644 index 000000000..ceed37044 --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -0,0 +1,46 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNFPAGE_H +#define PLASMALNFPAGE_H + +#include +#include + +namespace Ui +{ +class PlasmaLnfPage; +} + +class PlasmaLnfPage : public QWidget +{ + Q_OBJECT +public: + explicit PlasmaLnfPage( QWidget* parent = nullptr ); + +public slots: + void activated(const QString& name); + +signals: + void plasmaThemeSelected( const QString &id ); + +private: + Ui::PlasmaLnfPage* ui; +}; + +#endif //PLASMALNFPAGE_H diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp new file mode 100644 index 000000000..73f89091b --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -0,0 +1,138 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "JobQueue.h" +#include "GlobalStorage.h" +#include "utils/Logger.h" +#include "utils/CalamaresUtils.h" +#include "utils/CalamaresUtilsSystem.h" + +#include "PlasmaLnfInfo.h" +#include "PlasmaLnfJob.h" +#include "PlasmaLnfPage.h" +#include "PlasmaLnfViewStep.h" + +#include +#include + +CALAMARES_PLUGIN_FACTORY_DEFINITION( PlasmaLnfViewStepFactory, registerPlugin(); ) + +PlasmaLnfViewStep::PlasmaLnfViewStep( QObject* parent ) + : Calamares::ViewStep( parent ) + , m_widget( new PlasmaLnfPage ) +{ + connect( m_widget, &PlasmaLnfPage::plasmaThemeSelected, this, &PlasmaLnfViewStep::themeSelected ); + emit nextStatusChanged( false ); +} + + +PlasmaLnfViewStep::~PlasmaLnfViewStep() +{ + if ( m_widget && m_widget->parent() == nullptr ) + m_widget->deleteLater(); +} + + +QString +PlasmaLnfViewStep::prettyName() const +{ + return tr( "Look-and-Feel" ); +} + + +QWidget* +PlasmaLnfViewStep::widget() +{ + return m_widget; +} + + +void +PlasmaLnfViewStep::next() +{ + emit done(); +} + + +void +PlasmaLnfViewStep::back() +{} + + +bool +PlasmaLnfViewStep::isNextEnabled() const +{ + return true; +} + + +bool +PlasmaLnfViewStep::isBackEnabled() const +{ + return true; +} + + +bool +PlasmaLnfViewStep::isAtBeginning() const +{ + return true; +} + + +bool +PlasmaLnfViewStep::isAtEnd() const +{ + return true; +} + + +void PlasmaLnfViewStep::onLeave() +{ +} + + +Calamares::JobList +PlasmaLnfViewStep::jobs() const +{ + Calamares::JobList l; + + cDebug() << "Creating Plasma LNF jobs .."; + if ( !m_themeId.isEmpty() && !m_lnfPath.isEmpty() ) + { + l.append( Calamares::job_ptr( new PlasmaLnfJob( m_lnfPath, m_themeId ) ) ); + } + return l; +} + + +void +PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) +{ + m_lnfPath = CalamaresUtils::getString( configurationMap, "lnftool" ); + Calamares::set_lnftool( m_lnfPath ); + + if (m_lnfPath.isEmpty()) + cDebug() << "WARNING: no lnftool given for plasmalnf module."; +} + +void +PlasmaLnfViewStep::themeSelected( const QString& id ) +{ + m_themeId = id; +} diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h new file mode 100644 index 000000000..c2bcce2c0 --- /dev/null +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -0,0 +1,70 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNFVIEWSTEP_H +#define PLASMALNFVIEWSTEP_H + +#include +#include +#include + +#include +#include +#include + +class PlasmaLnfPage; + +class PLUGINDLLEXPORT PlasmaLnfViewStep : public Calamares::ViewStep +{ + Q_OBJECT + +public: + explicit PlasmaLnfViewStep( QObject* parent = nullptr ); + virtual ~PlasmaLnfViewStep() override; + + QString prettyName() const override; + + QWidget* widget() override; + + void next() override; + void back() override; + + bool isNextEnabled() const override; + bool isBackEnabled() const override; + + bool isAtBeginning() const override; + bool isAtEnd() const override; + + void onLeave() override; + + Calamares::JobList jobs() const override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; + +public slots: + void themeSelected( const QString &id ); + +private: + PlasmaLnfPage* m_widget; + QString m_lnfPath; + QString m_themeId; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( PlasmaLnfViewStepFactory ) + +#endif // PLASMALNFVIEWSTEP_H diff --git a/src/modules/plasmalnf/page_plasmalnf.qrc b/src/modules/plasmalnf/page_plasmalnf.qrc new file mode 100644 index 000000000..7646d2b36 --- /dev/null +++ b/src/modules/plasmalnf/page_plasmalnf.qrc @@ -0,0 +1 @@ + diff --git a/src/modules/plasmalnf/page_plasmalnf.ui b/src/modules/plasmalnf/page_plasmalnf.ui new file mode 100644 index 000000000..340527ad0 --- /dev/null +++ b/src/modules/plasmalnf/page_plasmalnf.ui @@ -0,0 +1,53 @@ + + + PlasmaLnfPage + + + + 0 + 0 + 799 + 400 + + + + Form + + + + + + margin-bottom: 1ex; +margin-left: 2em; + + + Placeholder + + + true + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf new file mode 100644 index 000000000..d9817ecbc --- /dev/null +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -0,0 +1,4 @@ +--- +# Full path to the Plasma look-and-feel tool (CLI program +# for querying and applying Plasma themes). +lnftool: "/usr/bin/lookandfeeltool" From 3a94f02547b2b39884680ac7e185ddab489a03f7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 31 Oct 2017 08:25:57 -0400 Subject: [PATCH 041/178] CMake: look for ECM at top-level, add to search path if found. --- CMakeLists.txt | 10 ++++++++++ src/modules/interactiveterminal/CMakeLists.txt | 3 +-- src/modules/partition/CMakeLists.txt | 3 +-- src/modules/users/CMakeLists.txt | 3 +-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dce53b416..ad579be2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -114,6 +114,16 @@ find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core Gui Widgets LinguistTools S find_package( YAMLCPP 0.5.1 REQUIRED ) find_package( PolkitQt5-1 REQUIRED ) +# Find ECM once, and add it to the module search path; Calamares +# modules that need ECM can do +# find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE), +# no need to mess with the module path after. +set( ECM_VERSION 5.10.0 ) +find_package(ECM ${ECM_VERSION} NO_MODULE) +if( ECM_FOUND ) + set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) +endif() + option( INSTALL_CONFIG "Install configuration files" ON ) option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON ) option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF ) diff --git a/src/modules/interactiveterminal/CMakeLists.txt b/src/modules/interactiveterminal/CMakeLists.txt index 7b35fae0d..71f6bae14 100644 --- a/src/modules/interactiveterminal/CMakeLists.txt +++ b/src/modules/interactiveterminal/CMakeLists.txt @@ -1,5 +1,4 @@ -find_package(ECM 5.10.0 REQUIRED NO_MODULE) -set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) +find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) include(KDEInstallDirs) include(GenerateExportHeader) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index ee96c4275..c58eb1d69 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -1,5 +1,4 @@ -find_package(ECM 5.10.0 REQUIRED NO_MODULE) -set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) +find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) include(KDEInstallDirs) include(GenerateExportHeader) diff --git a/src/modules/users/CMakeLists.txt b/src/modules/users/CMakeLists.txt index 074118d54..ebff9df8c 100644 --- a/src/modules/users/CMakeLists.txt +++ b/src/modules/users/CMakeLists.txt @@ -1,6 +1,5 @@ -find_package(ECM 5.10.0 NO_MODULE) +find_package(ECM ${ECM_VERSION} NO_MODULE) if( ECM_FOUND ) - set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) include( ECMAddTests ) endif() From ac92d4911d4f52add6ccd40710653ccecf5116f2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 12:58:54 -0500 Subject: [PATCH 042/178] Compatibility: revert conveniences from master --- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 9 ++++++--- src/modules/plasmalnf/PlasmaLnfViewStep.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index 73f89091b..1beb71d2e 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -107,10 +107,10 @@ void PlasmaLnfViewStep::onLeave() } -Calamares::JobList +QList PlasmaLnfViewStep::jobs() const { - Calamares::JobList l; + QList l; cDebug() << "Creating Plasma LNF jobs .."; if ( !m_themeId.isEmpty() && !m_lnfPath.isEmpty() ) @@ -124,7 +124,10 @@ PlasmaLnfViewStep::jobs() const void PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { - m_lnfPath = CalamaresUtils::getString( configurationMap, "lnftool" ); + QString lnfPath; + if ( configurationMap.contains( "lnftool" ) && configurationMap.value( "lnftool" ).type() == QVariant::String ) + lnfPath = configurationMap.value( "lnftool" ).toString(); + m_lnfPath = lnfPath; Calamares::set_lnftool( m_lnfPath ); if (m_lnfPath.isEmpty()) diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h index c2bcce2c0..4d2598ccc 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.h +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -52,7 +52,7 @@ public: void onLeave() override; - Calamares::JobList jobs() const override; + QList jobs() const override; void setConfigurationMap( const QVariantMap& configurationMap ) override; From 4e2e55a93503faefc304ab2676db341f132e3766 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 15:24:39 -0500 Subject: [PATCH 043/178] [plasmalnf] Needs to run as target user in all cases --- src/modules/plasmalnf/PlasmaLnfJob.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index e6a4fbe10..a06716a89 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -75,12 +75,9 @@ PlasmaLnfJob::exec() auto system = CalamaresUtils::System::instance(); Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - QStringList command; - - if ( !system->doChroot() ) - command << "sudo" << "-E" << "-H" << "-u" << gs->value("username").toString(); - - command << m_lnfPath << "-platform" << "minimal" << "--resetLayout" << "--apply" << m_id; + QStringList command( { + "sudo", "-E", "-H", "-u", gs->value("username").toString(), + m_lnfPath, "-platform", "minimal", "--resetLayout", "--apply", m_id } ); int r = system->targetEnvCall( command ); if (r) From fe8ff3ab05d8fd9ae3c85a931d7313514f9d55c7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 15:34:06 -0500 Subject: [PATCH 044/178] [plasmalnf] Simplify code, remove redundant implementations --- src/modules/plasmalnf/CMakeLists.txt | 3 +- src/modules/plasmalnf/PlasmaLnfInfo.cpp | 82 ------------------------- src/modules/plasmalnf/PlasmaLnfInfo.h | 8 --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 20 +++++- 4 files changed, 19 insertions(+), 94 deletions(-) diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index 9b3ccf716..1bbc555c8 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -1,6 +1,6 @@ find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) -find_package( KF5 5.29 REQUIRED CoreAddons Plasma Service Package ) +find_package( KF5 5.29 REQUIRED CoreAddons Plasma Package ) calamares_add_plugin( plasmalnf TYPE viewmodule @@ -16,6 +16,5 @@ calamares_add_plugin( plasmalnf calamaresui KF5::Package KF5::Plasma - KF5::Service SHARED_LIB ) diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.cpp b/src/modules/plasmalnf/PlasmaLnfInfo.cpp index 6e9249825..1112ee18a 100644 --- a/src/modules/plasmalnf/PlasmaLnfInfo.cpp +++ b/src/modules/plasmalnf/PlasmaLnfInfo.cpp @@ -38,88 +38,6 @@ namespace Calamares { -QStringList themes_by_package() -{ - QStringList packages; - - QList pkgs = KPackage::PackageLoader::self()->listPackages("Plasma/LookAndFeel"); - - for (const KPluginMetaData &data : pkgs) { - packages << data.pluginId(); - } - - return packages; -} - - -QStringList themes_by_service() -{ - KService::List services; - KServiceTypeTrader* trader = KServiceTypeTrader::self(); - - cDebug() << "Plasma themes by service:"; - QStringList packages; - services = trader->query("Plasma/Theme"); - int c = 0; - for ( const auto s : services ) - { - cDebug() << " .. Plasma theme" << s->name(); - packages << s->name(); - c++; - } - - return packages; -} - -QStringList themes_by_kcm() -{ - QString component; - QList packages; - QStringList paths; - QStringList packageNames; - const QStringList dataPaths = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); - - for (const QString &path : dataPaths) { - QDir dir(path + "/plasma/look-and-feel"); - paths << dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); - } - - cDebug() << "Plasma themes by kcm:"; - for (const QString &path : paths) { - Plasma::Package pkg = Plasma::PluginLoader::self()->loadPackage(QStringLiteral("Plasma/LookAndFeel")); - pkg.setPath(path); - pkg.setFallbackPackage(Plasma::Package()); - if (component.isEmpty() || !pkg.filePath(component.toUtf8()).isEmpty()) { - packages << pkg; - packageNames << pkg.metadata().pluginName(); - cDebug() << " .. Plasma theme" << pkg.metadata().pluginName(); - } - } - - return packageNames; -} - -QStringList themes_by_lnftool() -{ - QStringList packages; - - QProcess lnftool; - lnftool.start( Calamares::lnftool(), {"--list"} ); - if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) - { - packages = QString::fromLocal8Bit( lnftool.readAllStandardOutput() ).trimmed().split('\n'); - } - return packages; -} - -QStringList plasma_themes() -{ - QStringList l( themes_by_package() ); - if (l.isEmpty()) - return themes_by_lnftool(); - return l; -} - static QString *p_lnfPath = nullptr; QString lnftool() diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.h b/src/modules/plasmalnf/PlasmaLnfInfo.h index 27adc224c..f1ed43b72 100644 --- a/src/modules/plasmalnf/PlasmaLnfInfo.h +++ b/src/modules/plasmalnf/PlasmaLnfInfo.h @@ -26,14 +26,6 @@ namespace Calamares { QString lnftool(); void set_lnftool( const QString& ); - - /* Internal */ -QStringList themes_by_package(); -QStringList themes_by_service(); -QStringList themes_by_kcm(); -QStringList themes_by_lnftool(); - -QStringList plasma_themes(); } #endif // PLASMALNFINFO_H diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 632b9f13a..5a94ac789 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -29,11 +29,28 @@ #include "utils/Retranslator.h" #include "ViewManager.h" +#include +#include + #include #include #include #include +static QStringList plasma_themes() +{ + QStringList packages; + + QList pkgs = KPackage::PackageLoader::self()->listPackages("Plasma/LookAndFeel"); + + for (const KPluginMetaData &data : pkgs) { + packages << data.pluginId(); + } + + return packages; +} + + PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) : QWidget( parent ) , ui( new Ui::PlasmaLnfPage ) @@ -46,8 +63,7 @@ PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); ) - Calamares::themes_by_package(); - ui->lnfCombo->addItems( Calamares::plasma_themes() ); + ui->lnfCombo->addItems( plasma_themes() ); QObject::connect(ui->lnfCombo, &QComboBox::activated, this, &PlasmaLnfPage::activated); } From 1de2e94fd098e12908411eb19af611e65b199e46 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 15:41:52 -0500 Subject: [PATCH 045/178] [plasmalnf] Simplify code, reduce copies of lnftool setting --- src/modules/plasmalnf/CMakeLists.txt | 1 - src/modules/plasmalnf/PlasmaLnfInfo.cpp | 58 --------------------- src/modules/plasmalnf/PlasmaLnfInfo.h | 31 ----------- src/modules/plasmalnf/PlasmaLnfPage.cpp | 9 +++- src/modules/plasmalnf/PlasmaLnfPage.h | 3 ++ src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 3 +- 6 files changed, 11 insertions(+), 94 deletions(-) delete mode 100644 src/modules/plasmalnf/PlasmaLnfInfo.cpp delete mode 100644 src/modules/plasmalnf/PlasmaLnfInfo.h diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index 1bbc555c8..61b44862f 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -9,7 +9,6 @@ calamares_add_plugin( plasmalnf PlasmaLnfViewStep.cpp PlasmaLnfPage.cpp PlasmaLnfJob.cpp - PlasmaLnfInfo.cpp UI page_plasmalnf.ui LINK_PRIVATE_LIBRARIES diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.cpp b/src/modules/plasmalnf/PlasmaLnfInfo.cpp deleted file mode 100644 index 1112ee18a..000000000 --- a/src/modules/plasmalnf/PlasmaLnfInfo.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2017, Adriaan de Groot - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#include "PlasmaLnfInfo.h" - -#include -#include -#include -#include -#include - -#include -#include -#include // Future - -#include // TODO: port to KPluginLoader -#include -#include - -#include "utils/Logger.h" - - -namespace Calamares -{ - -static QString *p_lnfPath = nullptr; - -QString lnftool() -{ - if ( !p_lnfPath ) - p_lnfPath = new QString("/usr/bin/lookandfeeltool"); - - return *p_lnfPath; -} - -void set_lnftool( const QString& lnfPath ) -{ - if (p_lnfPath) - delete p_lnfPath; - p_lnfPath = new QString( lnfPath ); -} - -} // namespace Calamares diff --git a/src/modules/plasmalnf/PlasmaLnfInfo.h b/src/modules/plasmalnf/PlasmaLnfInfo.h deleted file mode 100644 index f1ed43b72..000000000 --- a/src/modules/plasmalnf/PlasmaLnfInfo.h +++ /dev/null @@ -1,31 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2017, Adriaan de Groot - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#ifndef PLASMALNFINFO_H -#define PLASMALNFINFO_H - -#include -#include - -namespace Calamares -{ -QString lnftool(); -void set_lnftool( const QString& ); -} - -#endif // PLASMALNFINFO_H diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 5a94ac789..65675949f 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -17,7 +17,6 @@ */ #include "PlasmaLnfPage.h" -#include "PlasmaLnfInfo.h" #include "ui_page_plasmalnf.h" @@ -74,7 +73,7 @@ PlasmaLnfPage::activated(const QString& name) cDebug() << "Changed to" << name; QProcess lnftool; - lnftool.start( Calamares::lnftool(), {"--resetLayout", "--apply", name} ); + lnftool.start( m_lnfPath, {"--resetLayout", "--apply", name} ); if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) ; // OK @@ -84,3 +83,9 @@ PlasmaLnfPage::activated(const QString& name) emit plasmaThemeSelected( name ); } + +void +PlasmaLnfPage::setLnfPath(const QString& path) +{ + m_lnfPath = path; +} diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index ceed37044..d146cbb95 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -33,6 +33,8 @@ class PlasmaLnfPage : public QWidget public: explicit PlasmaLnfPage( QWidget* parent = nullptr ); + void setLnfPath( const QString& path ); + public slots: void activated(const QString& name); @@ -41,6 +43,7 @@ signals: private: Ui::PlasmaLnfPage* ui; + QString m_lnfPath; }; #endif //PLASMALNFPAGE_H diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index 1beb71d2e..f754c82fe 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -22,7 +22,6 @@ #include "utils/CalamaresUtils.h" #include "utils/CalamaresUtilsSystem.h" -#include "PlasmaLnfInfo.h" #include "PlasmaLnfJob.h" #include "PlasmaLnfPage.h" #include "PlasmaLnfViewStep.h" @@ -128,7 +127,7 @@ PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) if ( configurationMap.contains( "lnftool" ) && configurationMap.value( "lnftool" ).type() == QVariant::String ) lnfPath = configurationMap.value( "lnftool" ).toString(); m_lnfPath = lnfPath; - Calamares::set_lnftool( m_lnfPath ); + m_widget->setLnfPath( m_lnfPath ); if (m_lnfPath.isEmpty()) cDebug() << "WARNING: no lnftool given for plasmalnf module."; From 71966b533052344bd61d6f3513cb4f07c0952199 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 3 Dec 2017 16:09:34 -0500 Subject: [PATCH 046/178] [plasmalnf] Wait longer for the tool to finish --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 65675949f..14d8e9e36 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -75,13 +75,21 @@ PlasmaLnfPage::activated(const QString& name) QProcess lnftool; lnftool.start( m_lnfPath, {"--resetLayout", "--apply", name} ); - if ( lnftool.waitForStarted(1000) && lnftool.waitForFinished( 1000 ) && (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) - ; // OK + if ( !lnftool.waitForStarted( 1000 ) ) + { + cDebug() << "WARNING: could not start look-and-feel" << m_lnfPath; + return; + } + if ( !lnftool.waitForFinished() ) + { + cDebug() << "WARNING:" << m_lnfPath << "timed out."; + return; + } + + if ( (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) + emit plasmaThemeSelected( name ); else cDebug() << "WARNING: could not apply look-and-feel" << name; - - - emit plasmaThemeSelected( name ); } void From eb92755b0a418cfaa3b8386145a419efe95d7c55 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Dec 2017 06:40:13 -0500 Subject: [PATCH 047/178] [plasmalnf] Enable translations - Move tool-running to the view-step - Enable translations by showing name instead of theme-id - More verbose logging --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 41 +++++++++------------ src/modules/plasmalnf/PlasmaLnfPage.h | 13 ++++++- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 20 ++++++++++ 3 files changed, 49 insertions(+), 25 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 14d8e9e36..1ea20a75e 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -34,16 +34,19 @@ #include #include #include -#include -static QStringList plasma_themes() +static PlasmaLnfList plasma_themes() { - QStringList packages; + PlasmaLnfList packages; QList pkgs = KPackage::PackageLoader::self()->listPackages("Plasma/LookAndFeel"); for (const KPluginMetaData &data : pkgs) { - packages << data.pluginId(); + packages << PlasmaLnfDescriptor{ data.pluginId(), data.name() }; + cDebug() << "LNF Package" << data.pluginId(); + cDebug() << " .." << data.name(); + cDebug() << " .." << data.description(); + cDebug() << " .." << 'V' << data.isValid() << 'H' << data.isHidden() << 'D' << data.isEnabledByDefault(); } return packages; @@ -60,36 +63,28 @@ PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) CALAMARES_RETRANSLATE( ui->retranslateUi( this ); ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); + m_availableLnf = plasma_themes(); + ui->lnfCombo->clear(); + for ( const auto& p : m_availableLnf ) + ui->lnfCombo->addItem( p.name ); ) - ui->lnfCombo->addItems( plasma_themes() ); - QObject::connect(ui->lnfCombo, &QComboBox::activated, this, &PlasmaLnfPage::activated); + QObject::connect(ui->lnfCombo, &QComboBox::activated, this, &PlasmaLnfPage::activated); } void -PlasmaLnfPage::activated(const QString& name) +PlasmaLnfPage::activated( int index ) { - cDebug() << "Changed to" << name; - - QProcess lnftool; - lnftool.start( m_lnfPath, {"--resetLayout", "--apply", name} ); - - if ( !lnftool.waitForStarted( 1000 ) ) + if ( (index < 0) || (index > m_availableLnf.length()) ) { - cDebug() << "WARNING: could not start look-and-feel" << m_lnfPath; - return; - } - if ( !lnftool.waitForFinished() ) - { - cDebug() << "WARNING:" << m_lnfPath << "timed out."; + cDebug() << "Plasma LNF index" << index << "out of range."; return; } - if ( (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) - emit plasmaThemeSelected( name ); - else - cDebug() << "WARNING: could not apply look-and-feel" << name; + const PlasmaLnfDescriptor& lnf = m_availableLnf.at( index ); + cDebug() << "Changed to" << index << lnf.id << lnf.name; + emit plasmaThemeSelected( lnf.id ); } void diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index d146cbb95..e115fb649 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -27,6 +27,14 @@ namespace Ui class PlasmaLnfPage; } +struct PlasmaLnfDescriptor +{ + QString id; + QString name; +} ; + +using PlasmaLnfList = QList; + class PlasmaLnfPage : public QWidget { Q_OBJECT @@ -36,14 +44,15 @@ public: void setLnfPath( const QString& path ); public slots: - void activated(const QString& name); + void activated( int index ); signals: - void plasmaThemeSelected( const QString &id ); + void plasmaThemeSelected( const QString& id ); private: Ui::PlasmaLnfPage* ui; QString m_lnfPath; + PlasmaLnfList m_availableLnf; }; #endif //PLASMALNFPAGE_H diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index f754c82fe..b9337e263 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -27,6 +27,7 @@ #include "PlasmaLnfViewStep.h" #include +#include #include CALAMARES_PLUGIN_FACTORY_DEFINITION( PlasmaLnfViewStepFactory, registerPlugin(); ) @@ -137,4 +138,23 @@ void PlasmaLnfViewStep::themeSelected( const QString& id ) { m_themeId = id; + + QProcess lnftool; + lnftool.start( m_lnfPath, {"--resetLayout", "--apply", id} ); + + if ( !lnftool.waitForStarted( 1000 ) ) + { + cDebug() << "WARNING: could not start look-and-feel" << m_lnfPath; + return; + } + if ( !lnftool.waitForFinished() ) + { + cDebug() << "WARNING:" << m_lnfPath << "timed out."; + return; + } + + if ( (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) + cDebug() << "Plasma look-and-feel applied" << id; + else + cDebug() << "WARNING: could not apply look-and-feel" << id; } From b10b19e9ee5a704fac051f0186f6b1bdd86d0fcc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Dec 2017 06:44:37 -0500 Subject: [PATCH 048/178] [plasmalnf] C++ style and reduce includes --- src/modules/plasmalnf/PlasmaLnfJob.cpp | 32 +++++++-------------- src/modules/plasmalnf/PlasmaLnfPage.cpp | 27 ++++++----------- src/modules/plasmalnf/PlasmaLnfPage.h | 3 +- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 17 ++++------- src/modules/plasmalnf/PlasmaLnfViewStep.h | 2 +- 5 files changed, 27 insertions(+), 54 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index a06716a89..82d55f609 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -18,28 +18,14 @@ #include "PlasmaLnfJob.h" -#include -#include -#include -#include -#include - -#include -#include -#include // Future - -#include // TODO: port to KPluginLoader - -#include "CalamaresVersion.h" -#include "JobQueue.h" #include "GlobalStorage.h" - +#include "JobQueue.h" #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" PlasmaLnfJob::PlasmaLnfJob( const QString& lnfPath, const QString& id ) : m_lnfPath( lnfPath ) - , m_id(id) + , m_id( id ) { } @@ -75,15 +61,17 @@ PlasmaLnfJob::exec() auto system = CalamaresUtils::System::instance(); Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - QStringList command( { - "sudo", "-E", "-H", "-u", gs->value("username").toString(), - m_lnfPath, "-platform", "minimal", "--resetLayout", "--apply", m_id } ); + QStringList command( + { + "sudo", "-E", "-H", "-u", gs->value( "username" ).toString(), + m_lnfPath, "-platform", "minimal", "--resetLayout", "--apply", m_id + } ); int r = system->targetEnvCall( command ); - if (r) + if ( r ) return Calamares::JobResult::error( - tr( "Could not select KDE Plasma Look-and-Feel package" ), - tr( "Could not select KDE Plasma Look-and-Feel package" ) ); + tr( "Could not select KDE Plasma Look-and-Feel package" ), + tr( "Could not select KDE Plasma Look-and-Feel package" ) ); return Calamares::JobResult::ok(); } diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 1ea20a75e..01759ba32 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -20,28 +20,20 @@ #include "ui_page_plasmalnf.h" -#include "Branding.h" -#include "JobQueue.h" -#include "GlobalStorage.h" #include "utils/Logger.h" -#include "utils/CalamaresUtilsGui.h" #include "utils/Retranslator.h" -#include "ViewManager.h" #include #include -#include -#include -#include - static PlasmaLnfList plasma_themes() { PlasmaLnfList packages; - QList pkgs = KPackage::PackageLoader::self()->listPackages("Plasma/LookAndFeel"); + QList pkgs = KPackage::PackageLoader::self()->listPackages( "Plasma/LookAndFeel" ); - for (const KPluginMetaData &data : pkgs) { + for ( const KPluginMetaData& data : pkgs ) + { packages << PlasmaLnfDescriptor{ data.pluginId(), data.name() }; cDebug() << "LNF Package" << data.pluginId(); cDebug() << " .." << data.name(); @@ -53,30 +45,29 @@ static PlasmaLnfList plasma_themes() } -PlasmaLnfPage::PlasmaLnfPage(QWidget *parent) +PlasmaLnfPage::PlasmaLnfPage( QWidget* parent ) : QWidget( parent ) , ui( new Ui::PlasmaLnfPage ) { - using StringEntry = Calamares::Branding::StringEntry; - ui->setupUi( this ); CALAMARES_RETRANSLATE( + { ui->retranslateUi( this ); ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); m_availableLnf = plasma_themes(); ui->lnfCombo->clear(); for ( const auto& p : m_availableLnf ) ui->lnfCombo->addItem( p.name ); + } ) - - QObject::connect(ui->lnfCombo, &QComboBox::activated, this, &PlasmaLnfPage::activated); + QObject::connect( ui->lnfCombo, &QComboBox::activated, this, &PlasmaLnfPage::activated ); } void PlasmaLnfPage::activated( int index ) { - if ( (index < 0) || (index > m_availableLnf.length()) ) + if ( ( index < 0 ) || ( index > m_availableLnf.length() ) ) { cDebug() << "Plasma LNF index" << index << "out of range."; return; @@ -88,7 +79,7 @@ PlasmaLnfPage::activated( int index ) } void -PlasmaLnfPage::setLnfPath(const QString& path) +PlasmaLnfPage::setLnfPath( const QString& path ) { m_lnfPath = path; } diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index e115fb649..31731eb0d 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -19,8 +19,9 @@ #ifndef PLASMALNFPAGE_H #define PLASMALNFPAGE_H +#include +#include #include -#include namespace Ui { diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index b9337e263..1ac3226b1 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -15,18 +15,13 @@ * You should have received a copy of the GNU General Public License * along with Calamares. If not, see . */ - -#include "JobQueue.h" -#include "GlobalStorage.h" -#include "utils/Logger.h" -#include "utils/CalamaresUtils.h" -#include "utils/CalamaresUtilsSystem.h" +#include "PlasmaLnfViewStep.h" #include "PlasmaLnfJob.h" #include "PlasmaLnfPage.h" -#include "PlasmaLnfViewStep.h" -#include +#include "utils/Logger.h" + #include #include @@ -114,9 +109,7 @@ PlasmaLnfViewStep::jobs() const cDebug() << "Creating Plasma LNF jobs .."; if ( !m_themeId.isEmpty() && !m_lnfPath.isEmpty() ) - { l.append( Calamares::job_ptr( new PlasmaLnfJob( m_lnfPath, m_themeId ) ) ); - } return l; } @@ -130,7 +123,7 @@ PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) m_lnfPath = lnfPath; m_widget->setLnfPath( m_lnfPath ); - if (m_lnfPath.isEmpty()) + if ( m_lnfPath.isEmpty() ) cDebug() << "WARNING: no lnftool given for plasmalnf module."; } @@ -153,7 +146,7 @@ PlasmaLnfViewStep::themeSelected( const QString& id ) return; } - if ( (lnftool.exitCode() == 0) && (lnftool.exitStatus() == QProcess::NormalExit ) ) + if ( ( lnftool.exitCode() == 0 ) && ( lnftool.exitStatus() == QProcess::NormalExit ) ) cDebug() << "Plasma look-and-feel applied" << id; else cDebug() << "WARNING: could not apply look-and-feel" << id; diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h index 4d2598ccc..e65b59b93 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.h +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -57,7 +57,7 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; public slots: - void themeSelected( const QString &id ); + void themeSelected( const QString& id ); private: PlasmaLnfPage* m_widget; From e628ddfdbfbf83b9052b099cfd00abac3ba0143a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Dec 2017 09:37:34 -0500 Subject: [PATCH 049/178] [plasmalnf] Try to get back to the live user before changing themes --- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 10 +++++++++- src/modules/plasmalnf/PlasmaLnfViewStep.h | 1 + src/modules/plasmalnf/plasmalnf.conf | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index 1ac3226b1..fd6eab78d 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -125,6 +125,11 @@ PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) if ( m_lnfPath.isEmpty() ) cDebug() << "WARNING: no lnftool given for plasmalnf module."; + + QString liveUser; + if ( configurationMap.contains( "liveuser" ) && configurationMap.value( "liveuser" ).type() == QVariant::String ) + liveUser = configurationMap.value( "liveuser" ).toString(); + m_liveUser = liveUser; } void @@ -133,7 +138,10 @@ PlasmaLnfViewStep::themeSelected( const QString& id ) m_themeId = id; QProcess lnftool; - lnftool.start( m_lnfPath, {"--resetLayout", "--apply", id} ); + if ( !m_liveUser.isEmpty() ) + lnftool.start( "sudo", {"-E", "-H", "-u", m_liveUser, m_lnfPath, "--resetLayout", "--apply", id} ); + else + lnftool.start( m_lnfPath, {"--resetLayout", "--apply", id} ); if ( !lnftool.waitForStarted( 1000 ) ) { diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h index e65b59b93..7fcfc50cc 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.h +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -63,6 +63,7 @@ private: PlasmaLnfPage* m_widget; QString m_lnfPath; QString m_themeId; + QString m_liveUser; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PlasmaLnfViewStepFactory ) diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf index d9817ecbc..059ed9e36 100644 --- a/src/modules/plasmalnf/plasmalnf.conf +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -2,3 +2,9 @@ # Full path to the Plasma look-and-feel tool (CLI program # for querying and applying Plasma themes). lnftool: "/usr/bin/lookandfeeltool" + +# For systems where the user Calamares runs as (usually root, +# via either sudo or pkexec) has a clean environment, set this +# to the originating username; the lnftool will be run through +# "sudo -H -u " instead of directly. +liveuser: "live" From 02dfe51d55dc1443d43019b133665d40fde979b6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Dec 2017 10:47:26 -0500 Subject: [PATCH 050/178] [welcome] Improve error reporting from requirements checker --- .../welcome/checker/RequirementsChecker.cpp | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index 3d4e394c4..e56e88a4c 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -213,12 +213,16 @@ RequirementsChecker::setConfigurationMap( const QVariantMap& configurationMap ) bool ok = false; m_requiredStorageGB = configurationMap.value( "requiredStorage" ).toDouble( &ok ); if ( !ok ) + { + cDebug() << "WARNING: RequirementsChecker entry 'requiredStorage' is invalid."; m_requiredStorageGB = 3.; + } Calamares::JobQueue::instance()->globalStorage()->insert( "requiredStorageGB", m_requiredStorageGB ); } else { + cDebug() << "WARNING: RequirementsChecker entry 'requiredStorage' is missing."; m_requiredStorageGB = 3.; incompleteConfiguration = true; } @@ -231,12 +235,14 @@ RequirementsChecker::setConfigurationMap( const QVariantMap& configurationMap ) m_requiredRamGB = configurationMap.value( "requiredRam" ).toDouble( &ok ); if ( !ok ) { + cDebug() << "WARNING: RequirementsChecker entry 'requiredRam' is invalid."; m_requiredRamGB = 1.; incompleteConfiguration = true; } } else { + cDebug() << "WARNING: RequirementsChecker entry 'requiredRam' is missing."; m_requiredRamGB = 1.; incompleteConfiguration = true; } @@ -248,7 +254,7 @@ RequirementsChecker::setConfigurationMap( const QVariantMap& configurationMap ) if ( m_checkHasInternetUrl.isEmpty() || !QUrl( m_checkHasInternetUrl ).isValid() ) { - cDebug() << "Invalid internetCheckUrl in welcome.conf" << m_checkHasInternetUrl + cDebug() << "WARNING: RequirementsChecker entry 'internetCheckUrl' is invalid in welcome.conf" << m_checkHasInternetUrl << "reverting to default (http://example.com)."; m_checkHasInternetUrl = "http://example.com"; incompleteConfiguration = true; @@ -256,8 +262,9 @@ RequirementsChecker::setConfigurationMap( const QVariantMap& configurationMap ) } else { - cDebug() << "internetCheckUrl is undefined in welcome.conf, " + cDebug() << "WARNING: RequirementsChecker entry 'internetCheckUrl' is undefined in welcome.conf," "reverting to default (http://example.com)."; + m_checkHasInternetUrl = "http://example.com"; incompleteConfiguration = true; } @@ -269,7 +276,10 @@ RequirementsChecker::setConfigurationMap( const QVariantMap& configurationMap ) m_entriesToCheck.append( configurationMap.value( "check" ).toStringList() ); } else + { + cDebug() << "WARNING: RequirementsChecker entry 'check' is incomplete."; incompleteConfiguration = true; + } if ( configurationMap.contains( "required" ) && configurationMap.value( "required" ).type() == QVariant::List ) @@ -278,18 +288,13 @@ RequirementsChecker::setConfigurationMap( const QVariantMap& configurationMap ) m_entriesToRequire.append( configurationMap.value( "required" ).toStringList() ); } else + { + cDebug() << "WARNING: RequirementsChecker entry 'required' is incomplete."; incompleteConfiguration = true; + } if ( incompleteConfiguration ) - { - cDebug() << "WARNING: The RequirementsChecker configuration map provided by " - "the welcome module configuration file is incomplete or " - "incorrect.\n" - "Startup will continue for debugging purposes, but one or " - "more checks might not function correctly.\n" - "RequirementsChecker configuration map:\n" - << configurationMap; - } + cDebug() << "WARNING: RequirementsChecker configuration map:\n" << configurationMap; } From 98b9f67e3944452b38baf4577dddcc87c011845a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Dec 2017 11:51:16 -0500 Subject: [PATCH 051/178] [plasmalnf] Complain more loudly (and more often) when badly configured --- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index fd6eab78d..452be8680 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -136,6 +136,11 @@ void PlasmaLnfViewStep::themeSelected( const QString& id ) { m_themeId = id; + if ( m_lnfPath.isEmpty() ) + { + cDebug() << "WARNING: no lnftool given for plasmalnf module."; + return; + } QProcess lnftool; if ( !m_liveUser.isEmpty() ) From ad69eda337ece7aeb871b6a8d22a20ea09db578c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Dec 2017 11:54:33 -0500 Subject: [PATCH 052/178] [plasmalnf] Complain again if poorly configured --- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index 452be8680..f4e01b711 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -108,8 +108,13 @@ PlasmaLnfViewStep::jobs() const QList l; cDebug() << "Creating Plasma LNF jobs .."; - if ( !m_themeId.isEmpty() && !m_lnfPath.isEmpty() ) - l.append( Calamares::job_ptr( new PlasmaLnfJob( m_lnfPath, m_themeId ) ) ); + if ( !m_themeId.isEmpty() ) + { + if ( !m_lnfPath.isEmpty() ) + l.append( Calamares::job_ptr( new PlasmaLnfJob( m_lnfPath, m_themeId ) ) ); + else + cDebug() << "WARNING: no lnftool given for plasmalnf module."; + } return l; } From 6bd8c67ca9fc7337d87a0e80221571d397bd28e1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Dec 2017 12:27:30 -0500 Subject: [PATCH 053/178] [plasmalnf] Allow filtering the selectable lnf themes - empty list allows all of them - always suppress hidden, invalid themes, and those named --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 29 +++++++++++++++------ src/modules/plasmalnf/PlasmaLnfPage.h | 5 ++++ src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 9 +++++++ src/modules/plasmalnf/plasmalnf.conf | 16 ++++++++++-- 4 files changed, 49 insertions(+), 10 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 01759ba32..21e097a0e 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -34,11 +34,11 @@ static PlasmaLnfList plasma_themes() for ( const KPluginMetaData& data : pkgs ) { - packages << PlasmaLnfDescriptor{ data.pluginId(), data.name() }; - cDebug() << "LNF Package" << data.pluginId(); - cDebug() << " .." << data.name(); - cDebug() << " .." << data.description(); - cDebug() << " .." << 'V' << data.isValid() << 'H' << data.isHidden() << 'D' << data.isEnabledByDefault(); + if ( data.isValid() && !data.isHidden() && !data.name().isEmpty() ) + { + packages << PlasmaLnfDescriptor{ data.pluginId(), data.name() }; + cDebug() << "LNF Package" << data.pluginId(); + } } return packages; @@ -55,9 +55,7 @@ PlasmaLnfPage::PlasmaLnfPage( QWidget* parent ) ui->retranslateUi( this ); ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); m_availableLnf = plasma_themes(); - ui->lnfCombo->clear(); - for ( const auto& p : m_availableLnf ) - ui->lnfCombo->addItem( p.name ); + winnowThemes(); } ) @@ -83,3 +81,18 @@ PlasmaLnfPage::setLnfPath( const QString& path ) { m_lnfPath = path; } + +void +PlasmaLnfPage::setEnabledThemes(const QStringList& themes) +{ + m_enabledThemes = themes; + winnowThemes(); +} + +void PlasmaLnfPage::winnowThemes() +{ + ui->lnfCombo->clear(); + for ( const auto& p : m_availableLnf ) + if ( m_enabledThemes.isEmpty() || m_enabledThemes.contains( p.id ) ) + ui->lnfCombo->addItem( p.name ); +} diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index 31731eb0d..89867cabf 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -21,6 +21,7 @@ #include #include +#include #include namespace Ui @@ -43,6 +44,7 @@ public: explicit PlasmaLnfPage( QWidget* parent = nullptr ); void setLnfPath( const QString& path ); + void setEnabledThemes( const QStringList& themes ); public slots: void activated( int index ); @@ -51,8 +53,11 @@ signals: void plasmaThemeSelected( const QString& id ); private: + void winnowThemes(); + Ui::PlasmaLnfPage* ui; QString m_lnfPath; + QStringList m_enabledThemes; PlasmaLnfList m_availableLnf; }; diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index f4e01b711..550e42a17 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -135,6 +135,15 @@ PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) if ( configurationMap.contains( "liveuser" ) && configurationMap.value( "liveuser" ).type() == QVariant::String ) liveUser = configurationMap.value( "liveuser" ).toString(); m_liveUser = liveUser; + + if ( configurationMap.contains( "themes" ) && + configurationMap.value( "themes" ).type() == QVariant::List ) + { + QStringList enabledThemes( configurationMap.value( "themes" ).toStringList() ); + if ( enabledThemes.length() == 1 ) + cDebug() << "WARNING: only one theme enabled in plasmalnf"; + m_widget->setEnabledThemes( enabledThemes ); + } } void diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf index 059ed9e36..a35b50da6 100644 --- a/src/modules/plasmalnf/plasmalnf.conf +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -1,10 +1,22 @@ --- # Full path to the Plasma look-and-feel tool (CLI program -# for querying and applying Plasma themes). +# for querying and applying Plasma themes). If this is not +# set, no LNF setting will happen. lnftool: "/usr/bin/lookandfeeltool" # For systems where the user Calamares runs as (usually root, # via either sudo or pkexec) has a clean environment, set this # to the originating username; the lnftool will be run through # "sudo -H -u " instead of directly. -liveuser: "live" +# +# liveuser: "live" + +# You can limit the list of Plasma look-and-feel themes by listing ids +# here. If this key is not present, or the list is empty, all of the +# installed themes are listed. If only one theme is listed, why are +# you using this module at all? +# +themes: + - org.kde.breeze.desktop + # - org.kde.breezedark.desktop + From 139f5a9e86e7afcce1d9faf51b42655117051170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Wed, 6 Dec 2017 14:47:54 +0000 Subject: [PATCH 054/178] Use KPMcore SetPartFlags operation. --- .../partition/jobs/SetPartitionFlagsJob.cpp | 89 +++---------------- 1 file changed, 13 insertions(+), 76 deletions(-) diff --git a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp index 8c562450f..9a5ef67bc 100644 --- a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp +++ b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp @@ -23,14 +23,12 @@ #include "utils/Logger.h" -#include -#include -#include -#include -#include -#include -#include -#include +// KPMcore +#include +#include +#include +#include +#include SetPartFlagsJob::SetPartFlagsJob( Device* device, Partition* partition, @@ -131,76 +129,15 @@ SetPartFlagsJob::prettyStatusMessage() const Calamares::JobResult SetPartFlagsJob::exec() { - PartitionTable::Flags oldFlags = partition()->availableFlags(); - if ( oldFlags == m_flags ) - return Calamares::JobResult::ok(); - - CoreBackend* backend = CoreBackendManager::self()->backend(); + Report report (nullptr); + SetPartFlagsOperation op(*m_device, *partition(), m_flags); + op.setStatus(Operation::StatusRunning); + connect(&op, &Operation::progress, [&](int percent) { emit progress(percent / 100.0); } ); QString errorMessage = tr( "The installer failed to set flags on partition %1." ) .arg( m_partition->partitionPath() ); + if (op.execute(report)) + return Calamares::JobResult::ok(); - QScopedPointer< CoreBackendDevice > backendDevice( backend->openDevice( m_device->deviceNode() ) ); - if ( !backendDevice.data() ) - { - return Calamares::JobResult::error( - errorMessage, - tr( "Could not open device '%1'." ).arg( m_device->deviceNode() ) - ); - } - - QScopedPointer< CoreBackendPartitionTable > backendPartitionTable( backendDevice->openPartitionTable() ); - if ( !backendPartitionTable.data() ) - { - return Calamares::JobResult::error( - errorMessage, - tr( "Could not open partition table on device '%1'." ).arg( m_device->deviceNode() ) - ); - } - - QScopedPointer< CoreBackendPartition > backendPartition( - ( partition()->roles().has( PartitionRole::Extended ) ) - ? backendPartitionTable->getExtendedPartition() - : backendPartitionTable->getPartitionBySector( partition()->firstSector() ) - ); - if ( !backendPartition.data() ) { - return Calamares::JobResult::error( - errorMessage, - tr( "Could not find partition '%1'." ).arg( partition()->partitionPath() ) - ); - } - - quint32 count = 0; - - foreach( const PartitionTable::Flag& f, PartitionTable::flagList() ) - { - emit progress(++count); - - const bool state = ( m_flags & f ) ? true : false; - - Report report( nullptr ); - if ( !backendPartition->setFlag( report, f, state ) ) - { - cDebug() << QStringLiteral( "WARNING: Could not set flag %2 on " - "partition '%1'." ) - .arg( partition()->partitionPath() ) - .arg( PartitionTable::flagName( f ) ); - } - } - - // HACK: Partition (in KPMcore) declares SetPartFlagsJob as friend, but this actually - // refers to an unrelated class SetPartFlagsJob which is in KPMcore but is not - // exported. - // Obviously here we are relying on having a class in Calamares with the same - // name as a private one in KPMcore, which is awful, but it's the least evil - // way to call Partition::setFlags (KPMcore's SetPartFlagsJob needs its friend - // status for the very same reason). - m_partition->setFlags( m_flags ); - - backendPartitionTable->commit(); - - return Calamares::JobResult::ok(); + return Calamares::JobResult::error(errorMessage, report.toText()); } - - -#include "SetPartitionFlagsJob.moc" From 011646530310ef720314f3bc1d156c8f9deeba4b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Dec 2017 08:42:49 -0500 Subject: [PATCH 055/178] CMake: bump version --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dce53b416..960f9a734 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -166,7 +166,7 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX ### Bump version here set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 1 ) -set( CALAMARES_VERSION_PATCH 9 ) +set( CALAMARES_VERSION_PATCH 10 ) set( CALAMARES_VERSION_RC 0 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) From 748ccf94e98d27642c2e72e14546d39ef5167469 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 12 Dec 2017 05:42:35 -0500 Subject: [PATCH 056/178] [plasmalnf] Enrich config file - Extend the config file format to allow theme, image pairs as well as just naming the themes. - Reduce verbosity when querying Plasma themes. --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 33 +++++---- src/modules/plasmalnf/PlasmaLnfPage.h | 15 ++--- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 17 ++++- src/modules/plasmalnf/ThemeInfo.h | 75 +++++++++++++++++++++ src/modules/plasmalnf/plasmalnf.conf | 12 ++-- 5 files changed, 122 insertions(+), 30 deletions(-) create mode 100644 src/modules/plasmalnf/ThemeInfo.h diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 21e097a0e..7b68a612f 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -26,9 +26,9 @@ #include #include -static PlasmaLnfList plasma_themes() +static ThemeInfoList plasma_themes() { - PlasmaLnfList packages; + ThemeInfoList packages; QList pkgs = KPackage::PackageLoader::self()->listPackages( "Plasma/LookAndFeel" ); @@ -36,8 +36,7 @@ static PlasmaLnfList plasma_themes() { if ( data.isValid() && !data.isHidden() && !data.name().isEmpty() ) { - packages << PlasmaLnfDescriptor{ data.pluginId(), data.name() }; - cDebug() << "LNF Package" << data.pluginId(); + packages << ThemeInfo{ data.pluginId(), data.name() }; } } @@ -54,7 +53,6 @@ PlasmaLnfPage::PlasmaLnfPage( QWidget* parent ) { ui->retranslateUi( this ); ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); - m_availableLnf = plasma_themes(); winnowThemes(); } ) @@ -65,13 +63,13 @@ PlasmaLnfPage::PlasmaLnfPage( QWidget* parent ) void PlasmaLnfPage::activated( int index ) { - if ( ( index < 0 ) || ( index > m_availableLnf.length() ) ) + if ( ( index < 0 ) || ( index > m_enabledThemes.length() ) ) { cDebug() << "Plasma LNF index" << index << "out of range."; return; } - const PlasmaLnfDescriptor& lnf = m_availableLnf.at( index ); + const ThemeInfo& lnf = m_enabledThemes.at( index ); cDebug() << "Changed to" << index << lnf.id << lnf.name; emit plasmaThemeSelected( lnf.id ); } @@ -83,16 +81,27 @@ PlasmaLnfPage::setLnfPath( const QString& path ) } void -PlasmaLnfPage::setEnabledThemes(const QStringList& themes) +PlasmaLnfPage::setEnabledThemes(const ThemeInfoList& themes) { - m_enabledThemes = themes; + if ( themes.isEmpty() ) + m_enabledThemes = plasma_themes(); + else + m_enabledThemes = themes; winnowThemes(); } void PlasmaLnfPage::winnowThemes() { + auto plasmaThemes = plasma_themes(); ui->lnfCombo->clear(); - for ( const auto& p : m_availableLnf ) - if ( m_enabledThemes.isEmpty() || m_enabledThemes.contains( p.id ) ) - ui->lnfCombo->addItem( p.name ); + for ( auto& enabled_theme : m_enabledThemes ) + { + ThemeInfo* t = plasmaThemes.findById( enabled_theme.id ); + if ( t != nullptr ) + { + enabled_theme.name = t->name; + ui->lnfCombo->addItem( enabled_theme.name ); + cDebug() << "Enabled" << enabled_theme.id << "as" << enabled_theme.name; + } + } } diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index 89867cabf..279f83d27 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -24,19 +24,13 @@ #include #include +#include "ThemeInfo.h" + namespace Ui { class PlasmaLnfPage; } -struct PlasmaLnfDescriptor -{ - QString id; - QString name; -} ; - -using PlasmaLnfList = QList; - class PlasmaLnfPage : public QWidget { Q_OBJECT @@ -44,7 +38,7 @@ public: explicit PlasmaLnfPage( QWidget* parent = nullptr ); void setLnfPath( const QString& path ); - void setEnabledThemes( const QStringList& themes ); + void setEnabledThemes( const ThemeInfoList& themes ); public slots: void activated( int index ); @@ -57,8 +51,7 @@ private: Ui::PlasmaLnfPage* ui; QString m_lnfPath; - QStringList m_enabledThemes; - PlasmaLnfList m_availableLnf; + ThemeInfoList m_enabledThemes; }; #endif //PLASMALNFPAGE_H diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index 550e42a17..ad4e531b5 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -19,6 +19,7 @@ #include "PlasmaLnfJob.h" #include "PlasmaLnfPage.h" +#include "ThemeInfo.h" #include "utils/Logger.h" @@ -139,10 +140,20 @@ PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) if ( configurationMap.contains( "themes" ) && configurationMap.value( "themes" ).type() == QVariant::List ) { - QStringList enabledThemes( configurationMap.value( "themes" ).toStringList() ); - if ( enabledThemes.length() == 1 ) + ThemeInfoList allThemes; + auto themeList = configurationMap.value( "themes" ).toList(); + for ( const auto& i : themeList ) + if ( i.type() == QVariant::Map ) + { + auto iv = i.toMap(); + allThemes.append( ThemeInfo( iv.value( "theme" ).toString(), QString(), iv.value( "image" ).toString() ) ); + } + else if ( i.type() == QVariant::String ) + allThemes.append( ThemeInfo( i.toString(), QString() ) ); + + if ( allThemes.length() == 1 ) cDebug() << "WARNING: only one theme enabled in plasmalnf"; - m_widget->setEnabledThemes( enabledThemes ); + m_widget->setEnabledThemes( allThemes ); } } diff --git a/src/modules/plasmalnf/ThemeInfo.h b/src/modules/plasmalnf/ThemeInfo.h new file mode 100644 index 000000000..048c9c8f2 --- /dev/null +++ b/src/modules/plasmalnf/ThemeInfo.h @@ -0,0 +1,75 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNF_THEMEINFO_H +#define PLASMALNF_THEMEINFO_H + +#include +#include + +class QDebug; + + +struct ThemeInfo +{ + QString id; + QString name; + QString imagePath; + + ThemeInfo() + {} + + ThemeInfo( const QString& _id, const QString& _name, const QString& image = QString() ) + : id( _id ) + , name( _name ) + , imagePath( image ) + {} + + bool isValid() const { return !id.isEmpty(); } +} ; + +class ThemeInfoList : public QList< ThemeInfo > +{ +public: + ThemeInfo* findById( const QString& id ) + { + for ( ThemeInfo& i : *this ) + { + if ( i.id == id ) + return &i; + } + return nullptr; + } + + const ThemeInfo* findById( const QString& id ) const + { + for ( const ThemeInfo& i : *this ) + { + if ( i.id == id ) + return &i; + } + return nullptr; + } + + bool contains( const QString& id ) const + { + return findById( id ) != nullptr; + } +} ; + +#endif diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf index a35b50da6..dc2d57dfd 100644 --- a/src/modules/plasmalnf/plasmalnf.conf +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -14,9 +14,13 @@ lnftool: "/usr/bin/lookandfeeltool" # You can limit the list of Plasma look-and-feel themes by listing ids # here. If this key is not present, or the list is empty, all of the # installed themes are listed. If only one theme is listed, why are -# you using this module at all? +# you using this module at all? Themes may be listed by id, +# (e.g. fluffy-bunny, below) or as a theme and an image (e.g. breeze) +# which will be used to show a screenshot. # themes: - - org.kde.breeze.desktop - # - org.kde.breezedark.desktop - + - theme: org.kde.breeze.desktop + image: "breeze.png" + - theme: org.kde.breezedark.desktop + image: "breeze-dark.png" + - org.kde.fluffy-bunny.desktop From afbdcc3782ddabe4c4a29763d2a42b0f94f4e970 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Dec 2017 06:27:04 -0500 Subject: [PATCH 057/178] [hwclock] Be more lenient. Patch by Gabriel C. (@abucodonosor). - use libcalamares functions - no need to copy /etc/adjtime over we can run hwclock in chroot since we have /proc , /sys , /dev , /run/* already bind mounted. - added RTC and ISA probing methode ( see issue #873) - we probe default from /dev/rtc* , - fall back to ISA - still doesn't work we just print a BIOS/Kernel BUG message and continue - NOTE: issue #873 is about broken ArchLinux kernel config but there are HP boxes with real RTC problems no matter what kernel config is used so let us be nice and don't error out.. FIXES #873 --- src/modules/hwclock/main.py | 38 ++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/src/modules/hwclock/main.py b/src/modules/hwclock/main.py index 8b31080dd..dd408a372 100644 --- a/src/modules/hwclock/main.py +++ b/src/modules/hwclock/main.py @@ -5,7 +5,8 @@ # # Copyright 2014 - 2015, Philip Müller # Copyright 2014, Teo Mrnjavac -# Copyright 2017. Alf Gaida +# Copyright 2017, Alf Gaida +# Copyright 2017, Gabriel Craciunescu # # Calamares is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,26 +21,33 @@ # You should have received a copy of the GNU General Public License # along with Calamares. If not, see . -import subprocess -import shutil - import libcalamares - def run(): """ Set hardware clock. """ + hwclock_rtc = ["hwclock", "--systohc", "--utc"] + hwclock_isa = ["hwclock", "--systohc", "--utc", "--directisa"] + is_broken_rtc = False + is_broken_isa = False - root_mount_point = libcalamares.globalstorage.value("rootMountPoint") - try: - subprocess.check_call(["hwclock", "--systohc", "--utc"]) - except subprocess.CalledProcessError as e: - return ( - "Cannot set hardware clock.", - "hwclock terminated with exit code {}.".format(e.returncode) - ) - - shutil.copy2("/etc/adjtime", "{!s}/etc/".format(root_mount_point)) + ret = libcalamares.utils.target_env_call(hwclock_rtc) + if ret != 0: + is_broken_rtc = True + libcalamares.utils.debug("Hwclock returned error code {}".format(ret)) + libcalamares.utils.debug(" .. RTC method failed, trying ISA bus method.") + else: + libcalamares.utils.debug("Hwclock set using RTC method.") + if is_broken_rtc: + ret = libcalamares.utils.target_env_call(hwclock_isa) + if ret != 0: + is_broken_isa = True + libcalamares.utils.debug("Hwclock returned error code {}".format(ret)) + libcalamares.utils.debug(" .. ISA bus method failed.") + else: + libcalamares.utils.debug("Hwclock set using ISA bus methode.") + if is_broken_rtc and is_broken_isa: + libcalamares.utils.debug("BIOS or Kernel BUG: Setting hwclock failed.") return None From 11fc3e0507f03f2f23f54e26e0eb9fdce0b238e6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 12 Dec 2017 11:35:35 -0500 Subject: [PATCH 058/178] [plasmalnf] minor documentation - Code documentation - Add another broken example theme, as test for winnowing --- src/modules/plasmalnf/ThemeInfo.h | 13 ++++++++++--- src/modules/plasmalnf/plasmalnf.conf | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/modules/plasmalnf/ThemeInfo.h b/src/modules/plasmalnf/ThemeInfo.h index 048c9c8f2..863043969 100644 --- a/src/modules/plasmalnf/ThemeInfo.h +++ b/src/modules/plasmalnf/ThemeInfo.h @@ -22,9 +22,13 @@ #include #include -class QDebug; - - +/** @brief describes a single plasma LnF theme. + * + * A theme description has an id, which is really the name of the desktop + * file (e.g. org.kde.breeze.desktop), a name which is human-readable and + * translated, and an optional image Page, which points to a local screenshot + * of that theme. + */ struct ThemeInfo { QString id; @@ -46,6 +50,7 @@ struct ThemeInfo class ThemeInfoList : public QList< ThemeInfo > { public: + /** @brief Looks for a given @p id in the list of themes, returns nullptr if not found. */ ThemeInfo* findById( const QString& id ) { for ( ThemeInfo& i : *this ) @@ -56,6 +61,7 @@ public: return nullptr; } + /** @brief Looks for a given @p id in the list of themes, returns nullptr if not found. */ const ThemeInfo* findById( const QString& id ) const { for ( const ThemeInfo& i : *this ) @@ -66,6 +72,7 @@ public: return nullptr; } + /** @brief Checks if a given @p id is in the list of themes. */ bool contains( const QString& id ) const { return findById( id ) != nullptr; diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf index dc2d57dfd..4aeca2471 100644 --- a/src/modules/plasmalnf/plasmalnf.conf +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -19,6 +19,7 @@ lnftool: "/usr/bin/lookandfeeltool" # which will be used to show a screenshot. # themes: + - org.kde.fuzzy-pig.desktop - theme: org.kde.breeze.desktop image: "breeze.png" - theme: org.kde.breezedark.desktop From 755c0cba184a317b074a679158c311845d73ee44 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 12 Dec 2017 11:40:10 -0500 Subject: [PATCH 059/178] [plasmalnf] Prep-work for UI changes --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 49 ++++++++++++++++++++++--- src/modules/plasmalnf/PlasmaLnfPage.h | 5 +++ 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 7b68a612f..60ba79d68 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -53,7 +53,8 @@ PlasmaLnfPage::PlasmaLnfPage( QWidget* parent ) { ui->retranslateUi( this ); ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); - winnowThemes(); + updateThemeNames(); + fillUi(); } ) @@ -87,21 +88,59 @@ PlasmaLnfPage::setEnabledThemes(const ThemeInfoList& themes) m_enabledThemes = plasma_themes(); else m_enabledThemes = themes; + + updateThemeNames(); winnowThemes(); + fillUi(); } -void PlasmaLnfPage::winnowThemes() +void PlasmaLnfPage::updateThemeNames() { auto plasmaThemes = plasma_themes(); - ui->lnfCombo->clear(); for ( auto& enabled_theme : m_enabledThemes ) { ThemeInfo* t = plasmaThemes.findById( enabled_theme.id ); if ( t != nullptr ) { enabled_theme.name = t->name; - ui->lnfCombo->addItem( enabled_theme.name ); - cDebug() << "Enabled" << enabled_theme.id << "as" << enabled_theme.name; } } } + +void PlasmaLnfPage::winnowThemes() +{ + auto plasmaThemes = plasma_themes(); + bool winnowed = true; + int winnow_index = 0; + while ( winnowed ) + { + winnowed = false; + winnow_index = 0; + + for ( auto& enabled_theme : m_enabledThemes ) + { + ThemeInfo* t = plasmaThemes.findById( enabled_theme.id ); + if ( t == nullptr ) + { + cDebug() << "Removing" << enabled_theme.id; + winnowed = true; + break; + } + ++winnow_index; + } + + if ( winnowed ) + { + m_enabledThemes.removeAt( winnow_index ); + } + } +} + +void PlasmaLnfPage::fillUi() +{ + ui->lnfCombo->clear(); + for ( auto& theme : m_enabledThemes ) + { + ui->lnfCombo->addItem( theme.name ); + } +} diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index 279f83d27..6e9f36242 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -47,7 +47,12 @@ signals: void plasmaThemeSelected( const QString& id ); private: + /** @brief Intersect the list of enabled themes with the installed ones. */ void winnowThemes(); + /** @brief Get the translated names for all enabled themes. */ + void updateThemeNames(); + /** @brief show enabled themes in the UI. */ + void fillUi(); Ui::PlasmaLnfPage* ui; QString m_lnfPath; From 8b3f71af40b784ee903e9118cc73437a47303d88 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Dec 2017 10:28:31 -0500 Subject: [PATCH 060/178] [plasmalnf] Widget for showing theme info - Radio button + group for button action - Use a (still very primitive) widget for displaying theme information --- src/modules/plasmalnf/CMakeLists.txt | 1 + src/modules/plasmalnf/PlasmaLnfPage.cpp | 36 ++++++++--------- src/modules/plasmalnf/PlasmaLnfPage.h | 8 ++-- src/modules/plasmalnf/ThemeWidget.cpp | 52 +++++++++++++++++++++++++ src/modules/plasmalnf/ThemeWidget.h | 48 +++++++++++++++++++++++ src/modules/plasmalnf/page_plasmalnf.ui | 5 +-- 6 files changed, 125 insertions(+), 25 deletions(-) create mode 100644 src/modules/plasmalnf/ThemeWidget.cpp create mode 100644 src/modules/plasmalnf/ThemeWidget.h diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index 61b44862f..f752755a5 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -9,6 +9,7 @@ calamares_add_plugin( plasmalnf PlasmaLnfViewStep.cpp PlasmaLnfPage.cpp PlasmaLnfJob.cpp + ThemeWidget.cpp UI page_plasmalnf.ui LINK_PRIVATE_LIBRARIES diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 60ba79d68..e93002855 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -19,6 +19,7 @@ #include "PlasmaLnfPage.h" #include "ui_page_plasmalnf.h" +#include "ThemeWidget.h" #include "utils/Logger.h" #include "utils/Retranslator.h" @@ -47,6 +48,7 @@ static ThemeInfoList plasma_themes() PlasmaLnfPage::PlasmaLnfPage( QWidget* parent ) : QWidget( parent ) , ui( new Ui::PlasmaLnfPage ) + , m_buttonGroup( nullptr ) { ui->setupUi( this ); CALAMARES_RETRANSLATE( @@ -57,22 +59,6 @@ PlasmaLnfPage::PlasmaLnfPage( QWidget* parent ) fillUi(); } ) - - QObject::connect( ui->lnfCombo, &QComboBox::activated, this, &PlasmaLnfPage::activated ); -} - -void -PlasmaLnfPage::activated( int index ) -{ - if ( ( index < 0 ) || ( index > m_enabledThemes.length() ) ) - { - cDebug() << "Plasma LNF index" << index << "out of range."; - return; - } - - const ThemeInfo& lnf = m_enabledThemes.at( index ); - cDebug() << "Changed to" << index << lnf.id << lnf.name; - emit plasmaThemeSelected( lnf.id ); } void @@ -138,9 +124,23 @@ void PlasmaLnfPage::winnowThemes() void PlasmaLnfPage::fillUi() { - ui->lnfCombo->clear(); + if ( m_enabledThemes.isEmpty() ) + { + return; + } + + if ( m_buttonGroup ) + delete m_buttonGroup; + m_buttonGroup = new QButtonGroup( this ); + m_buttonGroup->setExclusive( true ); + + int c = 1; // After the general explanation for ( auto& theme : m_enabledThemes ) { - ui->lnfCombo->addItem( theme.name ); + ThemeWidget* w = new ThemeWidget( theme ); + m_buttonGroup->addButton( w->button() ); + ui->verticalLayout->insertWidget( c, w ); + connect( w, &ThemeWidget::themeSelected, this, &PlasmaLnfPage::plasmaThemeSelected); + ++c; } } diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index 6e9f36242..59fffc93a 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -19,12 +19,14 @@ #ifndef PLASMALNFPAGE_H #define PLASMALNFPAGE_H +#include #include #include #include #include #include "ThemeInfo.h" +#include "ThemeWidget.h" namespace Ui { @@ -40,9 +42,6 @@ public: void setLnfPath( const QString& path ); void setEnabledThemes( const ThemeInfoList& themes ); -public slots: - void activated( int index ); - signals: void plasmaThemeSelected( const QString& id ); @@ -57,6 +56,9 @@ private: Ui::PlasmaLnfPage* ui; QString m_lnfPath; ThemeInfoList m_enabledThemes; + + QButtonGroup *m_buttonGroup; + QList< ThemeWidget* > m_widgets; }; #endif //PLASMALNFPAGE_H diff --git a/src/modules/plasmalnf/ThemeWidget.cpp b/src/modules/plasmalnf/ThemeWidget.cpp new file mode 100644 index 000000000..2261c2c4f --- /dev/null +++ b/src/modules/plasmalnf/ThemeWidget.cpp @@ -0,0 +1,52 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "ThemeWidget.h" + +#include "ThemeInfo.h" + +#include +#include +#include + +ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) + : QWidget( parent ) + , m_check( new QRadioButton( info.name.isEmpty() ? info.id : info.name, parent ) ) + , m_id( info.id ) +{ + QHBoxLayout* layout = new QHBoxLayout( this ); + this->setLayout( layout ); + + layout->addWidget( m_check ); + layout->addWidget( new QLabel( "Image", this ) ); + + connect( m_check, &QRadioButton::clicked, this, &ThemeWidget::clicked ); +} + +void +ThemeWidget::clicked( bool checked ) +{ + if ( checked ) + emit themeSelected( m_id ); +} + +QAbstractButton* +ThemeWidget::button() const +{ + return m_check; +} diff --git a/src/modules/plasmalnf/ThemeWidget.h b/src/modules/plasmalnf/ThemeWidget.h new file mode 100644 index 000000000..837d362f4 --- /dev/null +++ b/src/modules/plasmalnf/ThemeWidget.h @@ -0,0 +1,48 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PLASMALNF_THEMEWIDGET_H +#define PLASMALNF_THEMEWIDGET_H + +#include + +class QAbstractButton; +class QRadioButton; +class ThemeInfo; + +class ThemeWidget : public QWidget +{ + Q_OBJECT +public: + explicit ThemeWidget( const ThemeInfo& info, QWidget* parent = nullptr ); + + QAbstractButton* button() const; + +signals: + void themeSelected( const QString& id ); + +public slots: + void clicked( bool ); + +private: + QString m_id; + QRadioButton* m_check; +} ; + +#endif + diff --git a/src/modules/plasmalnf/page_plasmalnf.ui b/src/modules/plasmalnf/page_plasmalnf.ui index 340527ad0..dfb906c22 100644 --- a/src/modules/plasmalnf/page_plasmalnf.ui +++ b/src/modules/plasmalnf/page_plasmalnf.ui @@ -13,7 +13,7 @@ Form - + @@ -28,9 +28,6 @@ margin-left: 2em; - - - From 38688bab47953b0edc857e8a38a9be05c936aeb4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Dec 2017 15:55:23 -0500 Subject: [PATCH 061/178] [partition] code style (minor followup to #872) --- .../partition/jobs/SetPartitionFlagsJob.cpp | 59 ++++++++++--------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp index 9a5ef67bc..938c3db89 100644 --- a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp +++ b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp @@ -31,8 +31,8 @@ #include SetPartFlagsJob::SetPartFlagsJob( Device* device, - Partition* partition, - PartitionTable::Flags flags ) + Partition* partition, + PartitionTable::Flags flags ) : PartitionJob( partition ) , m_device( device ) , m_flags( flags ) @@ -47,8 +47,8 @@ SetPartFlagsJob::prettyName() const if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Set flags on %1MB %2 partition." ) - .arg( partition()->capacity() /1024 /1024) - .arg( partition()->fileSystem().name() ); + .arg( partition()->capacity() /1024 /1024 ) + .arg( partition()->fileSystem().name() ); return tr( "Set flags on new partition." ); } @@ -62,12 +62,12 @@ SetPartFlagsJob::prettyDescription() const { if ( !partition()->partitionPath().isEmpty() ) return tr( "Clear flags on partition %1." ) - .arg( partition()->partitionPath() ); + .arg( partition()->partitionPath() ); if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Clear flags on %1MB %2 partition." ) - .arg( partition()->capacity() /1024 /1024) - .arg( partition()->fileSystem().name() ); + .arg( partition()->capacity() /1024 /1024 ) + .arg( partition()->fileSystem().name() ); return tr( "Clear flags on new partition." ); } @@ -75,18 +75,18 @@ SetPartFlagsJob::prettyDescription() const if ( !partition()->partitionPath().isEmpty() ) return tr( "Flag partition %1 as " "%2." ) - .arg( partition()->partitionPath() ) - .arg( flagsList.join( ", " ) ); + .arg( partition()->partitionPath() ) + .arg( flagsList.join( ", " ) ); if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Flag %1MB %2 partition as " "%3." ) - .arg( partition()->capacity() /1024 /1024) - .arg( partition()->fileSystem().name() ) - .arg( flagsList.join( ", " ) ); + .arg( partition()->capacity() /1024 /1024 ) + .arg( partition()->fileSystem().name() ) + .arg( flagsList.join( ", " ) ); return tr( "Flag new partition as %1." ) - .arg( flagsList.join( ", " ) ); + .arg( flagsList.join( ", " ) ); } @@ -98,12 +98,12 @@ SetPartFlagsJob::prettyStatusMessage() const { if ( !partition()->partitionPath().isEmpty() ) return tr( "Clearing flags on partition %1." ) - .arg( partition()->partitionPath() ); + .arg( partition()->partitionPath() ); if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Clearing flags on %1MB %2 partition." ) - .arg( partition()->capacity() /1024 /1024) - .arg( partition()->fileSystem().name() ); + .arg( partition()->capacity() /1024 /1024 ) + .arg( partition()->fileSystem().name() ); return tr( "Clearing flags on new partition." ); } @@ -111,33 +111,36 @@ SetPartFlagsJob::prettyStatusMessage() const if ( !partition()->partitionPath().isEmpty() ) return tr( "Setting flags %2 on partition " "%1." ) - .arg( partition()->partitionPath() ) - .arg( flagsList.join( ", " ) ); + .arg( partition()->partitionPath() ) + .arg( flagsList.join( ", " ) ); if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Setting flags %3 on " "%1MB %2 partition." ) - .arg( partition()->capacity() /1024 /1024) - .arg( partition()->fileSystem().name() ) - .arg( flagsList.join( ", " ) ); + .arg( partition()->capacity() /1024 /1024 ) + .arg( partition()->fileSystem().name() ) + .arg( flagsList.join( ", " ) ); return tr( "Setting flags %1 on new partition." ) - .arg( flagsList.join( ", " ) ); + .arg( flagsList.join( ", " ) ); } Calamares::JobResult SetPartFlagsJob::exec() { - Report report (nullptr); - SetPartFlagsOperation op(*m_device, *partition(), m_flags); - op.setStatus(Operation::StatusRunning); - connect(&op, &Operation::progress, [&](int percent) { emit progress(percent / 100.0); } ); + Report report ( nullptr ); + SetPartFlagsOperation op( *m_device, *partition(), m_flags ); + op.setStatus( Operation::StatusRunning ); + connect( &op, &Operation::progress, [&]( int percent ) + { + emit progress( percent / 100.0 ); + } ); QString errorMessage = tr( "The installer failed to set flags on partition %1." ) .arg( m_partition->partitionPath() ); - if (op.execute(report)) + if ( op.execute( report ) ) return Calamares::JobResult::ok(); - return Calamares::JobResult::error(errorMessage, report.toText()); + return Calamares::JobResult::error( errorMessage, report.toText() ); } From 5c4286eebfd0dd33b91d8a7971b90b50fa3642a0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Dec 2017 16:00:46 -0500 Subject: [PATCH 062/178] [partition] Switch to convenience function for MiB --- src/modules/partition/jobs/ResizePartitionJob.cpp | 12 ++++++++---- src/modules/partition/jobs/SetPartitionFlagsJob.cpp | 13 ++++++++----- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/modules/partition/jobs/ResizePartitionJob.cpp b/src/modules/partition/jobs/ResizePartitionJob.cpp index 41950d4df..d5a0e28e8 100644 --- a/src/modules/partition/jobs/ResizePartitionJob.cpp +++ b/src/modules/partition/jobs/ResizePartitionJob.cpp @@ -20,11 +20,15 @@ #include "jobs/ResizePartitionJob.h" +#include "utils/Units.h" + // KPMcore #include #include #include +using CalamaresUtils::BytesToMiB; + //- ResizePartitionJob --------------------------------------------------------- ResizePartitionJob::ResizePartitionJob( Device* device, Partition* partition, qint64 firstSector, qint64 lastSector ) : PartitionJob( partition ) @@ -51,8 +55,8 @@ ResizePartitionJob::prettyDescription() const return tr( "Resize %2MB partition %1 to " "%3MB." ) .arg( partition()->partitionPath() ) - .arg( ( m_oldLastSector - m_oldFirstSector + 1 ) * partition()->sectorSize() / 1024 / 1024 ) - .arg( ( m_newLastSector - m_newFirstSector + 1 ) * partition()->sectorSize() / 1024 / 1024 ); + .arg( ( BytesToMiB( m_oldLastSector - m_oldFirstSector + 1 ) * partition()->sectorSize() ) ) + .arg( ( BytesToMiB( m_newLastSector - m_newFirstSector + 1 ) * partition()->sectorSize() ) ); } @@ -62,8 +66,8 @@ ResizePartitionJob::prettyStatusMessage() const return tr( "Resizing %2MB partition %1 to " "%3MB." ) .arg( partition()->partitionPath() ) - .arg( ( m_oldLastSector - m_oldFirstSector + 1 ) * partition()->sectorSize() / 1024 / 1024 ) - .arg( ( m_newLastSector - m_newFirstSector + 1 ) * partition()->sectorSize() / 1024 / 1024 ); + .arg( ( BytesToMiB( m_oldLastSector - m_oldFirstSector + 1 ) * partition()->sectorSize() ) ) + .arg( ( BytesToMiB( m_newLastSector - m_newFirstSector + 1 ) * partition()->sectorSize() ) ); } diff --git a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp index 938c3db89..cadfd0261 100644 --- a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp +++ b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp @@ -22,6 +22,7 @@ #include "SetPartitionFlagsJob.h" #include "utils/Logger.h" +#include "utils/Units.h" // KPMcore #include @@ -30,6 +31,8 @@ #include #include +using CalamaresUtils::BytesToMiB; + SetPartFlagsJob::SetPartFlagsJob( Device* device, Partition* partition, PartitionTable::Flags flags ) @@ -47,7 +50,7 @@ SetPartFlagsJob::prettyName() const if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Set flags on %1MB %2 partition." ) - .arg( partition()->capacity() /1024 /1024 ) + .arg( BytesToMiB( partition()->capacity() ) ) .arg( partition()->fileSystem().name() ); return tr( "Set flags on new partition." ); @@ -66,7 +69,7 @@ SetPartFlagsJob::prettyDescription() const if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Clear flags on %1MB %2 partition." ) - .arg( partition()->capacity() /1024 /1024 ) + .arg( BytesToMiB( partition()->capacity() ) ) .arg( partition()->fileSystem().name() ); return tr( "Clear flags on new partition." ); @@ -81,7 +84,7 @@ SetPartFlagsJob::prettyDescription() const if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Flag %1MB %2 partition as " "%3." ) - .arg( partition()->capacity() /1024 /1024 ) + .arg( BytesToMiB( partition()->capacity() ) ) .arg( partition()->fileSystem().name() ) .arg( flagsList.join( ", " ) ); @@ -102,7 +105,7 @@ SetPartFlagsJob::prettyStatusMessage() const if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Clearing flags on %1MB %2 partition." ) - .arg( partition()->capacity() /1024 /1024 ) + .arg( BytesToMiB( partition()->capacity() ) ) .arg( partition()->fileSystem().name() ); return tr( "Clearing flags on new partition." ); @@ -117,7 +120,7 @@ SetPartFlagsJob::prettyStatusMessage() const if ( !partition()->fileSystem().name().isEmpty() ) return tr( "Setting flags %3 on " "%1MB %2 partition." ) - .arg( partition()->capacity() /1024 /1024 ) + .arg( BytesToMiB( partition()->capacity() ) ) .arg( partition()->fileSystem().name() ) .arg( flagsList.join( ", " ) ); From 55ed2ba4c078f2ab4700d6efdfc9fdc84ba5a13b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Dec 2017 16:09:54 -0500 Subject: [PATCH 063/178] [partition] Introduce convenience translation for progress. --- src/modules/partition/jobs/PartitionJob.cpp | 9 +++++++++ src/modules/partition/jobs/PartitionJob.h | 8 ++++++++ src/modules/partition/jobs/ResizePartitionJob.cpp | 2 +- src/modules/partition/jobs/SetPartitionFlagsJob.cpp | 5 +---- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/modules/partition/jobs/PartitionJob.cpp b/src/modules/partition/jobs/PartitionJob.cpp index a85540704..2de93ac47 100644 --- a/src/modules/partition/jobs/PartitionJob.cpp +++ b/src/modules/partition/jobs/PartitionJob.cpp @@ -21,3 +21,12 @@ PartitionJob::PartitionJob( Partition* partition ) : m_partition( partition ) {} + +void PartitionJob::progress(int percent) +{ + if ( percent < 0 ) + percent = 0; + if ( percent > 100 ) + percent = 100; + emit progress( qreal( percent / 100.0 ) ); +} diff --git a/src/modules/partition/jobs/PartitionJob.h b/src/modules/partition/jobs/PartitionJob.h index fc27e14f2..cf773d60e 100644 --- a/src/modules/partition/jobs/PartitionJob.h +++ b/src/modules/partition/jobs/PartitionJob.h @@ -37,6 +37,14 @@ public: return m_partition; } +public slots: + /** @brief Translate from KPMCore to Calamares progress. + * + * KPMCore presents progress as an integer percent from 0 .. 100, + * while Calamares uses a qreal from 0 .. 1.00 . + */ + void progress( int percent ); + protected: Partition* m_partition; }; diff --git a/src/modules/partition/jobs/ResizePartitionJob.cpp b/src/modules/partition/jobs/ResizePartitionJob.cpp index d5a0e28e8..340a19acd 100644 --- a/src/modules/partition/jobs/ResizePartitionJob.cpp +++ b/src/modules/partition/jobs/ResizePartitionJob.cpp @@ -80,7 +80,7 @@ ResizePartitionJob::exec() m_partition->setLastSector( m_oldLastSector ); ResizeOperation op(*m_device, *m_partition, m_newFirstSector, m_newLastSector); op.setStatus(Operation::StatusRunning); - connect(&op, &Operation::progress, [&](int percent) { emit progress(percent / 100.0); } ); + connect(&op, &Operation::progress, this, &ResizePartitionJob::progress ); QString errorMessage = tr( "The installer failed to resize partition %1 on disk '%2'." ) .arg( m_partition->partitionPath() ) diff --git a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp index cadfd0261..ecc8b2142 100644 --- a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp +++ b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp @@ -135,10 +135,7 @@ SetPartFlagsJob::exec() Report report ( nullptr ); SetPartFlagsOperation op( *m_device, *partition(), m_flags ); op.setStatus( Operation::StatusRunning ); - connect( &op, &Operation::progress, [&]( int percent ) - { - emit progress( percent / 100.0 ); - } ); + connect( &op, &Operation::progress, this, &SetPartFlagsJob::progress ); QString errorMessage = tr( "The installer failed to set flags on partition %1." ) .arg( m_partition->partitionPath() ); From 244919d6feb8344c76364a7e0ad31089d8a7ded1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Dec 2017 17:01:59 -0500 Subject: [PATCH 064/178] [plasmalnf] Add description to theme widget --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 11 +++++++++-- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 7 +++++-- src/modules/plasmalnf/ThemeInfo.h | 14 ++++++++++++-- src/modules/plasmalnf/ThemeWidget.cpp | 1 + src/modules/plasmalnf/ThemeWidget.h | 3 ++- 5 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index e93002855..501827003 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -19,7 +19,6 @@ #include "PlasmaLnfPage.h" #include "ui_page_plasmalnf.h" -#include "ThemeWidget.h" #include "utils/Logger.h" #include "utils/Retranslator.h" @@ -27,6 +26,13 @@ #include #include +ThemeInfo::ThemeInfo( const KPluginMetaData& data ) + : id( data.pluginId() ) + , name( data.name() ) + , description( data.description() ) +{ +} + static ThemeInfoList plasma_themes() { ThemeInfoList packages; @@ -37,7 +43,7 @@ static ThemeInfoList plasma_themes() { if ( data.isValid() && !data.isHidden() && !data.name().isEmpty() ) { - packages << ThemeInfo{ data.pluginId(), data.name() }; + packages << ThemeInfo{ data }; } } @@ -89,6 +95,7 @@ void PlasmaLnfPage::updateThemeNames() if ( t != nullptr ) { enabled_theme.name = t->name; + enabled_theme.description = t->description; } } } diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index ad4e531b5..4dcfd2f47 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -142,14 +142,17 @@ PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { ThemeInfoList allThemes; auto themeList = configurationMap.value( "themes" ).toList(); + // Create the ThemInfo objects for the listed themes; information + // about the themes from Plasma (e.g. human-readable name and description) + // are filled in by update_names() in PlasmaLnfPage. for ( const auto& i : themeList ) if ( i.type() == QVariant::Map ) { auto iv = i.toMap(); - allThemes.append( ThemeInfo( iv.value( "theme" ).toString(), QString(), iv.value( "image" ).toString() ) ); + allThemes.append( ThemeInfo( iv.value( "theme" ).toString(), iv.value( "image" ).toString() ) ); } else if ( i.type() == QVariant::String ) - allThemes.append( ThemeInfo( i.toString(), QString() ) ); + allThemes.append( ThemeInfo( i.toString() ) ); if ( allThemes.length() == 1 ) cDebug() << "WARNING: only one theme enabled in plasmalnf"; diff --git a/src/modules/plasmalnf/ThemeInfo.h b/src/modules/plasmalnf/ThemeInfo.h index 863043969..f11083485 100644 --- a/src/modules/plasmalnf/ThemeInfo.h +++ b/src/modules/plasmalnf/ThemeInfo.h @@ -22,6 +22,8 @@ #include #include +class KPluginMetaData; + /** @brief describes a single plasma LnF theme. * * A theme description has an id, which is really the name of the desktop @@ -33,17 +35,25 @@ struct ThemeInfo { QString id; QString name; + QString description; QString imagePath; ThemeInfo() {} - ThemeInfo( const QString& _id, const QString& _name, const QString& image = QString() ) + explicit ThemeInfo( const QString& _id ) + : id( _id ) + { + } + + explicit ThemeInfo( const QString& _id, const QString& image ) : id( _id ) - , name( _name ) , imagePath( image ) {} + // Defined in PlasmaLnfPage.cpp + explicit ThemeInfo( const KPluginMetaData& ); + bool isValid() const { return !id.isEmpty(); } } ; diff --git a/src/modules/plasmalnf/ThemeWidget.cpp b/src/modules/plasmalnf/ThemeWidget.cpp index 2261c2c4f..b2f8143bc 100644 --- a/src/modules/plasmalnf/ThemeWidget.cpp +++ b/src/modules/plasmalnf/ThemeWidget.cpp @@ -34,6 +34,7 @@ ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) layout->addWidget( m_check ); layout->addWidget( new QLabel( "Image", this ) ); + layout->addWidget( new QLabel( info.description, this ) ); connect( m_check, &QRadioButton::clicked, this, &ThemeWidget::clicked ); } diff --git a/src/modules/plasmalnf/ThemeWidget.h b/src/modules/plasmalnf/ThemeWidget.h index 837d362f4..42f064039 100644 --- a/src/modules/plasmalnf/ThemeWidget.h +++ b/src/modules/plasmalnf/ThemeWidget.h @@ -23,7 +23,8 @@ class QAbstractButton; class QRadioButton; -class ThemeInfo; + +struct ThemeInfo; class ThemeWidget : public QWidget { From 2db485bb332ea9d7a724aa82f13322e6f0532a29 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Dec 2017 17:04:16 -0500 Subject: [PATCH 065/178] [plasmalnf] Improve layout of theme widget --- src/modules/plasmalnf/ThemeWidget.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/plasmalnf/ThemeWidget.cpp b/src/modules/plasmalnf/ThemeWidget.cpp index b2f8143bc..2c9251e5f 100644 --- a/src/modules/plasmalnf/ThemeWidget.cpp +++ b/src/modules/plasmalnf/ThemeWidget.cpp @@ -32,9 +32,9 @@ ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) QHBoxLayout* layout = new QHBoxLayout( this ); this->setLayout( layout ); - layout->addWidget( m_check ); - layout->addWidget( new QLabel( "Image", this ) ); - layout->addWidget( new QLabel( info.description, this ) ); + layout->addWidget( m_check, 1 ); + layout->addWidget( new QLabel( "Image", this ), 1 ); + layout->addWidget( new QLabel( info.description, this ), 3 ); connect( m_check, &QRadioButton::clicked, this, &ThemeWidget::clicked ); } From a2e3af2b3db1bda40fa36fe833b0107907090c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 15 Dec 2017 11:37:02 +0000 Subject: [PATCH 066/178] Require KPMcore 3.3 --- src/modules/partition/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 61508c567..1ed986836 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -6,7 +6,7 @@ include(GenerateExportHeader) find_package( Qt5 REQUIRED DBus ) find_package( KF5 REQUIRED Config CoreAddons I18n WidgetsAddons ) -find_package( KPMcore 3.2 REQUIRED ) +find_package( KPMcore 3.3 REQUIRED ) include_directories( ${KPMCORE_INCLUDE_DIR} ) include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) From 3f258d4bd9c8c3f890d4b4e60cd89edd787475d0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Dec 2017 07:07:47 -0500 Subject: [PATCH 067/178] [plasmalnf] Fallback for image-not-found - calculate a hash of the filename, and use that - makes it possible to distinguish different screenshots even when the image file is missing / badly configured - most colors will be dreadful --- src/modules/plasmalnf/ThemeWidget.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/modules/plasmalnf/ThemeWidget.cpp b/src/modules/plasmalnf/ThemeWidget.cpp index 2c9251e5f..c7256cce3 100644 --- a/src/modules/plasmalnf/ThemeWidget.cpp +++ b/src/modules/plasmalnf/ThemeWidget.cpp @@ -20,6 +20,8 @@ #include "ThemeInfo.h" +#include "utils/Logger.h" + #include #include #include @@ -33,7 +35,25 @@ ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) this->setLayout( layout ); layout->addWidget( m_check, 1 ); - layout->addWidget( new QLabel( "Image", this ), 1 ); + + constexpr QSize image_size{240, 160}; + + QPixmap image( info.imagePath ); + if ( image.isNull() ) + { + // Not found or not specified, so convert the name into some (horrible, likely) + // color instead. + image = QPixmap( image_size ); + uint hash_color = qHash( info.imagePath ); + cDebug() << "Theme image" << info.imagePath << "not found, hash" << hash_color; + image.fill( QColor( QRgb( hash_color ) ) ); + } + else + image.scaled( image_size ); + + QLabel* image_label = new QLabel( this ); + image_label->setPixmap( image ); + layout->addWidget( image_label, 1 ); layout->addWidget( new QLabel( info.description, this ), 3 ); connect( m_check, &QRadioButton::clicked, this, &ThemeWidget::clicked ); From cf39dddbf30306954604519dd36e2a659b035315 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Dec 2017 07:20:32 -0500 Subject: [PATCH 068/178] [plasmalnf] Prevent duplicate widgets - Only create widgets for themes once - Update visible texts as needed --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 26 +++++++++++++++++-------- src/modules/plasmalnf/ThemeInfo.h | 5 +++++ src/modules/plasmalnf/ThemeWidget.cpp | 11 +++++++++-- src/modules/plasmalnf/ThemeWidget.h | 4 ++++ 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 501827003..916e6db64 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -30,6 +30,7 @@ ThemeInfo::ThemeInfo( const KPluginMetaData& data ) : id( data.pluginId() ) , name( data.name() ) , description( data.description() ) + , widget( nullptr ) { } @@ -136,18 +137,27 @@ void PlasmaLnfPage::fillUi() return; } - if ( m_buttonGroup ) - delete m_buttonGroup; - m_buttonGroup = new QButtonGroup( this ); - m_buttonGroup->setExclusive( true ); + if ( !m_buttonGroup ) + { + m_buttonGroup = new QButtonGroup( this ); + m_buttonGroup->setExclusive( true ); + } int c = 1; // After the general explanation for ( auto& theme : m_enabledThemes ) { - ThemeWidget* w = new ThemeWidget( theme ); - m_buttonGroup->addButton( w->button() ); - ui->verticalLayout->insertWidget( c, w ); - connect( w, &ThemeWidget::themeSelected, this, &PlasmaLnfPage::plasmaThemeSelected); + if ( !theme.widget ) + { + ThemeWidget* w = new ThemeWidget( theme ); + m_buttonGroup->addButton( w->button() ); + ui->verticalLayout->insertWidget( c, w ); + connect( w, &ThemeWidget::themeSelected, this, &PlasmaLnfPage::plasmaThemeSelected); + theme.widget = w; + } + else + { + theme.widget->updateThemeName( theme ); + } ++c; } } diff --git a/src/modules/plasmalnf/ThemeInfo.h b/src/modules/plasmalnf/ThemeInfo.h index f11083485..b186b9be1 100644 --- a/src/modules/plasmalnf/ThemeInfo.h +++ b/src/modules/plasmalnf/ThemeInfo.h @@ -23,6 +23,7 @@ #include class KPluginMetaData; +class ThemeWidget; /** @brief describes a single plasma LnF theme. * @@ -37,18 +38,22 @@ struct ThemeInfo QString name; QString description; QString imagePath; + ThemeWidget* widget; ThemeInfo() + : widget( nullptr ) {} explicit ThemeInfo( const QString& _id ) : id( _id ) + , widget( nullptr ) { } explicit ThemeInfo( const QString& _id, const QString& image ) : id( _id ) , imagePath( image ) + , widget( nullptr ) {} // Defined in PlasmaLnfPage.cpp diff --git a/src/modules/plasmalnf/ThemeWidget.cpp b/src/modules/plasmalnf/ThemeWidget.cpp index c7256cce3..fac3980c5 100644 --- a/src/modules/plasmalnf/ThemeWidget.cpp +++ b/src/modules/plasmalnf/ThemeWidget.cpp @@ -29,6 +29,7 @@ ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) : QWidget( parent ) , m_check( new QRadioButton( info.name.isEmpty() ? info.id : info.name, parent ) ) + , m_description( new QLabel( info.description, parent ) ) , m_id( info.id ) { QHBoxLayout* layout = new QHBoxLayout( this ); @@ -44,7 +45,7 @@ ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) // Not found or not specified, so convert the name into some (horrible, likely) // color instead. image = QPixmap( image_size ); - uint hash_color = qHash( info.imagePath ); + uint hash_color = qHash( info.imagePath.isEmpty() ? info.id : info.imagePath ); cDebug() << "Theme image" << info.imagePath << "not found, hash" << hash_color; image.fill( QColor( QRgb( hash_color ) ) ); } @@ -54,7 +55,7 @@ ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) QLabel* image_label = new QLabel( this ); image_label->setPixmap( image ); layout->addWidget( image_label, 1 ); - layout->addWidget( new QLabel( info.description, this ), 3 ); + layout->addWidget( m_description, 3 ); connect( m_check, &QRadioButton::clicked, this, &ThemeWidget::clicked ); } @@ -71,3 +72,9 @@ ThemeWidget::button() const { return m_check; } + +void ThemeWidget::updateThemeName(const ThemeInfo& info) +{ + m_check->setText( info.name ); + m_description->setText( info.description ); +} diff --git a/src/modules/plasmalnf/ThemeWidget.h b/src/modules/plasmalnf/ThemeWidget.h index 42f064039..a6716ce72 100644 --- a/src/modules/plasmalnf/ThemeWidget.h +++ b/src/modules/plasmalnf/ThemeWidget.h @@ -22,6 +22,7 @@ #include class QAbstractButton; +class QLabel; class QRadioButton; struct ThemeInfo; @@ -34,6 +35,8 @@ public: QAbstractButton* button() const; + void updateThemeName( const ThemeInfo& info ); + signals: void themeSelected( const QString& id ); @@ -43,6 +46,7 @@ public slots: private: QString m_id; QRadioButton* m_check; + QLabel* m_description; } ; #endif From e73d54767d497ec201797e23632ff58401b02641 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Dec 2017 07:57:19 -0500 Subject: [PATCH 069/178] [plasmalnf] Expand explanation, drop CSS --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 2 +- src/modules/plasmalnf/page_plasmalnf.ui | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 916e6db64..0c3d94079 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -61,7 +61,7 @@ PlasmaLnfPage::PlasmaLnfPage( QWidget* parent ) CALAMARES_RETRANSLATE( { ui->retranslateUi( this ); - ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop, below." ) ); + ui->generalExplanation->setText( tr( "Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed." ) ); updateThemeNames(); fillUi(); } diff --git a/src/modules/plasmalnf/page_plasmalnf.ui b/src/modules/plasmalnf/page_plasmalnf.ui index dfb906c22..6da6647fd 100644 --- a/src/modules/plasmalnf/page_plasmalnf.ui +++ b/src/modules/plasmalnf/page_plasmalnf.ui @@ -16,10 +16,6 @@ - - margin-bottom: 1ex; -margin-left: 2em; - Placeholder From 10e71bab30ec2236de9b089947af2a7fcf3095e6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Dec 2017 12:21:05 +0100 Subject: [PATCH 070/178] [plasmalnf] Add Breeze 'view-preview' icon for missing screenshots --- src/modules/plasmalnf/page_plasmalnf.qrc | 6 +++++- src/modules/plasmalnf/view-preview.png | Bin 0 -> 560 bytes src/modules/plasmalnf/view-preview.svg | 13 +++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 src/modules/plasmalnf/view-preview.png create mode 100644 src/modules/plasmalnf/view-preview.svg diff --git a/src/modules/plasmalnf/page_plasmalnf.qrc b/src/modules/plasmalnf/page_plasmalnf.qrc index 7646d2b36..c63ecc03b 100644 --- a/src/modules/plasmalnf/page_plasmalnf.qrc +++ b/src/modules/plasmalnf/page_plasmalnf.qrc @@ -1 +1,5 @@ - + + + view-preview.png + + diff --git a/src/modules/plasmalnf/view-preview.png b/src/modules/plasmalnf/view-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..8e5f07ba9018e2708d9825b2446ea3ae5cc98d91 GIT binary patch literal 560 zcmeAS@N?(olHy`uVBq!ia0vp^6+j%o!3HER&ED7vq&N#aB8wRq_>O=u<5X=vX$A(y zN1iT@Ar*7p-tt|w*g>N8;bmXvV@=ituaqXSN*pXyTX(QAx`X+k>=iyHwUjw;9H&2I znl#atWBbmRe@gO-w@y0s+owgSi=TgfsF)Yf3N&y)q3(v>18bMSEBu!K(>7P$eE#Kh z8RPxby>a|T?`!PjQ|@j2vn7_H?WqrY{k77$J%(Ag!zPKeExcqh_5JT@+S2ojW$%>E z-J}yNz_MzUS7@jv2UBX~vURU>rkh(mXEHmc(U+|1sdWDHlgfFMR03s=8y&l$mtS&@ z_0G1nX`62z{ZV4|_w%Vb^>eH}#phUM+7_1WzI*gX-TrWiHZiSDr+3Dd%vyG8lh37> zTXp6hTKhUGH8N_=8NTOC-)iGiBTq>z-nCA3?yg-rr)SUiJpMRv^2wAlMju53MZW%D zojI#+W5gHV%Q1WHzZkx_Fekcs|DxPzQP+hko*^Pfqu*_cKcp;MV + + + + + From f2aeecf546ce1d338e679eaf772d432e393a8f01 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Dec 2017 12:28:42 +0100 Subject: [PATCH 071/178] [plasmalnf] Improve screenshot view - make screenies smaller - use view-preview to indicate no-screenshot-specified --- src/modules/plasmalnf/CMakeLists.txt | 2 ++ src/modules/plasmalnf/ThemeWidget.cpp | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index f752755a5..8148a80e9 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -10,6 +10,8 @@ calamares_add_plugin( plasmalnf PlasmaLnfPage.cpp PlasmaLnfJob.cpp ThemeWidget.cpp + RESOURCES + page_plasmalnf.qrc UI page_plasmalnf.ui LINK_PRIVATE_LIBRARIES diff --git a/src/modules/plasmalnf/ThemeWidget.cpp b/src/modules/plasmalnf/ThemeWidget.cpp index fac3980c5..28e01c2ff 100644 --- a/src/modules/plasmalnf/ThemeWidget.cpp +++ b/src/modules/plasmalnf/ThemeWidget.cpp @@ -37,10 +37,15 @@ ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) layout->addWidget( m_check, 1 ); - constexpr QSize image_size{240, 160}; + constexpr QSize image_size{120, 80}; QPixmap image( info.imagePath ); - if ( image.isNull() ) + if ( info.imagePath.isEmpty() ) + { + // Image can't possibly be valid + image = QPixmap( ":/view-preview.png" ); + } + else if ( image.isNull() ) { // Not found or not specified, so convert the name into some (horrible, likely) // color instead. From d5b46dfb8650e019b81f953c0e5ebb9271a2d87d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Dec 2017 12:51:56 +0100 Subject: [PATCH 072/178] [plasmalnf] Improve theme-listing handling - if key is missing or badly typed, enable all (explicitly) - document settings and code --- src/modules/plasmalnf/PlasmaLnfPage.cpp | 12 ++++++++---- src/modules/plasmalnf/PlasmaLnfPage.h | 9 +++++++++ src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 2 ++ src/modules/plasmalnf/plasmalnf.conf | 12 +++++++----- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 0c3d94079..2b171cc40 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -77,16 +77,20 @@ PlasmaLnfPage::setLnfPath( const QString& path ) void PlasmaLnfPage::setEnabledThemes(const ThemeInfoList& themes) { - if ( themes.isEmpty() ) - m_enabledThemes = plasma_themes(); - else - m_enabledThemes = themes; + m_enabledThemes = themes; updateThemeNames(); winnowThemes(); fillUi(); } +void +PlasmaLnfPage::setEnabledThemesAll() +{ + setEnabledThemes( plasma_themes() ); +} + + void PlasmaLnfPage::updateThemeNames() { auto plasmaThemes = plasma_themes(); diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index 59fffc93a..e489e99a7 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -33,6 +33,12 @@ namespace Ui class PlasmaLnfPage; } +/** @brief Page for selecting a Plasma Look-and-Feel theme. + * + * You must call setEnabledThemes -- either overload -- once + * to get the selection widgets. Note that calling that with + * an empty list will result in zero (0) selectable themes. + */ class PlasmaLnfPage : public QWidget { Q_OBJECT @@ -40,7 +46,10 @@ public: explicit PlasmaLnfPage( QWidget* parent = nullptr ); void setLnfPath( const QString& path ); + /** @brief enable only the listed themes. */ void setEnabledThemes( const ThemeInfoList& themes ); + /** @brief enable all installed plasma themes. */ + void setEnabledThemesAll(); signals: void plasmaThemeSelected( const QString& id ); diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index 4dcfd2f47..db8529d56 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -158,6 +158,8 @@ PlasmaLnfViewStep::setConfigurationMap( const QVariantMap& configurationMap ) cDebug() << "WARNING: only one theme enabled in plasmalnf"; m_widget->setEnabledThemes( allThemes ); } + else + m_widget->setEnabledThemesAll(); // All of them } void diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf index 4aeca2471..aa9865117 100644 --- a/src/modules/plasmalnf/plasmalnf.conf +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -12,12 +12,14 @@ lnftool: "/usr/bin/lookandfeeltool" # liveuser: "live" # You can limit the list of Plasma look-and-feel themes by listing ids -# here. If this key is not present, or the list is empty, all of the -# installed themes are listed. If only one theme is listed, why are -# you using this module at all? Themes may be listed by id, -# (e.g. fluffy-bunny, below) or as a theme and an image (e.g. breeze) -# which will be used to show a screenshot. +# here. If this key is not present, all of the installed themes are listed. +# If the key is present, only installed themes that are *also* included +# in the list are shown (could be none!). # +# Themes may be listed by id, (e.g. fluffy-bunny, below) or as a theme +# and an image (e.g. breeze) which will be used to show a screenshot. +# Themes with no image get a "missing screenshot" image; if the +# image file is not found, they get a color swatch based on the image name. themes: - org.kde.fuzzy-pig.desktop - theme: org.kde.breeze.desktop From d4acbb437455282b790d7b74b3a02339c3f77ec4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Dec 2017 16:11:51 -0500 Subject: [PATCH 073/178] Documentation: reformat settings.conf - format for 80 columns - blank line between paragraphs - remove some outdated things - add more explanation for instances --- settings.conf | 136 ++++++++++++++++++++++++++++---------------------- 1 file changed, 75 insertions(+), 61 deletions(-) diff --git a/settings.conf b/settings.conf index 4398ea817..cb514fc17 100644 --- a/settings.conf +++ b/settings.conf @@ -1,36 +1,43 @@ # Configuration file for Calamares # Syntax is YAML 1.2 --- -# Modules can be job modules (with different interfaces) and QtWidgets view modules. -# They could all be placed in a number of different paths. -# "modules-search" is a list of strings, each of these can either be a full path to a -# directory or the keyword "local". -# "local" means LIBDIR/calamares/modules with settings in SHARE/calamares/modules or -# /etc/calamares/modules. +# Modules can be job modules (with different interfaces) and QtWidgets view +# modules. They could all be placed in a number of different paths. +# "modules-search" is a list of strings, each of these can either be a full +# path to a directory or the keyword "local". +# +# "local" means: +# - modules in $LIBDIR/calamares/moduleswith +# - settings in SHARE/calamares/modules or /etc/calamares/modules. +# # YAML: list of strings. modules-search: [ local ] -# Instances section. This section is optional, and it defines custom instances for -# modules of any kind. An instance entry has an instance name, a module name, and -# a configuration file name. -# The primary goal of this mechanism is to allow loading multiple instances of the -# same module, with different configuration. If you don't need this, the instances -# section can safely be left empty. -# Module name plus instance name makes an instance key, e.g. "webview@owncloud", -# where "webview" is the module name (for the webview viewmodule) and "owncloud" -# is the instance name, which loads a configuration file named "owncloud.conf" from -# any of the configuration file paths, including the webview module directory. -# This instance key can then be referenced in the sequence section. -# For all modules without a custom instance specification, a default instance is -# generated automatically by Calamares. Therefore a statement such as "webview" in -# the sequence section automatically implies an instance key of "webview@webview" -# even without explicitly defining this instance, and the configuration file for -# this default instance "@" is always assumed to be -# ".conf". -# For more information on running module instances, run Calamares in debug mode -# and check the Modules page in the Debug information interface. +# Instances section. This section is optional, and it defines custom instances +# for modules of any kind. An instance entry has an instance name, a module +# name, and a configuration file name. The primary goal of this mechanism is +# to allow loading multiple instances of the same module, with different +# configuration. If you don't need this, the instances section can safely be +# left empty. +# +# Module name plus instance name makes an instance key, e.g. +# "webview@owncloud", where "webview" is the module name (for the webview +# viewmodule) and "owncloud" is the instance name, which loads a configuration +# file named "owncloud.conf" from any of the configuration file paths, +# including the webview module directory. This instance key can then be +# referenced in the sequence section. +# +# For all modules without a custom instance specification, a default instance +# is generated automatically by Calamares. Therefore a statement such as +# "webview" in the sequence section automatically implies an instance key of +# "webview@webview" even without explicitly defining this instance, and the +# configuration file for this default instance "@" is +# always assumed to be ".conf". +# +# For more information on running module instances, run Calamares in debug +# mode and check the Modules page in the Debug information interface. +# # YAML: list of maps of string:string key-value pairs. - #instances: #- id: owncloud # module: webview @@ -38,25 +45,25 @@ modules-search: [ local ] # Sequence section. This section describes the sequence of modules, both # viewmodules and jobmodules, as they should appear and/or run. +# # A jobmodule instance key (or name) can only appear in an exec phase, whereas # a viewmodule instance key (or name) can appear in both exec and show phases. -# There is no limit to the number of show or exec phases. However, the same module -# instance key should not appear more than once per phase, and deployers should -# take notice that the global storage structure is persistent throughout the -# application lifetime, possibly influencing behavior across phases. -# A show phase defines a sequence of viewmodules (and therefore pages). These -# viewmodules can offer up jobs for the execution queue. -# An exec phase displays a progress page (with brandable slideshow). This progress -# page iterates over the modules listed in the *immediately preceding* show phase, -# and enqueues their jobs, as well as any other jobs from jobmodules, in the order -# defined in the current exec phase. -# It then executes the job queue and clears it. If a viewmodule offers up a job -# for execution, but the module name (or instance key) isn't listed in the +# There is no limit to the number of show or exec phases. However, the same +# module instance key should not appear more than once per phase, and +# deployers should take notice that the global storage structure is persistent +# throughout the application lifetime, possibly influencing behavior across +# phases. A show phase defines a sequence of viewmodules (and therefore +# pages). These viewmodules can offer up jobs for the execution queue. +# +# An exec phase displays a progress page (with brandable slideshow). This +# progress page iterates over the modules listed in the *immediately +# preceding* show phase, and enqueues their jobs, as well as any other jobs +# from jobmodules, in the order defined in the current exec phase. +# +# It then executes the job queue and clears it. If a viewmodule offers up a +# job for execution, but the module name (or instance key) isn't listed in the # immediately following exec phase, this job will not be executed. -# WARNING: when upgrading from Calamares 1.1, this section requires manual -# intervention. There are no fixed prepare/install/postinstall phases any more, -# and all limitations on the number of phases, number of pages, and number of -# instances are lifted. +# # YAML: list of lists of strings. sequence: - show: @@ -101,30 +108,37 @@ sequence: # - webview@owncloud - finished -# A branding component is a directory, either in SHARE/calamares/branding or in -# /etc/calamares/branding (the latter takes precedence). The directory must contain a -# YAML file branding.desc which may reference additional resources (such as images) as -# paths relative to the current directory. -# A branding component can also ship a QML slideshow for execution pages, along with -# translation files. -# Only the name of the branding component (directory) should be specified here, Calamares -# then takes care of finding it and loading the contents. +# A branding component is a directory, either in SHARE/calamares/branding or +# in /etc/calamares/branding (the latter takes precedence). The directory must +# contain a YAML file branding.desc which may reference additional resources +# (such as images) as paths relative to the current directory. +# +# A branding component can also ship a QML slideshow for execution pages, +# along with translation files. +# +# Only the name of the branding component (directory) should be specified +# here, Calamares then takes care of finding it and loading the contents. +# # YAML: string. branding: default -# If this is set to true, Calamares will show an "Are you sure?" prompt right before -# each execution phase, i.e. at points of no return. If this is set to false, no prompt -# is shown. -# Default is false. +# If this is set to true, Calamares will show an "Are you sure?" prompt right +# before each execution phase, i.e. at points of no return. If this is set to +# false, no prompt is shown. Default is false. +# # YAML: boolean. prompt-install: false -# If this is set to true, Calamares will execute all target environment commands in the -# current environment, without chroot. This setting is considered experimental, and it -# should only be used when setting up Calamares as a post-install configuration tool, as -# opposed to a full operating system installer. -# Some official Calamares modules are not expected to function with this setting. -# Packagers beware, here be dragons. -# Default is false. +# If this is set to true, Calamares will execute all target environment +# commands in the current environment, without chroot. This setting should +# only be used when setting up Calamares as a post-install configuration tool, +# as opposed to a full operating system installer. +# +# Some official Calamares modules are not expected to function with this +# setting. (e.g. partitioning seems like a bad idea, since that is expected to +# have been done already) +# +# Default is false (for a normal installer). +# # YAML: boolean. dont-chroot: false From 1b35ce34c5bef8d5fb1b5e59a263fa7d7c227303 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Dec 2017 16:16:26 -0500 Subject: [PATCH 074/178] Documentation: explain dummyprocess The dummyprocess module can be used to run a single shell command; it can be used effectively with instances to run one or more commands during installation. --- settings.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/settings.conf b/settings.conf index cb514fc17..546b08d39 100644 --- a/settings.conf +++ b/settings.conf @@ -37,6 +37,10 @@ modules-search: [ local ] # For more information on running module instances, run Calamares in debug # mode and check the Modules page in the Debug information interface. # +# A module that is often used with instances is dummyprocess, which will +# run a single (shell) command. By configuring more than one instance of +# the module, multiple shell commands can be run during install. +# # YAML: list of maps of string:string key-value pairs. #instances: #- id: owncloud From c2ee0c6ed45473e8c40a147ae0d7d4dbe9cdcb09 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Dec 2017 16:17:09 -0500 Subject: [PATCH 075/178] CMake: bump version number --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 53e989975..2a43d3205 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -176,7 +176,7 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX ### Bump version here set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 1 ) -set( CALAMARES_VERSION_PATCH 10 ) +set( CALAMARES_VERSION_PATCH 11 ) set( CALAMARES_VERSION_RC 0 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) From 762ad543440df3f1a54d3b02dc471867718cf75c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 20 Dec 2017 08:39:09 -0500 Subject: [PATCH 076/178] Documentation: change http links to GitHub to https --- ci/HACKING.md | 2 +- src/branding/default/show.qml | 2 +- src/calamares/CalamaresApplication.cpp | 2 +- src/calamares/CalamaresApplication.h | 2 +- src/calamares/CalamaresWindow.cpp | 2 +- src/calamares/CalamaresWindow.h | 2 +- src/calamares/main.cpp | 2 +- src/calamares/progresstree/ProgressTreeDelegate.cpp | 2 +- src/calamares/progresstree/ProgressTreeDelegate.h | 2 +- src/calamares/progresstree/ProgressTreeItem.cpp | 2 +- src/calamares/progresstree/ProgressTreeItem.h | 2 +- src/calamares/progresstree/ProgressTreeModel.cpp | 2 +- src/calamares/progresstree/ProgressTreeModel.h | 2 +- src/calamares/progresstree/ProgressTreeView.cpp | 2 +- src/calamares/progresstree/ProgressTreeView.h | 2 +- src/calamares/progresstree/ViewStepItem.cpp | 2 +- src/calamares/progresstree/ViewStepItem.h | 2 +- src/libcalamares/CppJob.cpp | 2 +- src/libcalamares/CppJob.h | 2 +- src/libcalamares/DllMacro.h | 2 +- src/libcalamares/GlobalStorage.cpp | 2 +- src/libcalamares/GlobalStorage.h | 2 +- src/libcalamares/Job.cpp | 2 +- src/libcalamares/Job.h | 2 +- src/libcalamares/JobQueue.cpp | 2 +- src/libcalamares/JobQueue.h | 2 +- src/libcalamares/PluginDllMacro.h | 2 +- src/libcalamares/ProcessJob.cpp | 2 +- src/libcalamares/ProcessJob.h | 2 +- src/libcalamares/PythonHelper.cpp | 2 +- src/libcalamares/PythonHelper.h | 2 +- src/libcalamares/PythonJob.cpp | 2 +- src/libcalamares/PythonJob.h | 2 +- src/libcalamares/PythonJobApi.cpp | 2 +- src/libcalamares/PythonJobApi.h | 2 +- src/libcalamares/Typedefs.h | 2 +- src/libcalamares/utils/CalamaresUtils.cpp | 2 +- src/libcalamares/utils/CalamaresUtils.h | 2 +- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 2 +- src/libcalamares/utils/CalamaresUtilsSystem.h | 2 +- src/libcalamares/utils/Logger.cpp | 2 +- src/libcalamares/utils/Logger.h | 2 +- src/libcalamares/utils/PluginFactory.cpp | 2 +- src/libcalamares/utils/PluginFactory.h | 2 +- src/libcalamares/utils/PluginFactory_p.h | 2 +- src/libcalamares/utils/Retranslator.cpp | 2 +- src/libcalamares/utils/Retranslator.h | 2 +- src/libcalamares/utils/Units.h | 2 +- src/libcalamaresui/Branding.cpp | 2 +- src/libcalamaresui/Branding.h | 2 +- src/libcalamaresui/ExecutionViewStep.cpp | 2 +- src/libcalamaresui/ExecutionViewStep.h | 2 +- src/libcalamaresui/Settings.cpp | 2 +- src/libcalamaresui/Settings.h | 2 +- src/libcalamaresui/UiDllMacro.h | 2 +- src/libcalamaresui/ViewManager.cpp | 2 +- src/libcalamaresui/ViewManager.h | 2 +- src/libcalamaresui/modulesystem/CppJobModule.cpp | 2 +- src/libcalamaresui/modulesystem/CppJobModule.h | 2 +- src/libcalamaresui/modulesystem/Module.cpp | 2 +- src/libcalamaresui/modulesystem/Module.h | 2 +- src/libcalamaresui/modulesystem/ModuleManager.cpp | 2 +- src/libcalamaresui/modulesystem/ModuleManager.h | 2 +- src/libcalamaresui/modulesystem/ProcessJobModule.cpp | 2 +- src/libcalamaresui/modulesystem/ProcessJobModule.h | 2 +- src/libcalamaresui/modulesystem/PythonJobModule.cpp | 2 +- src/libcalamaresui/modulesystem/PythonJobModule.h | 2 +- src/libcalamaresui/modulesystem/PythonQtViewModule.cpp | 2 +- src/libcalamaresui/modulesystem/PythonQtViewModule.h | 2 +- src/libcalamaresui/modulesystem/ViewModule.cpp | 2 +- src/libcalamaresui/modulesystem/ViewModule.h | 2 +- src/libcalamaresui/utils/CalamaresUtilsGui.cpp | 2 +- src/libcalamaresui/utils/CalamaresUtilsGui.h | 2 +- src/libcalamaresui/utils/DebugWindow.cpp | 2 +- src/libcalamaresui/utils/DebugWindow.h | 2 +- src/libcalamaresui/utils/PythonQtUtils.cpp | 2 +- src/libcalamaresui/utils/PythonQtUtils.h | 2 +- src/libcalamaresui/utils/YamlUtils.cpp | 2 +- src/libcalamaresui/utils/YamlUtils.h | 2 +- src/libcalamaresui/viewpages/AbstractPage.cpp | 2 +- src/libcalamaresui/viewpages/AbstractPage.h | 2 +- src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp | 2 +- src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h | 2 +- src/libcalamaresui/viewpages/PythonQtJob.cpp | 2 +- src/libcalamaresui/viewpages/PythonQtJob.h | 2 +- src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp | 2 +- src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h | 2 +- src/libcalamaresui/viewpages/PythonQtViewStep.cpp | 2 +- src/libcalamaresui/viewpages/PythonQtViewStep.h | 2 +- src/libcalamaresui/viewpages/ViewStep.cpp | 2 +- src/libcalamaresui/viewpages/ViewStep.h | 2 +- src/libcalamaresui/widgets/ClickableLabel.cpp | 2 +- src/libcalamaresui/widgets/ClickableLabel.h | 2 +- src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp | 2 +- src/libcalamaresui/widgets/FixedAspectRatioLabel.h | 2 +- src/libcalamaresui/widgets/WaitingWidget.cpp | 2 +- src/libcalamaresui/widgets/WaitingWidget.h | 2 +- src/modules/bootloader/main.py | 2 +- src/modules/displaymanager/main.py | 2 +- src/modules/dracut/main.py | 2 +- src/modules/dracutlukscfg/DracutLuksCfgJob.cpp | 2 +- src/modules/dracutlukscfg/DracutLuksCfgJob.h | 2 +- src/modules/dummycpp/DummyCppJob.cpp | 2 +- src/modules/dummycpp/DummyCppJob.h | 2 +- src/modules/dummypython/main.py | 2 +- src/modules/dummypythonqt/main.py | 2 +- src/modules/finished/FinishedPage.cpp | 2 +- src/modules/finished/FinishedPage.h | 2 +- src/modules/finished/FinishedViewStep.cpp | 2 +- src/modules/finished/FinishedViewStep.h | 2 +- src/modules/fstab/main.py | 2 +- src/modules/grubcfg/main.py | 2 +- src/modules/hwclock/main.py | 2 +- src/modules/initcpio/main.py | 2 +- src/modules/initcpiocfg/main.py | 2 +- src/modules/initramfs/main.py | 2 +- src/modules/initramfscfg/main.py | 2 +- src/modules/interactiveterminal/InteractiveTerminalPage.cpp | 2 +- src/modules/interactiveterminal/InteractiveTerminalPage.h | 2 +- src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp | 2 +- src/modules/interactiveterminal/InteractiveTerminalViewStep.h | 2 +- src/modules/keyboard/KeyboardLayoutModel.cpp | 2 +- src/modules/keyboard/KeyboardLayoutModel.h | 2 +- src/modules/keyboard/KeyboardPage.cpp | 2 +- src/modules/keyboard/KeyboardPage.h | 2 +- src/modules/keyboard/KeyboardViewStep.cpp | 2 +- src/modules/keyboard/KeyboardViewStep.h | 2 +- src/modules/keyboard/SetKeyboardLayoutJob.cpp | 2 +- src/modules/keyboard/SetKeyboardLayoutJob.h | 2 +- src/modules/keyboard/keyboardwidget/keyboardglobal.cpp | 2 +- src/modules/keyboard/keyboardwidget/keyboardglobal.h | 2 +- src/modules/keyboard/keyboardwidget/keyboardpreview.cpp | 2 +- src/modules/keyboard/keyboardwidget/keyboardpreview.h | 2 +- src/modules/license/LicensePage.cpp | 2 +- src/modules/license/LicensePage.h | 2 +- src/modules/license/LicenseViewStep.cpp | 2 +- src/modules/license/LicenseViewStep.h | 2 +- src/modules/locale/LCLocaleDialog.cpp | 2 +- src/modules/locale/LCLocaleDialog.h | 2 +- src/modules/locale/LocaleConfiguration.cpp | 2 +- src/modules/locale/LocaleConfiguration.h | 2 +- src/modules/locale/LocalePage.cpp | 2 +- src/modules/locale/LocalePage.h | 2 +- src/modules/locale/LocaleViewStep.cpp | 2 +- src/modules/locale/LocaleViewStep.h | 2 +- src/modules/locale/SetTimezoneJob.cpp | 2 +- src/modules/locale/SetTimezoneJob.h | 2 +- src/modules/locale/timezonewidget/localeconst.h | 2 +- src/modules/locale/timezonewidget/localeglobal.cpp | 2 +- src/modules/locale/timezonewidget/localeglobal.h | 2 +- src/modules/locale/timezonewidget/timezonewidget.cpp | 2 +- src/modules/locale/timezonewidget/timezonewidget.h | 2 +- src/modules/localecfg/main.py | 2 +- src/modules/luksbootkeyfile/main.py | 2 +- src/modules/luksopenswaphookcfg/main.py | 2 +- src/modules/machineid/main.py | 2 +- src/modules/mount/main.py | 2 +- src/modules/netinstall/PackageModel.cpp | 2 +- src/modules/netinstall/PackageModel.h | 2 +- src/modules/netinstall/PackageTreeItem.cpp | 2 +- src/modules/netinstall/PackageTreeItem.h | 2 +- src/modules/networkcfg/main.py | 2 +- src/modules/openrcdmcryptcfg/main.py | 2 +- src/modules/packages/main.py | 2 +- src/modules/partition/core/BootLoaderModel.cpp | 2 +- src/modules/partition/core/BootLoaderModel.h | 2 +- src/modules/partition/core/ColorUtils.cpp | 2 +- src/modules/partition/core/ColorUtils.h | 2 +- src/modules/partition/core/DeviceList.cpp | 2 +- src/modules/partition/core/DeviceList.h | 2 +- src/modules/partition/core/DeviceModel.cpp | 2 +- src/modules/partition/core/DeviceModel.h | 2 +- src/modules/partition/core/KPMHelpers.cpp | 2 +- src/modules/partition/core/KPMHelpers.h | 2 +- src/modules/partition/core/OsproberEntry.h | 2 +- src/modules/partition/core/PartUtils.cpp | 2 +- src/modules/partition/core/PartUtils.h | 2 +- src/modules/partition/core/PartitionActions.cpp | 2 +- src/modules/partition/core/PartitionActions.h | 2 +- src/modules/partition/core/PartitionCoreModule.cpp | 2 +- src/modules/partition/core/PartitionCoreModule.h | 2 +- src/modules/partition/core/PartitionInfo.cpp | 2 +- src/modules/partition/core/PartitionInfo.h | 2 +- src/modules/partition/core/PartitionIterator.cpp | 2 +- src/modules/partition/core/PartitionIterator.h | 2 +- src/modules/partition/core/PartitionModel.cpp | 2 +- src/modules/partition/core/PartitionModel.h | 2 +- src/modules/partition/gui/BootInfoWidget.cpp | 2 +- src/modules/partition/gui/BootInfoWidget.h | 2 +- src/modules/partition/gui/ChoicePage.cpp | 2 +- src/modules/partition/gui/ChoicePage.h | 2 +- src/modules/partition/gui/CreatePartitionDialog.cpp | 2 +- src/modules/partition/gui/CreatePartitionDialog.h | 2 +- src/modules/partition/gui/DeviceInfoWidget.cpp | 2 +- src/modules/partition/gui/DeviceInfoWidget.h | 2 +- src/modules/partition/gui/EditExistingPartitionDialog.cpp | 2 +- src/modules/partition/gui/EditExistingPartitionDialog.h | 2 +- src/modules/partition/gui/EncryptWidget.cpp | 2 +- src/modules/partition/gui/EncryptWidget.h | 2 +- src/modules/partition/gui/PartitionBarsView.cpp | 2 +- src/modules/partition/gui/PartitionBarsView.h | 2 +- src/modules/partition/gui/PartitionLabelsView.cpp | 2 +- src/modules/partition/gui/PartitionLabelsView.h | 2 +- src/modules/partition/gui/PartitionPage.cpp | 2 +- src/modules/partition/gui/PartitionPage.h | 2 +- src/modules/partition/gui/PartitionSizeController.cpp | 2 +- src/modules/partition/gui/PartitionSizeController.h | 2 +- src/modules/partition/gui/PartitionSplitterWidget.cpp | 2 +- src/modules/partition/gui/PartitionSplitterWidget.h | 2 +- src/modules/partition/gui/PartitionViewSelectionFilter.h | 2 +- src/modules/partition/gui/PartitionViewStep.cpp | 2 +- src/modules/partition/gui/PartitionViewStep.h | 2 +- src/modules/partition/gui/PrettyRadioButton.cpp | 2 +- src/modules/partition/gui/PrettyRadioButton.h | 2 +- src/modules/partition/gui/ReplaceWidget.cpp | 2 +- src/modules/partition/gui/ReplaceWidget.h | 2 +- src/modules/partition/gui/ScanningDialog.cpp | 2 +- src/modules/partition/gui/ScanningDialog.h | 2 +- src/modules/partition/jobs/ClearMountsJob.cpp | 2 +- src/modules/partition/jobs/ClearMountsJob.h | 2 +- src/modules/partition/jobs/ClearTempMountsJob.cpp | 2 +- src/modules/partition/jobs/ClearTempMountsJob.h | 2 +- src/modules/partition/jobs/CreatePartitionJob.cpp | 2 +- src/modules/partition/jobs/CreatePartitionJob.h | 2 +- src/modules/partition/jobs/CreatePartitionTableJob.cpp | 2 +- src/modules/partition/jobs/CreatePartitionTableJob.h | 2 +- src/modules/partition/jobs/DeletePartitionJob.cpp | 2 +- src/modules/partition/jobs/DeletePartitionJob.h | 2 +- src/modules/partition/jobs/FillGlobalStorageJob.cpp | 2 +- src/modules/partition/jobs/FillGlobalStorageJob.h | 2 +- src/modules/partition/jobs/FormatPartitionJob.cpp | 2 +- src/modules/partition/jobs/FormatPartitionJob.h | 2 +- src/modules/partition/jobs/PartitionJob.cpp | 2 +- src/modules/partition/jobs/PartitionJob.h | 2 +- src/modules/partition/jobs/ResizePartitionJob.cpp | 2 +- src/modules/partition/jobs/ResizePartitionJob.h | 2 +- src/modules/partition/jobs/SetPartitionFlagsJob.cpp | 2 +- src/modules/partition/jobs/SetPartitionFlagsJob.h | 2 +- src/modules/partition/tests/PartitionJobTests.cpp | 2 +- src/modules/partition/tests/PartitionJobTests.h | 2 +- src/modules/plasmalnf/PlasmaLnfJob.cpp | 2 +- src/modules/plasmalnf/PlasmaLnfJob.h | 2 +- src/modules/plasmalnf/PlasmaLnfPage.cpp | 2 +- src/modules/plasmalnf/PlasmaLnfPage.h | 2 +- src/modules/plasmalnf/PlasmaLnfViewStep.cpp | 2 +- src/modules/plasmalnf/PlasmaLnfViewStep.h | 2 +- src/modules/plasmalnf/ThemeInfo.h | 2 +- src/modules/plasmalnf/ThemeWidget.cpp | 2 +- src/modules/plasmalnf/ThemeWidget.h | 2 +- src/modules/plymouthcfg/main.py | 2 +- src/modules/removeuser/main.py | 2 +- src/modules/services/main.py | 2 +- src/modules/summary/SummaryPage.cpp | 2 +- src/modules/summary/SummaryPage.h | 2 +- src/modules/summary/SummaryViewStep.cpp | 2 +- src/modules/summary/SummaryViewStep.h | 2 +- src/modules/test_conf.cpp | 2 +- src/modules/testmodule.py | 2 +- src/modules/tracking/TrackingJobs.cpp | 2 +- src/modules/tracking/TrackingJobs.h | 2 +- src/modules/tracking/TrackingPage.cpp | 2 +- src/modules/tracking/TrackingPage.h | 2 +- src/modules/tracking/TrackingType.h | 2 +- src/modules/tracking/TrackingViewStep.cpp | 2 +- src/modules/tracking/TrackingViewStep.h | 2 +- src/modules/umount/main.py | 2 +- src/modules/unpackfs/main.py | 2 +- src/modules/users/CreateUserJob.cpp | 2 +- src/modules/users/CreateUserJob.h | 2 +- src/modules/users/PasswordTests.cpp | 2 +- src/modules/users/PasswordTests.h | 2 +- src/modules/users/SetHostNameJob.cpp | 2 +- src/modules/users/SetHostNameJob.h | 2 +- src/modules/users/SetPasswordJob.cpp | 2 +- src/modules/users/SetPasswordJob.h | 2 +- src/modules/users/UsersPage.cpp | 2 +- src/modules/users/UsersPage.h | 2 +- src/modules/users/UsersViewStep.cpp | 2 +- src/modules/users/UsersViewStep.h | 2 +- src/modules/webview/WebViewStep.cpp | 2 +- src/modules/webview/WebViewStep.h | 2 +- src/modules/welcome/WelcomePage.cpp | 2 +- src/modules/welcome/WelcomePage.h | 2 +- src/modules/welcome/WelcomeViewStep.cpp | 2 +- src/modules/welcome/WelcomeViewStep.h | 2 +- src/modules/welcome/checker/CheckItemWidget.cpp | 2 +- src/modules/welcome/checker/CheckItemWidget.h | 2 +- src/modules/welcome/checker/CheckerWidget.cpp | 2 +- src/modules/welcome/checker/CheckerWidget.h | 2 +- src/modules/welcome/checker/RequirementsChecker.cpp | 2 +- src/modules/welcome/checker/RequirementsChecker.h | 2 +- src/modules/welcome/checker/partman_devices.c | 2 +- src/modules/welcome/checker/partman_devices.h | 2 +- 293 files changed, 293 insertions(+), 293 deletions(-) diff --git a/ci/HACKING.md b/ci/HACKING.md index 4d84fc33d..dfc768be9 100644 --- a/ci/HACKING.md +++ b/ci/HACKING.md @@ -13,7 +13,7 @@ Every source file must have a license header, with a list of copyright holders a Example: ``` -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2013-2014, Random Person * Copyright 2010, Someone Else diff --git a/src/branding/default/show.qml b/src/branding/default/show.qml index 40321bf01..84f252d54 100644 --- a/src/branding/default/show.qml +++ b/src/branding/default/show.qml @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index caba96f5d..4d2e54aca 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/calamares/CalamaresApplication.h b/src/calamares/CalamaresApplication.h index 2c1cd1a09..3cfd4f79f 100644 --- a/src/calamares/CalamaresApplication.h +++ b/src/calamares/CalamaresApplication.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/calamares/CalamaresWindow.cpp b/src/calamares/CalamaresWindow.cpp index ab24b6db2..37b288948 100644 --- a/src/calamares/CalamaresWindow.cpp +++ b/src/calamares/CalamaresWindow.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/calamares/CalamaresWindow.h b/src/calamares/CalamaresWindow.h index 00f790f5a..23f40d3c9 100644 --- a/src/calamares/CalamaresWindow.h +++ b/src/calamares/CalamaresWindow.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index 47caa558b..371b4042a 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/calamares/progresstree/ProgressTreeDelegate.cpp b/src/calamares/progresstree/ProgressTreeDelegate.cpp index 34835c8fa..8838d9b25 100644 --- a/src/calamares/progresstree/ProgressTreeDelegate.cpp +++ b/src/calamares/progresstree/ProgressTreeDelegate.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/calamares/progresstree/ProgressTreeDelegate.h b/src/calamares/progresstree/ProgressTreeDelegate.h index ed3aae9de..371f5193f 100644 --- a/src/calamares/progresstree/ProgressTreeDelegate.h +++ b/src/calamares/progresstree/ProgressTreeDelegate.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/calamares/progresstree/ProgressTreeItem.cpp b/src/calamares/progresstree/ProgressTreeItem.cpp index 9ab84d1e5..769ffaf90 100644 --- a/src/calamares/progresstree/ProgressTreeItem.cpp +++ b/src/calamares/progresstree/ProgressTreeItem.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/calamares/progresstree/ProgressTreeItem.h b/src/calamares/progresstree/ProgressTreeItem.h index bfce062a7..c7d7fcf05 100644 --- a/src/calamares/progresstree/ProgressTreeItem.h +++ b/src/calamares/progresstree/ProgressTreeItem.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/calamares/progresstree/ProgressTreeModel.cpp b/src/calamares/progresstree/ProgressTreeModel.cpp index 0b0c47c72..cf0a0e44a 100644 --- a/src/calamares/progresstree/ProgressTreeModel.cpp +++ b/src/calamares/progresstree/ProgressTreeModel.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/calamares/progresstree/ProgressTreeModel.h b/src/calamares/progresstree/ProgressTreeModel.h index 80ce6dc6b..d89707183 100644 --- a/src/calamares/progresstree/ProgressTreeModel.h +++ b/src/calamares/progresstree/ProgressTreeModel.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/calamares/progresstree/ProgressTreeView.cpp b/src/calamares/progresstree/ProgressTreeView.cpp index 6dd33b951..b6b3ac5a9 100644 --- a/src/calamares/progresstree/ProgressTreeView.cpp +++ b/src/calamares/progresstree/ProgressTreeView.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/calamares/progresstree/ProgressTreeView.h b/src/calamares/progresstree/ProgressTreeView.h index 11738b193..68787984a 100644 --- a/src/calamares/progresstree/ProgressTreeView.h +++ b/src/calamares/progresstree/ProgressTreeView.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/calamares/progresstree/ViewStepItem.cpp b/src/calamares/progresstree/ViewStepItem.cpp index b54fa07eb..50cf0b9f8 100644 --- a/src/calamares/progresstree/ViewStepItem.cpp +++ b/src/calamares/progresstree/ViewStepItem.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/calamares/progresstree/ViewStepItem.h b/src/calamares/progresstree/ViewStepItem.h index d39b21754..ea473fe5e 100644 --- a/src/calamares/progresstree/ViewStepItem.h +++ b/src/calamares/progresstree/ViewStepItem.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamares/CppJob.cpp b/src/libcalamares/CppJob.cpp index 73868799a..b3f2385c6 100644 --- a/src/libcalamares/CppJob.cpp +++ b/src/libcalamares/CppJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2016, Kevin Kofler diff --git a/src/libcalamares/CppJob.h b/src/libcalamares/CppJob.h index a6e67355f..d2f5c0f79 100644 --- a/src/libcalamares/CppJob.h +++ b/src/libcalamares/CppJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2016, Kevin Kofler diff --git a/src/libcalamares/DllMacro.h b/src/libcalamares/DllMacro.h index e92765ff3..e0281d7a7 100644 --- a/src/libcalamares/DllMacro.h +++ b/src/libcalamares/DllMacro.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamares/GlobalStorage.cpp b/src/libcalamares/GlobalStorage.cpp index 36405ce87..fd72697cf 100644 --- a/src/libcalamares/GlobalStorage.cpp +++ b/src/libcalamares/GlobalStorage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/GlobalStorage.h b/src/libcalamares/GlobalStorage.h index 0ff56ac62..dc79c55e8 100644 --- a/src/libcalamares/GlobalStorage.h +++ b/src/libcalamares/GlobalStorage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/Job.cpp b/src/libcalamares/Job.cpp index 26ee94464..b5d626854 100644 --- a/src/libcalamares/Job.cpp +++ b/src/libcalamares/Job.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamares/Job.h b/src/libcalamares/Job.h index 218abb72b..6063633b8 100644 --- a/src/libcalamares/Job.h +++ b/src/libcalamares/Job.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamares/JobQueue.cpp b/src/libcalamares/JobQueue.cpp index 86e33a0cd..3a2e9ff03 100644 --- a/src/libcalamares/JobQueue.cpp +++ b/src/libcalamares/JobQueue.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamares/JobQueue.h b/src/libcalamares/JobQueue.h index 2c1b85ed5..5273e0043 100644 --- a/src/libcalamares/JobQueue.h +++ b/src/libcalamares/JobQueue.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamares/PluginDllMacro.h b/src/libcalamares/PluginDllMacro.h index ea73935f6..cabe09887 100644 --- a/src/libcalamares/PluginDllMacro.h +++ b/src/libcalamares/PluginDllMacro.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamares/ProcessJob.cpp b/src/libcalamares/ProcessJob.cpp index 84e02f1dd..9b3055671 100644 --- a/src/libcalamares/ProcessJob.cpp +++ b/src/libcalamares/ProcessJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index 43fdf254e..59a532023 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/PythonHelper.cpp b/src/libcalamares/PythonHelper.cpp index 1f680699e..4f2f30e76 100644 --- a/src/libcalamares/PythonHelper.cpp +++ b/src/libcalamares/PythonHelper.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/PythonHelper.h b/src/libcalamares/PythonHelper.h index be1ab8544..e552a869d 100644 --- a/src/libcalamares/PythonHelper.h +++ b/src/libcalamares/PythonHelper.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamares/PythonJob.cpp b/src/libcalamares/PythonJob.cpp index 006fd86b6..faf2fa72d 100644 --- a/src/libcalamares/PythonJob.cpp +++ b/src/libcalamares/PythonJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/libcalamares/PythonJob.h b/src/libcalamares/PythonJob.h index 2f0dbee07..c3b447472 100644 --- a/src/libcalamares/PythonJob.h +++ b/src/libcalamares/PythonJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamares/PythonJobApi.cpp b/src/libcalamares/PythonJobApi.cpp index 40d178cf9..9219ff1fc 100644 --- a/src/libcalamares/PythonJobApi.cpp +++ b/src/libcalamares/PythonJobApi.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/PythonJobApi.h b/src/libcalamares/PythonJobApi.h index c88101d28..aed9b3d77 100644 --- a/src/libcalamares/PythonJobApi.h +++ b/src/libcalamares/PythonJobApi.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/Typedefs.h b/src/libcalamares/Typedefs.h index 4ff28e3d7..324f2b155 100644 --- a/src/libcalamares/Typedefs.h +++ b/src/libcalamares/Typedefs.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamares/utils/CalamaresUtils.cpp b/src/libcalamares/utils/CalamaresUtils.cpp index 75f6eecf3..e85c11f8c 100644 --- a/src/libcalamares/utils/CalamaresUtils.cpp +++ b/src/libcalamares/utils/CalamaresUtils.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2013-2016, Teo Mrnjavac * diff --git a/src/libcalamares/utils/CalamaresUtils.h b/src/libcalamares/utils/CalamaresUtils.h index 1211aac54..e6550ed3b 100644 --- a/src/libcalamares/utils/CalamaresUtils.h +++ b/src/libcalamares/utils/CalamaresUtils.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2013-2016, Teo Mrnjavac * diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 09f6e1f95..103246fad 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index a4160ccd2..bdc5afd4a 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/utils/Logger.cpp b/src/libcalamares/utils/Logger.cpp index 7caf2a18c..4fbac6f03 100644 --- a/src/libcalamares/utils/Logger.cpp +++ b/src/libcalamares/utils/Logger.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2010-2011, Christian Muehlhaeuser * Copyright 2014, Teo Mrnjavac diff --git a/src/libcalamares/utils/Logger.h b/src/libcalamares/utils/Logger.h index 0cf4b4ad3..7f9077035 100644 --- a/src/libcalamares/utils/Logger.h +++ b/src/libcalamares/utils/Logger.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2010-2011, Christian Muehlhaeuser * Copyright 2014, Teo Mrnjavac diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index b1c3a0793..1096ed343 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 55c44249c..8e6704a20 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamares/utils/PluginFactory_p.h b/src/libcalamares/utils/PluginFactory_p.h index a0b4a1c80..ce50e8b46 100644 --- a/src/libcalamares/utils/PluginFactory_p.h +++ b/src/libcalamares/utils/PluginFactory_p.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * diff --git a/src/libcalamares/utils/Retranslator.cpp b/src/libcalamares/utils/Retranslator.cpp index 1f4982937..1cc25fa70 100644 --- a/src/libcalamares/utils/Retranslator.cpp +++ b/src/libcalamares/utils/Retranslator.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamares/utils/Retranslator.h b/src/libcalamares/utils/Retranslator.h index 3f888863a..4c719a6bf 100644 --- a/src/libcalamares/utils/Retranslator.h +++ b/src/libcalamares/utils/Retranslator.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h index 391d67194..efc100d59 100644 --- a/src/libcalamares/utils/Units.h +++ b/src/libcalamares/utils/Units.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index 6d559c6fb..899e90e64 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/Branding.h b/src/libcalamaresui/Branding.h index c56db2db2..fe9a83979 100644 --- a/src/libcalamaresui/Branding.h +++ b/src/libcalamaresui/Branding.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/ExecutionViewStep.cpp b/src/libcalamaresui/ExecutionViewStep.cpp index 4c813bbca..0a9850fd7 100644 --- a/src/libcalamaresui/ExecutionViewStep.cpp +++ b/src/libcalamaresui/ExecutionViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2014-2015, Teo Mrnjavac diff --git a/src/libcalamaresui/ExecutionViewStep.h b/src/libcalamaresui/ExecutionViewStep.h index 05b26a436..ed6de4382 100644 --- a/src/libcalamaresui/ExecutionViewStep.h +++ b/src/libcalamaresui/ExecutionViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2014-2015, Teo Mrnjavac diff --git a/src/libcalamaresui/Settings.cpp b/src/libcalamaresui/Settings.cpp index ce01bf42d..4affd4e94 100644 --- a/src/libcalamaresui/Settings.cpp +++ b/src/libcalamaresui/Settings.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/Settings.h b/src/libcalamaresui/Settings.h index 4c99eb811..42720b986 100644 --- a/src/libcalamaresui/Settings.h +++ b/src/libcalamaresui/Settings.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/UiDllMacro.h b/src/libcalamaresui/UiDllMacro.h index 1f487be4f..35ad67453 100644 --- a/src/libcalamaresui/UiDllMacro.h +++ b/src/libcalamaresui/UiDllMacro.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 7b5df155b..9083794d7 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/ViewManager.h b/src/libcalamaresui/ViewManager.h index 38ddda70a..80804141d 100644 --- a/src/libcalamaresui/ViewManager.h +++ b/src/libcalamaresui/ViewManager.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/modulesystem/CppJobModule.cpp b/src/libcalamaresui/modulesystem/CppJobModule.cpp index e6240b4c9..9799066e7 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.cpp +++ b/src/libcalamaresui/modulesystem/CppJobModule.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2016, Kevin Kofler diff --git a/src/libcalamaresui/modulesystem/CppJobModule.h b/src/libcalamaresui/modulesystem/CppJobModule.h index 89cf19e06..e3b232353 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.h +++ b/src/libcalamaresui/modulesystem/CppJobModule.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2016, Kevin Kofler diff --git a/src/libcalamaresui/modulesystem/Module.cpp b/src/libcalamaresui/modulesystem/Module.cpp index 96ec0cceb..6b9f57182 100644 --- a/src/libcalamaresui/modulesystem/Module.cpp +++ b/src/libcalamaresui/modulesystem/Module.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/modulesystem/Module.h b/src/libcalamaresui/modulesystem/Module.h index 71390fa83..896d3b597 100644 --- a/src/libcalamaresui/modulesystem/Module.h +++ b/src/libcalamaresui/modulesystem/Module.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index 44eed30f0..350f05fed 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamaresui/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h index 05ad15178..6621bdaf3 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.h +++ b/src/libcalamaresui/modulesystem/ModuleManager.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.cpp b/src/libcalamaresui/modulesystem/ProcessJobModule.cpp index 989385a18..d8e171977 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.cpp +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.h b/src/libcalamaresui/modulesystem/ProcessJobModule.h index d2c8ba905..704f8a639 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.h +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/modulesystem/PythonJobModule.cpp b/src/libcalamaresui/modulesystem/PythonJobModule.cpp index 3c0a8234e..586eb6e27 100644 --- a/src/libcalamaresui/modulesystem/PythonJobModule.cpp +++ b/src/libcalamaresui/modulesystem/PythonJobModule.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamaresui/modulesystem/PythonJobModule.h b/src/libcalamaresui/modulesystem/PythonJobModule.h index b5ae34c07..78678bcf8 100644 --- a/src/libcalamaresui/modulesystem/PythonJobModule.h +++ b/src/libcalamaresui/modulesystem/PythonJobModule.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp b/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp index f4fae4398..e2b497f2e 100644 --- a/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp +++ b/src/libcalamaresui/modulesystem/PythonQtViewModule.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/modulesystem/PythonQtViewModule.h b/src/libcalamaresui/modulesystem/PythonQtViewModule.h index 06de7c6e9..327e24269 100644 --- a/src/libcalamaresui/modulesystem/PythonQtViewModule.h +++ b/src/libcalamaresui/modulesystem/PythonQtViewModule.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/modulesystem/ViewModule.cpp b/src/libcalamaresui/modulesystem/ViewModule.cpp index 419cad611..1f940b30b 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.cpp +++ b/src/libcalamaresui/modulesystem/ViewModule.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/modulesystem/ViewModule.h b/src/libcalamaresui/modulesystem/ViewModule.h index 323315947..735a19a81 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.h +++ b/src/libcalamaresui/modulesystem/ViewModule.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/utils/CalamaresUtilsGui.cpp b/src/libcalamaresui/utils/CalamaresUtilsGui.cpp index 38d7d12e0..b05d4ea4f 100644 --- a/src/libcalamaresui/utils/CalamaresUtilsGui.cpp +++ b/src/libcalamaresui/utils/CalamaresUtilsGui.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/utils/CalamaresUtilsGui.h b/src/libcalamaresui/utils/CalamaresUtilsGui.h index b64133455..c0905d4d0 100644 --- a/src/libcalamaresui/utils/CalamaresUtilsGui.h +++ b/src/libcalamaresui/utils/CalamaresUtilsGui.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/utils/DebugWindow.cpp b/src/libcalamaresui/utils/DebugWindow.cpp index e00c2097b..03f4f6aa8 100644 --- a/src/libcalamaresui/utils/DebugWindow.cpp +++ b/src/libcalamaresui/utils/DebugWindow.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015-2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/utils/DebugWindow.h b/src/libcalamaresui/utils/DebugWindow.h index ee061991e..444fe6231 100644 --- a/src/libcalamaresui/utils/DebugWindow.h +++ b/src/libcalamaresui/utils/DebugWindow.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * diff --git a/src/libcalamaresui/utils/PythonQtUtils.cpp b/src/libcalamaresui/utils/PythonQtUtils.cpp index ee386c0fd..201fe6635 100644 --- a/src/libcalamaresui/utils/PythonQtUtils.cpp +++ b/src/libcalamaresui/utils/PythonQtUtils.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/utils/PythonQtUtils.h b/src/libcalamaresui/utils/PythonQtUtils.h index a94cf25e5..22a248cea 100644 --- a/src/libcalamaresui/utils/PythonQtUtils.h +++ b/src/libcalamaresui/utils/PythonQtUtils.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/utils/YamlUtils.cpp b/src/libcalamaresui/utils/YamlUtils.cpp index 4b1a8fd86..8113e3913 100644 --- a/src/libcalamaresui/utils/YamlUtils.cpp +++ b/src/libcalamaresui/utils/YamlUtils.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/utils/YamlUtils.h b/src/libcalamaresui/utils/YamlUtils.h index 1da36178c..33ee8dca0 100644 --- a/src/libcalamaresui/utils/YamlUtils.h +++ b/src/libcalamaresui/utils/YamlUtils.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/viewpages/AbstractPage.cpp b/src/libcalamaresui/viewpages/AbstractPage.cpp index 19e5412c0..cd6693e80 100644 --- a/src/libcalamaresui/viewpages/AbstractPage.cpp +++ b/src/libcalamaresui/viewpages/AbstractPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/AbstractPage.h b/src/libcalamaresui/viewpages/AbstractPage.h index 61a1ee2a0..a4a2aea75 100644 --- a/src/libcalamaresui/viewpages/AbstractPage.h +++ b/src/libcalamaresui/viewpages/AbstractPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp index 2f1fcd731..4eae8cf98 100644 --- a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp +++ b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h index 415dd33b6..4776f17ba 100644 --- a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h +++ b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/PythonQtJob.cpp b/src/libcalamaresui/viewpages/PythonQtJob.cpp index 6768a947b..291cbd014 100644 --- a/src/libcalamaresui/viewpages/PythonQtJob.cpp +++ b/src/libcalamaresui/viewpages/PythonQtJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/PythonQtJob.h b/src/libcalamaresui/viewpages/PythonQtJob.h index aa93f9922..f356e85cc 100644 --- a/src/libcalamaresui/viewpages/PythonQtJob.h +++ b/src/libcalamaresui/viewpages/PythonQtJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp index ce53c810b..6adfaa72f 100644 --- a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp +++ b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h index d1d9bed7b..ea6955337 100644 --- a/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h +++ b/src/libcalamaresui/viewpages/PythonQtUtilsWrapper.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/PythonQtViewStep.cpp b/src/libcalamaresui/viewpages/PythonQtViewStep.cpp index f5f84eadd..9548c8752 100644 --- a/src/libcalamaresui/viewpages/PythonQtViewStep.cpp +++ b/src/libcalamaresui/viewpages/PythonQtViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/PythonQtViewStep.h b/src/libcalamaresui/viewpages/PythonQtViewStep.h index 594af2817..79862204a 100644 --- a/src/libcalamaresui/viewpages/PythonQtViewStep.h +++ b/src/libcalamaresui/viewpages/PythonQtViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/libcalamaresui/viewpages/ViewStep.cpp b/src/libcalamaresui/viewpages/ViewStep.cpp index 96d80cb5f..c6acb5208 100644 --- a/src/libcalamaresui/viewpages/ViewStep.cpp +++ b/src/libcalamaresui/viewpages/ViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/viewpages/ViewStep.h b/src/libcalamaresui/viewpages/ViewStep.h index f69f872e2..f10d29b96 100644 --- a/src/libcalamaresui/viewpages/ViewStep.h +++ b/src/libcalamaresui/viewpages/ViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/widgets/ClickableLabel.cpp b/src/libcalamaresui/widgets/ClickableLabel.cpp index 543ab8354..b6786cab8 100644 --- a/src/libcalamaresui/widgets/ClickableLabel.cpp +++ b/src/libcalamaresui/widgets/ClickableLabel.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/libcalamaresui/widgets/ClickableLabel.h b/src/libcalamaresui/widgets/ClickableLabel.h index 378ffda77..ab993c721 100644 --- a/src/libcalamaresui/widgets/ClickableLabel.h +++ b/src/libcalamaresui/widgets/ClickableLabel.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp index f07491bcd..140090b97 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.h b/src/libcalamaresui/widgets/FixedAspectRatioLabel.h index 33cc4708f..8f881753c 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.h +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/widgets/WaitingWidget.cpp b/src/libcalamaresui/widgets/WaitingWidget.cpp index 03c977691..286c611ab 100644 --- a/src/libcalamaresui/widgets/WaitingWidget.cpp +++ b/src/libcalamaresui/widgets/WaitingWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/libcalamaresui/widgets/WaitingWidget.h b/src/libcalamaresui/widgets/WaitingWidget.h index 4eda7ff5d..5c19cce26 100644 --- a/src/libcalamaresui/widgets/WaitingWidget.h +++ b/src/libcalamaresui/widgets/WaitingWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py index 1759f4500..c9309b82a 100644 --- a/src/modules/bootloader/main.py +++ b/src/modules/bootloader/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Aurélien Gâteau # Copyright 2014, Anke Boersma diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 3282982d7..37c107334 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014-2017, Philip Müller # Copyright 2014-2015, Teo Mrnjavac diff --git a/src/modules/dracut/main.py b/src/modules/dracut/main.py index d7a9bc494..64dcd4e8e 100644 --- a/src/modules/dracut/main.py +++ b/src/modules/dracut/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014-2015, Philip Müller # Copyright 2014, Teo Mrnjavac diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp b/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp index 601a1e49e..9b15ef87c 100644 --- a/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp +++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Kevin Kofler * diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.h b/src/modules/dracutlukscfg/DracutLuksCfgJob.h index 2d438fa0b..15ff24069 100644 --- a/src/modules/dracutlukscfg/DracutLuksCfgJob.h +++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Kevin Kofler * Copyright 2017, Adriaan de Groot diff --git a/src/modules/dummycpp/DummyCppJob.cpp b/src/modules/dummycpp/DummyCppJob.cpp index 15433392f..17111ff79 100644 --- a/src/modules/dummycpp/DummyCppJob.cpp +++ b/src/modules/dummycpp/DummyCppJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac (original dummypython code) * Copyright 2016, Kevin Kofler diff --git a/src/modules/dummycpp/DummyCppJob.h b/src/modules/dummycpp/DummyCppJob.h index fecc2699b..98c4d19d6 100644 --- a/src/modules/dummycpp/DummyCppJob.h +++ b/src/modules/dummycpp/DummyCppJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Kevin Kofler * Copyright 2017, Adriaan de Groot diff --git a/src/modules/dummypython/main.py b/src/modules/dummypython/main.py index ec6b02bfd..d2730483d 100644 --- a/src/modules/dummypython/main.py +++ b/src/modules/dummypython/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Teo Mrnjavac # Copyright 2017, Alf Gaida diff --git a/src/modules/dummypythonqt/main.py b/src/modules/dummypythonqt/main.py index ebe4df6d5..f830caf30 100644 --- a/src/modules/dummypythonqt/main.py +++ b/src/modules/dummypythonqt/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2016-2017, Teo Mrnjavac # Copyright 2017, Alf Gaida diff --git a/src/modules/finished/FinishedPage.cpp b/src/modules/finished/FinishedPage.cpp index 43e9f5329..377a1155c 100644 --- a/src/modules/finished/FinishedPage.cpp +++ b/src/modules/finished/FinishedPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/finished/FinishedPage.h b/src/modules/finished/FinishedPage.h index ba3e75667..493c29f34 100644 --- a/src/modules/finished/FinishedPage.h +++ b/src/modules/finished/FinishedPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp index 9aea9feaa..3b807f69c 100644 --- a/src/modules/finished/FinishedViewStep.cpp +++ b/src/modules/finished/FinishedViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/finished/FinishedViewStep.h b/src/modules/finished/FinishedViewStep.h index f13da9fb8..393527053 100644 --- a/src/modules/finished/FinishedViewStep.h +++ b/src/modules/finished/FinishedViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py index 1f46fec99..b3a092924 100644 --- a/src/modules/fstab/main.py +++ b/src/modules/fstab/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Aurélien Gâteau # Copyright 2016, Teo Mrnjavac diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 3ef68e46e..197a22edf 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014-2015, Philip Müller # Copyright 2015-2017, Teo Mrnjavac diff --git a/src/modules/hwclock/main.py b/src/modules/hwclock/main.py index dd408a372..d247ccd00 100644 --- a/src/modules/hwclock/main.py +++ b/src/modules/hwclock/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014 - 2015, Philip Müller # Copyright 2014, Teo Mrnjavac diff --git a/src/modules/initcpio/main.py b/src/modules/initcpio/main.py index 24366f9ad..62277f0c4 100644 --- a/src/modules/initcpio/main.py +++ b/src/modules/initcpio/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Philip Müller # diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index a18cd0c4f..f8620b516 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Rohan Garg # Copyright 2015, Philip Müller diff --git a/src/modules/initramfs/main.py b/src/modules/initramfs/main.py index ff7d41f27..5738b63c6 100644 --- a/src/modules/initramfs/main.py +++ b/src/modules/initramfs/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Philip Müller # Copyright 2017, Alf Gaida diff --git a/src/modules/initramfscfg/main.py b/src/modules/initramfscfg/main.py index aa63e659b..ba4aa762d 100644 --- a/src/modules/initramfscfg/main.py +++ b/src/modules/initramfscfg/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Rohan Garg # Copyright 2015, Philip Müller diff --git a/src/modules/interactiveterminal/InteractiveTerminalPage.cpp b/src/modules/interactiveterminal/InteractiveTerminalPage.cpp index ab839ad23..d41e50cab 100644 --- a/src/modules/interactiveterminal/InteractiveTerminalPage.cpp +++ b/src/modules/interactiveterminal/InteractiveTerminalPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/interactiveterminal/InteractiveTerminalPage.h b/src/modules/interactiveterminal/InteractiveTerminalPage.h index a08ccf685..503a53756 100644 --- a/src/modules/interactiveterminal/InteractiveTerminalPage.h +++ b/src/modules/interactiveterminal/InteractiveTerminalPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp b/src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp index c4705575c..2559ea635 100644 --- a/src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp +++ b/src/modules/interactiveterminal/InteractiveTerminalViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h index 1c95a229a..3d5862935 100644 --- a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h +++ b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/keyboard/KeyboardLayoutModel.cpp b/src/modules/keyboard/KeyboardLayoutModel.cpp index 9f045043e..f89f1aaba 100644 --- a/src/modules/keyboard/KeyboardLayoutModel.cpp +++ b/src/modules/keyboard/KeyboardLayoutModel.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/modules/keyboard/KeyboardLayoutModel.h b/src/modules/keyboard/KeyboardLayoutModel.h index 7afca3d47..27cb1d031 100644 --- a/src/modules/keyboard/KeyboardLayoutModel.h +++ b/src/modules/keyboard/KeyboardLayoutModel.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index 5443cf01a..7e4d1ab3f 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/keyboard/KeyboardPage.h b/src/modules/keyboard/KeyboardPage.h index 7a31f6511..d4a3e49bc 100644 --- a/src/modules/keyboard/KeyboardPage.h +++ b/src/modules/keyboard/KeyboardPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/keyboard/KeyboardViewStep.cpp b/src/modules/keyboard/KeyboardViewStep.cpp index 0dd326a8d..166bfecc9 100644 --- a/src/modules/keyboard/KeyboardViewStep.cpp +++ b/src/modules/keyboard/KeyboardViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/keyboard/KeyboardViewStep.h b/src/modules/keyboard/KeyboardViewStep.h index 64ce2bb75..46a52a524 100644 --- a/src/modules/keyboard/KeyboardViewStep.h +++ b/src/modules/keyboard/KeyboardViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/keyboard/SetKeyboardLayoutJob.cpp b/src/modules/keyboard/SetKeyboardLayoutJob.cpp index 430a227eb..02218e322 100644 --- a/src/modules/keyboard/SetKeyboardLayoutJob.cpp +++ b/src/modules/keyboard/SetKeyboardLayoutJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * Copyright 2014, Kevin Kofler diff --git a/src/modules/keyboard/SetKeyboardLayoutJob.h b/src/modules/keyboard/SetKeyboardLayoutJob.h index 8cafdeb29..60e916fc7 100644 --- a/src/modules/keyboard/SetKeyboardLayoutJob.h +++ b/src/modules/keyboard/SetKeyboardLayoutJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * Copyright 2014, Kevin Kofler diff --git a/src/modules/keyboard/keyboardwidget/keyboardglobal.cpp b/src/modules/keyboard/keyboardwidget/keyboardglobal.cpp index 8136c92c5..55132826e 100644 --- a/src/modules/keyboard/keyboardwidget/keyboardglobal.cpp +++ b/src/modules/keyboard/keyboardwidget/keyboardglobal.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/keyboard/keyboardwidget/keyboardglobal.h b/src/modules/keyboard/keyboardwidget/keyboardglobal.h index 8710fdaa2..9954626d4 100644 --- a/src/modules/keyboard/keyboardwidget/keyboardglobal.h +++ b/src/modules/keyboard/keyboardwidget/keyboardglobal.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/keyboard/keyboardwidget/keyboardpreview.cpp b/src/modules/keyboard/keyboardwidget/keyboardpreview.cpp index 2916cbdf4..57f483200 100644 --- a/src/modules/keyboard/keyboardwidget/keyboardpreview.cpp +++ b/src/modules/keyboard/keyboardwidget/keyboardpreview.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/keyboard/keyboardwidget/keyboardpreview.h b/src/modules/keyboard/keyboardwidget/keyboardpreview.h index 2bd6275f6..881866147 100644 --- a/src/modules/keyboard/keyboardwidget/keyboardpreview.h +++ b/src/modules/keyboard/keyboardwidget/keyboardpreview.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/license/LicensePage.cpp b/src/modules/license/LicensePage.cpp index 680ed33b1..f10401831 100644 --- a/src/modules/license/LicensePage.cpp +++ b/src/modules/license/LicensePage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Anke Boersma * Copyright 2015, Alexandre Arnt diff --git a/src/modules/license/LicensePage.h b/src/modules/license/LicensePage.h index 8e0997511..bc47936cf 100644 --- a/src/modules/license/LicensePage.h +++ b/src/modules/license/LicensePage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Anke Boersma * Copyright 2015, Alexandre Arnt diff --git a/src/modules/license/LicenseViewStep.cpp b/src/modules/license/LicenseViewStep.cpp index 2b1073886..41ca02a7e 100644 --- a/src/modules/license/LicenseViewStep.cpp +++ b/src/modules/license/LicenseViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Anke Boersma * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/license/LicenseViewStep.h b/src/modules/license/LicenseViewStep.h index 07824a5e3..cf7b2bc15 100644 --- a/src/modules/license/LicenseViewStep.h +++ b/src/modules/license/LicenseViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Anke Boersma * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/locale/LCLocaleDialog.cpp b/src/modules/locale/LCLocaleDialog.cpp index 46605091b..9f1b8fbdf 100644 --- a/src/modules/locale/LCLocaleDialog.cpp +++ b/src/modules/locale/LCLocaleDialog.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/locale/LCLocaleDialog.h b/src/modules/locale/LCLocaleDialog.h index 3654eb147..29005b94b 100644 --- a/src/modules/locale/LCLocaleDialog.h +++ b/src/modules/locale/LCLocaleDialog.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/locale/LocaleConfiguration.cpp b/src/modules/locale/LocaleConfiguration.cpp index b8f5f6a9e..d2aae0d4e 100644 --- a/src/modules/locale/LocaleConfiguration.cpp +++ b/src/modules/locale/LocaleConfiguration.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/locale/LocaleConfiguration.h b/src/modules/locale/LocaleConfiguration.h index 073d19a5b..6eca97976 100644 --- a/src/modules/locale/LocaleConfiguration.h +++ b/src/modules/locale/LocaleConfiguration.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 2172586ff..945c10285 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index 27a7362e3..c4ca20503 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 73efc266f..827a1a47b 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index 402fb7ce9..03d1147b6 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/locale/SetTimezoneJob.cpp b/src/modules/locale/SetTimezoneJob.cpp index 419690780..71a693df7 100644 --- a/src/modules/locale/SetTimezoneJob.cpp +++ b/src/modules/locale/SetTimezoneJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * Copyright 2015, Rohan Garg diff --git a/src/modules/locale/SetTimezoneJob.h b/src/modules/locale/SetTimezoneJob.h index e443c7e1b..7f50d8744 100644 --- a/src/modules/locale/SetTimezoneJob.h +++ b/src/modules/locale/SetTimezoneJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/locale/timezonewidget/localeconst.h b/src/modules/locale/timezonewidget/localeconst.h index 6ec50e491..3bac6adde 100644 --- a/src/modules/locale/timezonewidget/localeconst.h +++ b/src/modules/locale/timezonewidget/localeconst.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/locale/timezonewidget/localeglobal.cpp b/src/modules/locale/timezonewidget/localeglobal.cpp index 7c61ecc99..6ac66357e 100644 --- a/src/modules/locale/timezonewidget/localeglobal.cpp +++ b/src/modules/locale/timezonewidget/localeglobal.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/locale/timezonewidget/localeglobal.h b/src/modules/locale/timezonewidget/localeglobal.h index 665ddefe8..5452b0b09 100644 --- a/src/modules/locale/timezonewidget/localeglobal.h +++ b/src/modules/locale/timezonewidget/localeglobal.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/locale/timezonewidget/timezonewidget.cpp b/src/modules/locale/timezonewidget/timezonewidget.cpp index c9dce5270..976c139fc 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.cpp +++ b/src/modules/locale/timezonewidget/timezonewidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/locale/timezonewidget/timezonewidget.h b/src/modules/locale/timezonewidget/timezonewidget.h index 4773695ee..a96a0309c 100644 --- a/src/modules/locale/timezonewidget/timezonewidget.h +++ b/src/modules/locale/timezonewidget/timezonewidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/localecfg/main.py b/src/modules/localecfg/main.py index b850a7392..7df2fe31e 100644 --- a/src/modules/localecfg/main.py +++ b/src/modules/localecfg/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Anke Boersma # Copyright 2015, Philip Müller diff --git a/src/modules/luksbootkeyfile/main.py b/src/modules/luksbootkeyfile/main.py index af8f444b4..74e742080 100644 --- a/src/modules/luksbootkeyfile/main.py +++ b/src/modules/luksbootkeyfile/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2016, Teo Mrnjavac # Copyright 2017, Alf Gaida diff --git a/src/modules/luksopenswaphookcfg/main.py b/src/modules/luksopenswaphookcfg/main.py index a2bd9c5b1..20dcb1e70 100644 --- a/src/modules/luksopenswaphookcfg/main.py +++ b/src/modules/luksopenswaphookcfg/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2016, Teo Mrnjavac # Copyright 2017, Alf Gaida diff --git a/src/modules/machineid/main.py b/src/modules/machineid/main.py index 649570958..c4c473246 100644 --- a/src/modules/machineid/main.py +++ b/src/modules/machineid/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Kevin Kofler # Copyright 2016, Philip Müller diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py index c32c5bfdd..16e7a1f89 100644 --- a/src/modules/mount/main.py +++ b/src/modules/mount/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Aurélien Gâteau # Copyright 2017, Alf Gaida diff --git a/src/modules/netinstall/PackageModel.cpp b/src/modules/netinstall/PackageModel.cpp index b97793f6d..6585abcee 100644 --- a/src/modules/netinstall/PackageModel.cpp +++ b/src/modules/netinstall/PackageModel.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze * Copyright 2017, Adriaan de Groot diff --git a/src/modules/netinstall/PackageModel.h b/src/modules/netinstall/PackageModel.h index 06d6c0ca1..f3ae567ce 100644 --- a/src/modules/netinstall/PackageModel.h +++ b/src/modules/netinstall/PackageModel.h @@ -1,5 +1,5 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze * Copyright 2017, Adriaan de Groot diff --git a/src/modules/netinstall/PackageTreeItem.cpp b/src/modules/netinstall/PackageTreeItem.cpp index 6ccd53382..80e553d2e 100644 --- a/src/modules/netinstall/PackageTreeItem.cpp +++ b/src/modules/netinstall/PackageTreeItem.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze * Copyright 2017, Adriaan de Groot diff --git a/src/modules/netinstall/PackageTreeItem.h b/src/modules/netinstall/PackageTreeItem.h index 5b3520cb4..9c1c8c5a5 100644 --- a/src/modules/netinstall/PackageTreeItem.h +++ b/src/modules/netinstall/PackageTreeItem.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze * Copyright 2017, Adriaan de Groot diff --git a/src/modules/networkcfg/main.py b/src/modules/networkcfg/main.py index 3a9d65318..05ebfb70b 100644 --- a/src/modules/networkcfg/main.py +++ b/src/modules/networkcfg/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Philip Müller # Copyright 2014, Teo Mrnjavac diff --git a/src/modules/openrcdmcryptcfg/main.py b/src/modules/openrcdmcryptcfg/main.py index 785f2d03d..e8f901e15 100644 --- a/src/modules/openrcdmcryptcfg/main.py +++ b/src/modules/openrcdmcryptcfg/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2017, Ghiunhan Mamut # diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 60ede34fa..14b4318b2 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Pier Luigi Fiorini # Copyright 2015-2017, Teo Mrnjavac diff --git a/src/modules/partition/core/BootLoaderModel.cpp b/src/modules/partition/core/BootLoaderModel.cpp index 9002b1f8d..e10a7c930 100644 --- a/src/modules/partition/core/BootLoaderModel.cpp +++ b/src/modules/partition/core/BootLoaderModel.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/core/BootLoaderModel.h b/src/modules/partition/core/BootLoaderModel.h index e911d9029..27be18687 100644 --- a/src/modules/partition/core/BootLoaderModel.h +++ b/src/modules/partition/core/BootLoaderModel.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/core/ColorUtils.cpp b/src/modules/partition/core/ColorUtils.cpp index 2f9710057..40f65d2ba 100644 --- a/src/modules/partition/core/ColorUtils.cpp +++ b/src/modules/partition/core/ColorUtils.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/core/ColorUtils.h b/src/modules/partition/core/ColorUtils.h index 50f4fd785..33efc4b7e 100644 --- a/src/modules/partition/core/ColorUtils.h +++ b/src/modules/partition/core/ColorUtils.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2016, Teo Mrnjavac diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index 05616335b..d7e6bab29 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015-2016, Teo Mrnjavac * diff --git a/src/modules/partition/core/DeviceList.h b/src/modules/partition/core/DeviceList.h index 6da34c5d1..3754f58e6 100644 --- a/src/modules/partition/core/DeviceList.h +++ b/src/modules/partition/core/DeviceList.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/partition/core/DeviceModel.cpp b/src/modules/partition/core/DeviceModel.cpp index 0d6187c7a..00058bac4 100644 --- a/src/modules/partition/core/DeviceModel.cpp +++ b/src/modules/partition/core/DeviceModel.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2014, Teo Mrnjavac diff --git a/src/modules/partition/core/DeviceModel.h b/src/modules/partition/core/DeviceModel.h index 32c557d9e..ccca426bd 100644 --- a/src/modules/partition/core/DeviceModel.h +++ b/src/modules/partition/core/DeviceModel.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2017, Adriaan de Groot diff --git a/src/modules/partition/core/KPMHelpers.cpp b/src/modules/partition/core/KPMHelpers.cpp index 6ed167eee..d772b895b 100644 --- a/src/modules/partition/core/KPMHelpers.cpp +++ b/src/modules/partition/core/KPMHelpers.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/core/KPMHelpers.h b/src/modules/partition/core/KPMHelpers.h index f6f5bb8c1..c9d9a30f9 100644 --- a/src/modules/partition/core/KPMHelpers.h +++ b/src/modules/partition/core/KPMHelpers.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/core/OsproberEntry.h b/src/modules/partition/core/OsproberEntry.h index e57ac986d..792f22b29 100644 --- a/src/modules/partition/core/OsproberEntry.h +++ b/src/modules/partition/core/OsproberEntry.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/partition/core/PartUtils.cpp b/src/modules/partition/core/PartUtils.cpp index d2493239e..4a7253f92 100644 --- a/src/modules/partition/core/PartUtils.cpp +++ b/src/modules/partition/core/PartUtils.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015-2016, Teo Mrnjavac * diff --git a/src/modules/partition/core/PartUtils.h b/src/modules/partition/core/PartUtils.h index c8d0714f0..144e9e45b 100644 --- a/src/modules/partition/core/PartUtils.h +++ b/src/modules/partition/core/PartUtils.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015-2016, Teo Mrnjavac * diff --git a/src/modules/partition/core/PartitionActions.cpp b/src/modules/partition/core/PartitionActions.cpp index 1c2363845..1de84d83c 100644 --- a/src/modules/partition/core/PartitionActions.cpp +++ b/src/modules/partition/core/PartitionActions.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/partition/core/PartitionActions.h b/src/modules/partition/core/PartitionActions.h index 5bdf86c76..bb624552f 100644 --- a/src/modules/partition/core/PartitionActions.h +++ b/src/modules/partition/core/PartitionActions.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index a40ca1035..e8cdc64b8 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2014-2015, Teo Mrnjavac diff --git a/src/modules/partition/core/PartitionCoreModule.h b/src/modules/partition/core/PartitionCoreModule.h index c035670f0..49564dad1 100644 --- a/src/modules/partition/core/PartitionCoreModule.h +++ b/src/modules/partition/core/PartitionCoreModule.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2014-2016, Teo Mrnjavac diff --git a/src/modules/partition/core/PartitionInfo.cpp b/src/modules/partition/core/PartitionInfo.cpp index 5f1d6d9f6..72cca8976 100644 --- a/src/modules/partition/core/PartitionInfo.cpp +++ b/src/modules/partition/core/PartitionInfo.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * diff --git a/src/modules/partition/core/PartitionInfo.h b/src/modules/partition/core/PartitionInfo.h index bdcd03610..2474a3a2d 100644 --- a/src/modules/partition/core/PartitionInfo.h +++ b/src/modules/partition/core/PartitionInfo.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * diff --git a/src/modules/partition/core/PartitionIterator.cpp b/src/modules/partition/core/PartitionIterator.cpp index 26fa1df8c..5ed48fd91 100644 --- a/src/modules/partition/core/PartitionIterator.cpp +++ b/src/modules/partition/core/PartitionIterator.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/core/PartitionIterator.h b/src/modules/partition/core/PartitionIterator.h index 225022273..b72c2de8a 100644 --- a/src/modules/partition/core/PartitionIterator.h +++ b/src/modules/partition/core/PartitionIterator.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/core/PartitionModel.cpp b/src/modules/partition/core/PartitionModel.cpp index 648c57932..bf61843d0 100644 --- a/src/modules/partition/core/PartitionModel.cpp +++ b/src/modules/partition/core/PartitionModel.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * diff --git a/src/modules/partition/core/PartitionModel.h b/src/modules/partition/core/PartitionModel.h index 71764d8e9..fa63103c9 100644 --- a/src/modules/partition/core/PartitionModel.h +++ b/src/modules/partition/core/PartitionModel.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2017, Adriaan de Groot diff --git a/src/modules/partition/gui/BootInfoWidget.cpp b/src/modules/partition/gui/BootInfoWidget.cpp index cb89432b0..6a985877f 100644 --- a/src/modules/partition/gui/BootInfoWidget.cpp +++ b/src/modules/partition/gui/BootInfoWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015-2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/BootInfoWidget.h b/src/modules/partition/gui/BootInfoWidget.h index ac70a7b9a..257b3904a 100644 --- a/src/modules/partition/gui/BootInfoWidget.h +++ b/src/modules/partition/gui/BootInfoWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015-2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp index b4e9b0c9f..77b807a2b 100644 --- a/src/modules/partition/gui/ChoicePage.cpp +++ b/src/modules/partition/gui/ChoicePage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/partition/gui/ChoicePage.h b/src/modules/partition/gui/ChoicePage.h index f102cf419..8d600978e 100644 --- a/src/modules/partition/gui/ChoicePage.h +++ b/src/modules/partition/gui/ChoicePage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/CreatePartitionDialog.cpp b/src/modules/partition/gui/CreatePartitionDialog.cpp index 90cf92051..8bad2dd70 100644 --- a/src/modules/partition/gui/CreatePartitionDialog.cpp +++ b/src/modules/partition/gui/CreatePartitionDialog.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/CreatePartitionDialog.h b/src/modules/partition/gui/CreatePartitionDialog.h index 641616e3f..6e8e9b6fd 100644 --- a/src/modules/partition/gui/CreatePartitionDialog.h +++ b/src/modules/partition/gui/CreatePartitionDialog.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/DeviceInfoWidget.cpp b/src/modules/partition/gui/DeviceInfoWidget.cpp index abe5c7a49..033db147f 100644 --- a/src/modules/partition/gui/DeviceInfoWidget.cpp +++ b/src/modules/partition/gui/DeviceInfoWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015-2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/DeviceInfoWidget.h b/src/modules/partition/gui/DeviceInfoWidget.h index f8bd07ca3..b1769c19d 100644 --- a/src/modules/partition/gui/DeviceInfoWidget.h +++ b/src/modules/partition/gui/DeviceInfoWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015-2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/EditExistingPartitionDialog.cpp b/src/modules/partition/gui/EditExistingPartitionDialog.cpp index e213b8731..2212c104c 100644 --- a/src/modules/partition/gui/EditExistingPartitionDialog.cpp +++ b/src/modules/partition/gui/EditExistingPartitionDialog.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/EditExistingPartitionDialog.h b/src/modules/partition/gui/EditExistingPartitionDialog.h index 83552fe55..b933e90ce 100644 --- a/src/modules/partition/gui/EditExistingPartitionDialog.h +++ b/src/modules/partition/gui/EditExistingPartitionDialog.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * diff --git a/src/modules/partition/gui/EncryptWidget.cpp b/src/modules/partition/gui/EncryptWidget.cpp index 198f2ebe1..56938dec6 100644 --- a/src/modules/partition/gui/EncryptWidget.cpp +++ b/src/modules/partition/gui/EncryptWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/EncryptWidget.h b/src/modules/partition/gui/EncryptWidget.h index 7e3d654da..3f3cb1681 100644 --- a/src/modules/partition/gui/EncryptWidget.h +++ b/src/modules/partition/gui/EncryptWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/PartitionBarsView.cpp b/src/modules/partition/gui/PartitionBarsView.cpp index a66420e1b..3fa1bb272 100644 --- a/src/modules/partition/gui/PartitionBarsView.cpp +++ b/src/modules/partition/gui/PartitionBarsView.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/PartitionBarsView.h b/src/modules/partition/gui/PartitionBarsView.h index e384ed5db..0d5051b41 100644 --- a/src/modules/partition/gui/PartitionBarsView.h +++ b/src/modules/partition/gui/PartitionBarsView.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/PartitionLabelsView.cpp b/src/modules/partition/gui/PartitionLabelsView.cpp index c0b7fdd41..fbcc1de72 100644 --- a/src/modules/partition/gui/PartitionLabelsView.cpp +++ b/src/modules/partition/gui/PartitionLabelsView.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/PartitionLabelsView.h b/src/modules/partition/gui/PartitionLabelsView.h index d6c86a5dc..e461a8dd8 100644 --- a/src/modules/partition/gui/PartitionLabelsView.h +++ b/src/modules/partition/gui/PartitionLabelsView.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/PartitionPage.cpp b/src/modules/partition/gui/PartitionPage.cpp index 62e7a97a1..97ff0f3e0 100644 --- a/src/modules/partition/gui/PartitionPage.cpp +++ b/src/modules/partition/gui/PartitionPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/PartitionPage.h b/src/modules/partition/gui/PartitionPage.h index f998fe2ae..24cf65675 100644 --- a/src/modules/partition/gui/PartitionPage.h +++ b/src/modules/partition/gui/PartitionPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * diff --git a/src/modules/partition/gui/PartitionSizeController.cpp b/src/modules/partition/gui/PartitionSizeController.cpp index 3bb9e758c..39879dab9 100644 --- a/src/modules/partition/gui/PartitionSizeController.cpp +++ b/src/modules/partition/gui/PartitionSizeController.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/PartitionSizeController.h b/src/modules/partition/gui/PartitionSizeController.h index 64430b112..7337968f5 100644 --- a/src/modules/partition/gui/PartitionSizeController.h +++ b/src/modules/partition/gui/PartitionSizeController.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/PartitionSplitterWidget.cpp b/src/modules/partition/gui/PartitionSplitterWidget.cpp index 4b0776344..ae73ecfcd 100644 --- a/src/modules/partition/gui/PartitionSplitterWidget.cpp +++ b/src/modules/partition/gui/PartitionSplitterWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/PartitionSplitterWidget.h b/src/modules/partition/gui/PartitionSplitterWidget.h index 0d2d0e233..ed4f0d112 100644 --- a/src/modules/partition/gui/PartitionSplitterWidget.h +++ b/src/modules/partition/gui/PartitionSplitterWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/PartitionViewSelectionFilter.h b/src/modules/partition/gui/PartitionViewSelectionFilter.h index 58f1a5f70..75572a5bb 100644 --- a/src/modules/partition/gui/PartitionViewSelectionFilter.h +++ b/src/modules/partition/gui/PartitionViewSelectionFilter.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/modules/partition/gui/PartitionViewStep.cpp b/src/modules/partition/gui/PartitionViewStep.cpp index 7f113ce88..f26c49ae7 100644 --- a/src/modules/partition/gui/PartitionViewStep.cpp +++ b/src/modules/partition/gui/PartitionViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2014-2017, Teo Mrnjavac diff --git a/src/modules/partition/gui/PartitionViewStep.h b/src/modules/partition/gui/PartitionViewStep.h index 1aa8190f9..dfd0310b3 100644 --- a/src/modules/partition/gui/PartitionViewStep.h +++ b/src/modules/partition/gui/PartitionViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2014-2016, Teo Mrnjavac diff --git a/src/modules/partition/gui/PrettyRadioButton.cpp b/src/modules/partition/gui/PrettyRadioButton.cpp index d5d25ef52..a697ed270 100644 --- a/src/modules/partition/gui/PrettyRadioButton.cpp +++ b/src/modules/partition/gui/PrettyRadioButton.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/partition/gui/PrettyRadioButton.h b/src/modules/partition/gui/PrettyRadioButton.h index ccedf25ed..f475ce528 100644 --- a/src/modules/partition/gui/PrettyRadioButton.h +++ b/src/modules/partition/gui/PrettyRadioButton.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/partition/gui/ReplaceWidget.cpp b/src/modules/partition/gui/ReplaceWidget.cpp index f5a492809..524932057 100644 --- a/src/modules/partition/gui/ReplaceWidget.cpp +++ b/src/modules/partition/gui/ReplaceWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2014, Aurélien Gâteau diff --git a/src/modules/partition/gui/ReplaceWidget.h b/src/modules/partition/gui/ReplaceWidget.h index 0f894a71d..467ad5f96 100644 --- a/src/modules/partition/gui/ReplaceWidget.h +++ b/src/modules/partition/gui/ReplaceWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2014, Aurélien Gâteau diff --git a/src/modules/partition/gui/ScanningDialog.cpp b/src/modules/partition/gui/ScanningDialog.cpp index 85c0cb734..9084be2cc 100644 --- a/src/modules/partition/gui/ScanningDialog.cpp +++ b/src/modules/partition/gui/ScanningDialog.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/partition/gui/ScanningDialog.h b/src/modules/partition/gui/ScanningDialog.h index 6686e79e8..4f5254590 100644 --- a/src/modules/partition/gui/ScanningDialog.h +++ b/src/modules/partition/gui/ScanningDialog.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac * diff --git a/src/modules/partition/jobs/ClearMountsJob.cpp b/src/modules/partition/jobs/ClearMountsJob.cpp index bf07b909c..c5811cdd4 100644 --- a/src/modules/partition/jobs/ClearMountsJob.cpp +++ b/src/modules/partition/jobs/ClearMountsJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/partition/jobs/ClearMountsJob.h b/src/modules/partition/jobs/ClearMountsJob.h index bc4df8fe7..26514913e 100644 --- a/src/modules/partition/jobs/ClearMountsJob.h +++ b/src/modules/partition/jobs/ClearMountsJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/partition/jobs/ClearTempMountsJob.cpp b/src/modules/partition/jobs/ClearTempMountsJob.cpp index 3f82231d9..49e4e45dc 100644 --- a/src/modules/partition/jobs/ClearTempMountsJob.cpp +++ b/src/modules/partition/jobs/ClearTempMountsJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/partition/jobs/ClearTempMountsJob.h b/src/modules/partition/jobs/ClearTempMountsJob.h index 1ce15a111..36adca91b 100644 --- a/src/modules/partition/jobs/ClearTempMountsJob.h +++ b/src/modules/partition/jobs/ClearTempMountsJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index aab032a87..702b4f70d 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/CreatePartitionJob.h b/src/modules/partition/jobs/CreatePartitionJob.h index f3f708457..e25c74241 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.h +++ b/src/modules/partition/jobs/CreatePartitionJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.cpp b/src/modules/partition/jobs/CreatePartitionTableJob.cpp index e4430134f..92085ef92 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionTableJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.h b/src/modules/partition/jobs/CreatePartitionTableJob.h index 6f9544de3..38ef5365c 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.h +++ b/src/modules/partition/jobs/CreatePartitionTableJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/DeletePartitionJob.cpp b/src/modules/partition/jobs/DeletePartitionJob.cpp index bceffd133..b6b3b19af 100644 --- a/src/modules/partition/jobs/DeletePartitionJob.cpp +++ b/src/modules/partition/jobs/DeletePartitionJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/DeletePartitionJob.h b/src/modules/partition/jobs/DeletePartitionJob.h index 7f85f4a65..805689cc0 100644 --- a/src/modules/partition/jobs/DeletePartitionJob.h +++ b/src/modules/partition/jobs/DeletePartitionJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index 443eb8b9e..9bc7ad57b 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.h b/src/modules/partition/jobs/FillGlobalStorageJob.h index b3609ad3f..357d939a2 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.h +++ b/src/modules/partition/jobs/FillGlobalStorageJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/FormatPartitionJob.cpp b/src/modules/partition/jobs/FormatPartitionJob.cpp index 162839ce7..f1459de50 100644 --- a/src/modules/partition/jobs/FormatPartitionJob.cpp +++ b/src/modules/partition/jobs/FormatPartitionJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac diff --git a/src/modules/partition/jobs/FormatPartitionJob.h b/src/modules/partition/jobs/FormatPartitionJob.h index a1ab853e0..683deb66e 100644 --- a/src/modules/partition/jobs/FormatPartitionJob.h +++ b/src/modules/partition/jobs/FormatPartitionJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/PartitionJob.cpp b/src/modules/partition/jobs/PartitionJob.cpp index 2de93ac47..00498ae35 100644 --- a/src/modules/partition/jobs/PartitionJob.cpp +++ b/src/modules/partition/jobs/PartitionJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * diff --git a/src/modules/partition/jobs/PartitionJob.h b/src/modules/partition/jobs/PartitionJob.h index cf773d60e..8bfe0e956 100644 --- a/src/modules/partition/jobs/PartitionJob.h +++ b/src/modules/partition/jobs/PartitionJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * diff --git a/src/modules/partition/jobs/ResizePartitionJob.cpp b/src/modules/partition/jobs/ResizePartitionJob.cpp index 340a19acd..63af68cc1 100644 --- a/src/modules/partition/jobs/ResizePartitionJob.cpp +++ b/src/modules/partition/jobs/ResizePartitionJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/ResizePartitionJob.h b/src/modules/partition/jobs/ResizePartitionJob.h index 453461d8d..9e6d39943 100644 --- a/src/modules/partition/jobs/ResizePartitionJob.h +++ b/src/modules/partition/jobs/ResizePartitionJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp index ecc8b2142..750afcba3 100644 --- a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp +++ b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/modules/partition/jobs/SetPartitionFlagsJob.h b/src/modules/partition/jobs/SetPartitionFlagsJob.h index 0b1914f7f..464ad0c6b 100644 --- a/src/modules/partition/jobs/SetPartitionFlagsJob.h +++ b/src/modules/partition/jobs/SetPartitionFlagsJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2016, Teo Mrnjavac * diff --git a/src/modules/partition/tests/PartitionJobTests.cpp b/src/modules/partition/tests/PartitionJobTests.cpp index 8702e0119..f247de50d 100644 --- a/src/modules/partition/tests/PartitionJobTests.cpp +++ b/src/modules/partition/tests/PartitionJobTests.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * Copyright 2017, Adriaan de Groot diff --git a/src/modules/partition/tests/PartitionJobTests.h b/src/modules/partition/tests/PartitionJobTests.h index d86641580..0744cbdda 100644 --- a/src/modules/partition/tests/PartitionJobTests.h +++ b/src/modules/partition/tests/PartitionJobTests.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau * diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 82d55f609..d5db8ae4c 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plasmalnf/PlasmaLnfJob.h b/src/modules/plasmalnf/PlasmaLnfJob.h index c7a7726ed..65e08579f 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.h +++ b/src/modules/plasmalnf/PlasmaLnfJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plasmalnf/PlasmaLnfPage.cpp b/src/modules/plasmalnf/PlasmaLnfPage.cpp index 2b171cc40..651a17b6b 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.cpp +++ b/src/modules/plasmalnf/PlasmaLnfPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plasmalnf/PlasmaLnfPage.h b/src/modules/plasmalnf/PlasmaLnfPage.h index e489e99a7..2a4d3dd07 100644 --- a/src/modules/plasmalnf/PlasmaLnfPage.h +++ b/src/modules/plasmalnf/PlasmaLnfPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp index 791ca0e6f..8a2162c3d 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.cpp +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h index 0ae74f7d5..1f48798bc 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.h +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plasmalnf/ThemeInfo.h b/src/modules/plasmalnf/ThemeInfo.h index b186b9be1..982064073 100644 --- a/src/modules/plasmalnf/ThemeInfo.h +++ b/src/modules/plasmalnf/ThemeInfo.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plasmalnf/ThemeWidget.cpp b/src/modules/plasmalnf/ThemeWidget.cpp index 28e01c2ff..c618a4947 100644 --- a/src/modules/plasmalnf/ThemeWidget.cpp +++ b/src/modules/plasmalnf/ThemeWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plasmalnf/ThemeWidget.h b/src/modules/plasmalnf/ThemeWidget.h index a6716ce72..83294cc77 100644 --- a/src/modules/plasmalnf/ThemeWidget.h +++ b/src/modules/plasmalnf/ThemeWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/plymouthcfg/main.py b/src/modules/plymouthcfg/main.py index dd59f84d3..2cb4f6dac 100644 --- a/src/modules/plymouthcfg/main.py +++ b/src/modules/plymouthcfg/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2016, Artoo # Copyright 2017, Alf Gaida diff --git a/src/modules/removeuser/main.py b/src/modules/removeuser/main.py index 795f403fe..9acc20b54 100644 --- a/src/modules/removeuser/main.py +++ b/src/modules/removeuser/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2015, Teo Mrnjavac # Copyright 2017. Alf Gaida diff --git a/src/modules/services/main.py b/src/modules/services/main.py index 03d82554a..48e61d882 100644 --- a/src/modules/services/main.py +++ b/src/modules/services/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Philip Müller # Copyright 2014, Teo Mrnjavac diff --git a/src/modules/summary/SummaryPage.cpp b/src/modules/summary/SummaryPage.cpp index bc0864775..de68b1211 100644 --- a/src/modules/summary/SummaryPage.cpp +++ b/src/modules/summary/SummaryPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/summary/SummaryPage.h b/src/modules/summary/SummaryPage.h index 05331d260..c165d3e33 100644 --- a/src/modules/summary/SummaryPage.h +++ b/src/modules/summary/SummaryPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/summary/SummaryViewStep.cpp b/src/modules/summary/SummaryViewStep.cpp index 36f94b77f..4f60a3c4f 100644 --- a/src/modules/summary/SummaryViewStep.cpp +++ b/src/modules/summary/SummaryViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/summary/SummaryViewStep.h b/src/modules/summary/SummaryViewStep.h index e1a8df89b..9aff35cd0 100644 --- a/src/modules/summary/SummaryViewStep.h +++ b/src/modules/summary/SummaryViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/test_conf.cpp b/src/modules/test_conf.cpp index d5ac7c6ce..7ef557a3c 100644 --- a/src/modules/test_conf.cpp +++ b/src/modules/test_conf.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/testmodule.py b/src/modules/testmodule.py index 3d67826bd..633d57d9f 100755 --- a/src/modules/testmodule.py +++ b/src/modules/testmodule.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Teo Mrnjavac # Copyright 2017, Adriaan de Groot diff --git a/src/modules/tracking/TrackingJobs.cpp b/src/modules/tracking/TrackingJobs.cpp index dc6584980..7a95f601e 100644 --- a/src/modules/tracking/TrackingJobs.cpp +++ b/src/modules/tracking/TrackingJobs.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/tracking/TrackingJobs.h b/src/modules/tracking/TrackingJobs.h index 60c8a0f77..2d90c2b15 100644 --- a/src/modules/tracking/TrackingJobs.h +++ b/src/modules/tracking/TrackingJobs.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/tracking/TrackingPage.cpp b/src/modules/tracking/TrackingPage.cpp index 3f3d7c718..fde91f98e 100644 --- a/src/modules/tracking/TrackingPage.cpp +++ b/src/modules/tracking/TrackingPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/tracking/TrackingPage.h b/src/modules/tracking/TrackingPage.h index 281102897..ac667d5e6 100644 --- a/src/modules/tracking/TrackingPage.h +++ b/src/modules/tracking/TrackingPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/tracking/TrackingType.h b/src/modules/tracking/TrackingType.h index 01997d4d5..5c97e8485 100644 --- a/src/modules/tracking/TrackingType.h +++ b/src/modules/tracking/TrackingType.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/tracking/TrackingViewStep.cpp b/src/modules/tracking/TrackingViewStep.cpp index 3d3fe4c0d..417e10fc0 100644 --- a/src/modules/tracking/TrackingViewStep.cpp +++ b/src/modules/tracking/TrackingViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/tracking/TrackingViewStep.h b/src/modules/tracking/TrackingViewStep.h index 5f2f58af1..c024f1d3a 100644 --- a/src/modules/tracking/TrackingViewStep.h +++ b/src/modules/tracking/TrackingViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/umount/main.py b/src/modules/umount/main.py index 01e674702..aa42ba023 100644 --- a/src/modules/umount/main.py +++ b/src/modules/umount/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Aurélien Gâteau # Copyright 2016, Anke Boersma diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 9eaa5c622..96b979a58 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# === This file is part of Calamares - === +# === This file is part of Calamares - === # # Copyright 2014, Teo Mrnjavac # Copyright 2014, Daniel Hillenbrand diff --git a/src/modules/users/CreateUserJob.cpp b/src/modules/users/CreateUserJob.cpp index 5f6843db5..727cae2ae 100644 --- a/src/modules/users/CreateUserJob.cpp +++ b/src/modules/users/CreateUserJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2016, Teo Mrnjavac * diff --git a/src/modules/users/CreateUserJob.h b/src/modules/users/CreateUserJob.h index d32f12210..d3459fc8a 100644 --- a/src/modules/users/CreateUserJob.h +++ b/src/modules/users/CreateUserJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/users/PasswordTests.cpp b/src/modules/users/PasswordTests.cpp index cb52e7ef7..d4526351a 100644 --- a/src/modules/users/PasswordTests.cpp +++ b/src/modules/users/PasswordTests.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/users/PasswordTests.h b/src/modules/users/PasswordTests.h index 5b51fd11f..3b4b5d201 100644 --- a/src/modules/users/PasswordTests.h +++ b/src/modules/users/PasswordTests.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2017, Adriaan de Groot * diff --git a/src/modules/users/SetHostNameJob.cpp b/src/modules/users/SetHostNameJob.cpp index 20f6c09db..948f78d17 100644 --- a/src/modules/users/SetHostNameJob.cpp +++ b/src/modules/users/SetHostNameJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Rohan Garg * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/users/SetHostNameJob.h b/src/modules/users/SetHostNameJob.h index ecd9d34af..11e296fce 100644 --- a/src/modules/users/SetHostNameJob.h +++ b/src/modules/users/SetHostNameJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Rohan Garg * Copyright 2015, Teo Mrnjavac diff --git a/src/modules/users/SetPasswordJob.cpp b/src/modules/users/SetPasswordJob.cpp index d917e6d5f..9c560106d 100644 --- a/src/modules/users/SetPasswordJob.cpp +++ b/src/modules/users/SetPasswordJob.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/users/SetPasswordJob.h b/src/modules/users/SetPasswordJob.h index 8a53d4941..c4ec59c2a 100644 --- a/src/modules/users/SetPasswordJob.h +++ b/src/modules/users/SetPasswordJob.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 453d1eae7..62f558a1e 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index 5a72e11de..8bfcdb83b 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index 34c6614f8..c670597cf 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/users/UsersViewStep.h b/src/modules/users/UsersViewStep.h index a529ad4ea..81b80bced 100644 --- a/src/modules/users/UsersViewStep.h +++ b/src/modules/users/UsersViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/webview/WebViewStep.cpp b/src/modules/webview/WebViewStep.cpp index 069b52d5a..1db7c8e41 100644 --- a/src/modules/webview/WebViewStep.cpp +++ b/src/modules/webview/WebViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Rohan Garg * Copyright 2016, Teo Mrnjavac diff --git a/src/modules/webview/WebViewStep.h b/src/modules/webview/WebViewStep.h index 105eea4b3..6430cdcf1 100644 --- a/src/modules/webview/WebViewStep.h +++ b/src/modules/webview/WebViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2015, Rohan Garg * Copyright 2016, Teo Mrnjavac diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index 8b5c604b4..e3bedb0f8 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2015, Anke Boersma diff --git a/src/modules/welcome/WelcomePage.h b/src/modules/welcome/WelcomePage.h index 79546802a..cf187aecb 100644 --- a/src/modules/welcome/WelcomePage.h +++ b/src/modules/welcome/WelcomePage.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * diff --git a/src/modules/welcome/WelcomeViewStep.cpp b/src/modules/welcome/WelcomeViewStep.cpp index 3c9d29993..1a43d4ef4 100644 --- a/src/modules/welcome/WelcomeViewStep.cpp +++ b/src/modules/welcome/WelcomeViewStep.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/welcome/WelcomeViewStep.h b/src/modules/welcome/WelcomeViewStep.h index fbcbd8ded..34b84c29f 100644 --- a/src/modules/welcome/WelcomeViewStep.h +++ b/src/modules/welcome/WelcomeViewStep.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/welcome/checker/CheckItemWidget.cpp b/src/modules/welcome/checker/CheckItemWidget.cpp index c0fa80a25..ef0905100 100644 --- a/src/modules/welcome/checker/CheckItemWidget.cpp +++ b/src/modules/welcome/checker/CheckItemWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/welcome/checker/CheckItemWidget.h b/src/modules/welcome/checker/CheckItemWidget.h index 31164a190..d2224c694 100644 --- a/src/modules/welcome/checker/CheckItemWidget.h +++ b/src/modules/welcome/checker/CheckItemWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/welcome/checker/CheckerWidget.cpp b/src/modules/welcome/checker/CheckerWidget.cpp index 2476847b6..07a612a9f 100644 --- a/src/modules/welcome/checker/CheckerWidget.cpp +++ b/src/modules/welcome/checker/CheckerWidget.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/welcome/checker/CheckerWidget.h b/src/modules/welcome/checker/CheckerWidget.h index 9e4accf23..8081e4ee4 100644 --- a/src/modules/welcome/checker/CheckerWidget.h +++ b/src/modules/welcome/checker/CheckerWidget.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index a815b6188..f059cc914 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/welcome/checker/RequirementsChecker.h b/src/modules/welcome/checker/RequirementsChecker.h index 23ee39f74..ceb4eb209 100644 --- a/src/modules/welcome/checker/RequirementsChecker.h +++ b/src/modules/welcome/checker/RequirementsChecker.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac * Copyright 2017, Adriaan de Groot diff --git a/src/modules/welcome/checker/partman_devices.c b/src/modules/welcome/checker/partman_devices.c index 2cc97557a..7a7463857 100644 --- a/src/modules/welcome/checker/partman_devices.c +++ b/src/modules/welcome/checker/partman_devices.c @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac * diff --git a/src/modules/welcome/checker/partman_devices.h b/src/modules/welcome/checker/partman_devices.h index 8bf620a48..9f7695ee9 100644 --- a/src/modules/welcome/checker/partman_devices.h +++ b/src/modules/welcome/checker/partman_devices.h @@ -1,4 +1,4 @@ -/* === This file is part of Calamares - === +/* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac * From c6ab4195c785efaa1f4aed2f910fee5338d4f0c4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 20 Dec 2017 09:12:27 -0500 Subject: [PATCH 077/178] [contextualprocess] Stub of a contextual-process job This is meant to run one or more jobs based on specific global configuration values; if could also be done by a Python module with just some if's, but this one can be used with just the config file and covers a bunch of use-cases. --- src/modules/contextualprocess/CMakeLists.txt | 9 +++ .../ContextualProcessJob.cpp | 64 +++++++++++++++++++ .../contextualprocess/ContextualProcessJob.h | 51 +++++++++++++++ .../contextualprocess/contextualprocess.conf | 19 ++++++ src/modules/contextualprocess/module.desc | 5 ++ 5 files changed, 148 insertions(+) create mode 100644 src/modules/contextualprocess/CMakeLists.txt create mode 100644 src/modules/contextualprocess/ContextualProcessJob.cpp create mode 100644 src/modules/contextualprocess/ContextualProcessJob.h create mode 100644 src/modules/contextualprocess/contextualprocess.conf create mode 100644 src/modules/contextualprocess/module.desc diff --git a/src/modules/contextualprocess/CMakeLists.txt b/src/modules/contextualprocess/CMakeLists.txt new file mode 100644 index 000000000..df27dc938 --- /dev/null +++ b/src/modules/contextualprocess/CMakeLists.txt @@ -0,0 +1,9 @@ +calamares_add_plugin( contextualprocess + TYPE job + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + ContextualProcessJob.cpp + LINK_PRIVATE_LIBRARIES + calamares + SHARED_LIB +) diff --git a/src/modules/contextualprocess/ContextualProcessJob.cpp b/src/modules/contextualprocess/ContextualProcessJob.cpp new file mode 100644 index 000000000..131a42fca --- /dev/null +++ b/src/modules/contextualprocess/ContextualProcessJob.cpp @@ -0,0 +1,64 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "ContextualProcessJob.h" + +#include +#include +#include + +#include "CalamaresVersion.h" +#include "JobQueue.h" +#include "GlobalStorage.h" + +#include "utils/Logger.h" + +ContextualProcessJob::ContextualProcessJob( QObject* parent ) + : Calamares::CppJob( parent ) +{ +} + + +ContextualProcessJob::~ContextualProcessJob() +{ +} + + +QString +ContextualProcessJob::prettyName() const +{ + return tr( "Contextual Processes Job" ); +} + + +Calamares::JobResult +ContextualProcessJob::exec() +{ + QThread::sleep( 3 ); + + return Calamares::JobResult::ok(); +} + + +void +ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) +{ + m_configurationMap = configurationMap; +} + +CALAMARES_PLUGIN_FACTORY_DEFINITION( ContextualProcessJobFactory, registerPlugin(); ) diff --git a/src/modules/contextualprocess/ContextualProcessJob.h b/src/modules/contextualprocess/ContextualProcessJob.h new file mode 100644 index 000000000..d12dff91d --- /dev/null +++ b/src/modules/contextualprocess/ContextualProcessJob.h @@ -0,0 +1,51 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef CONTEXTUALPROCESSJOB_H +#define CONTEXTUALPROCESSJOB_H + +#include +#include + +#include + +#include + +#include + +class PLUGINDLLEXPORT ContextualProcessJob : public Calamares::CppJob +{ + Q_OBJECT + +public: + explicit ContextualProcessJob( QObject* parent = nullptr ); + virtual ~ContextualProcessJob() override; + + QString prettyName() const override; + + Calamares::JobResult exec() override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; + +private: + QVariantMap m_configurationMap; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( ContextualProcessJobFactory ) + +#endif // CONTEXTUALPROCESSJOB_H diff --git a/src/modules/contextualprocess/contextualprocess.conf b/src/modules/contextualprocess/contextualprocess.conf new file mode 100644 index 000000000..832613080 --- /dev/null +++ b/src/modules/contextualprocess/contextualprocess.conf @@ -0,0 +1,19 @@ +# Configuration for the contextual process job. +# +# Contextual processes are based on **global** configuration values. +# When a given global value (string) equals a given value, then +# the associated command is executed. +# +# Configuration consists of keys for global variable names, +# and the sub-keys are strings to compare to the variable's value. +# If the variable has that particular value, the corresponding +# value is executed as a shell command in the target environment. +# +# If a command starts with "-" (a single minus sign), then the +# return value of the command following the - is ignored; otherwise, +# a failing command will abort the installation. This is much like +# make's use of - in a command. +--- +firmwareType: + efi: "-pkg remove efi-firmware" + bios: "-pkg remove bios-firmware" diff --git a/src/modules/contextualprocess/module.desc b/src/modules/contextualprocess/module.desc new file mode 100644 index 000000000..e0d1bd87f --- /dev/null +++ b/src/modules/contextualprocess/module.desc @@ -0,0 +1,5 @@ +--- +type: "job" +name: "contextualprocess" +interface: "qtplugin" +load: "libcalamares_job_contextualprocess.so" From f8a53f96468fabd6dae43c15d2df6025be0e286b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Dec 2017 16:30:13 +0100 Subject: [PATCH 078/178] [libcalamares] Refactor explanation of process-job errors --- src/libcalamares/ProcessJob.cpp | 68 ++++++++++++++++++--------------- src/libcalamares/ProcessJob.h | 4 ++ 2 files changed, 41 insertions(+), 31 deletions(-) diff --git a/src/libcalamares/ProcessJob.cpp b/src/libcalamares/ProcessJob.cpp index 9b3055671..fa467c08b 100644 --- a/src/libcalamares/ProcessJob.cpp +++ b/src/libcalamares/ProcessJob.cpp @@ -82,37 +82,7 @@ ProcessJob::exec() QString(), m_timeoutSec ); - if ( ec == 0 ) - return JobResult::ok(); - - if ( ec == -1 ) //Crash! - return JobResult::error( tr( "External command crashed" ), - tr( "Command %1 crashed.\nOutput:\n%2" ) - .arg( m_command ) - .arg( output ) ); - - if ( ec == -2 ) - return JobResult::error( tr( "External command failed to start" ), - tr( "Command %1 failed to start." ) - .arg( m_command ) ); - - if ( ec == -3 ) - return JobResult::error( tr( "Internal error when starting command" ), - tr( "Bad parameters for process job call." ) ); - - if ( ec == -4 ) - return JobResult::error( tr( "External command failed to finish" ), - tr( "Command %1 failed to finish in %2s.\nOutput:\n%3" ) - .arg( m_command ) - .arg( m_timeoutSec ) - .arg( output ) ); - - //Any other exit code - return JobResult::error( tr( "External command finished with errors" ), - tr( "Command %1 finished with exit code %2.\nOutput:\n%3" ) - .arg( m_command ) - .arg( ec ) - .arg( output ) ); + return explainProcess( ec, m_command, output, m_timeoutSec ); } @@ -175,4 +145,40 @@ ProcessJob::callOutput( const QString& command, } +JobResult +ProcessJob::explainProcess( int ec, const QString& command, const QString& output, int timeout ) +{ + if ( ec == 0 ) + return JobResult::ok(); + + if ( ec == -1 ) //Crash! + return JobResult::error( tr( "External command crashed" ), + tr( "Command %1 crashed.\nOutput:\n%2" ) + .arg( command ) + .arg( output ) ); + + if ( ec == -2 ) + return JobResult::error( tr( "External command failed to start" ), + tr( "Command %1 failed to start." ) + .arg( command ) ); + + if ( ec == -3 ) + return JobResult::error( tr( "Internal error when starting command" ), + tr( "Bad parameters for process job call." ) ); + + if ( ec == -4 ) + return JobResult::error( tr( "External command failed to finish" ), + tr( "Command %1 failed to finish in %2s.\nOutput:\n%3" ) + .arg( command ) + .arg( timeout ) + .arg( output ) ); + + //Any other exit code + return JobResult::error( tr( "External command finished with errors" ), + tr( "Command %1 finished with exit code %2.\nOutput:\n%3" ) + .arg( command ) + .arg( ec ) + .arg( output ) ); +} + } // namespace Calamares diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index 59a532023..a18bd1e3b 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -39,6 +39,10 @@ public: QString prettyStatusMessage() const override; JobResult exec() override; +protected: + /** @brief Explain a typical external process failure. */ + static JobResult explainProcess( int errorCode, const QString& command, const QString& output, int timeout ); + private: int callOutput( const QString& command, QString& output, From 980b39961dcf890fcaa0114f6d8b73b5610a3663 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 22 Dec 2017 06:47:12 -0500 Subject: [PATCH 079/178] [calamares] Unset application name Unset the application name so that you don't get -- Calamares in the window title. Reported by: sitter FIXES #877 --- src/calamares/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index 371b4042a..e22a8a0ad 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -56,6 +56,7 @@ main( int argc, char* argv[] ) KCrash::setDrKonqiEnabled( true ); KCrash::setFlags( KCrash::SaferDialog | KCrash::AlwaysDirectly ); // TODO: umount anything in /tmp/calamares-... as an emergency save function + a.setApplicationDisplayName( QString() ); #endif QCommandLineParser parser; From 7ce52ecda72c18194ba3449588358a788b5710e6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 22 Dec 2017 16:20:35 +0100 Subject: [PATCH 080/178] [partition] Rename slots, to avoid recursion --- src/modules/partition/jobs/PartitionJob.cpp | 2 +- src/modules/partition/jobs/PartitionJob.h | 2 +- src/modules/partition/jobs/ResizePartitionJob.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/partition/jobs/PartitionJob.cpp b/src/modules/partition/jobs/PartitionJob.cpp index 2de93ac47..02aa1d6d6 100644 --- a/src/modules/partition/jobs/PartitionJob.cpp +++ b/src/modules/partition/jobs/PartitionJob.cpp @@ -22,7 +22,7 @@ PartitionJob::PartitionJob( Partition* partition ) : m_partition( partition ) {} -void PartitionJob::progress(int percent) +void PartitionJob::iprogress(int percent) { if ( percent < 0 ) percent = 0; diff --git a/src/modules/partition/jobs/PartitionJob.h b/src/modules/partition/jobs/PartitionJob.h index cf773d60e..8cbd8d0c4 100644 --- a/src/modules/partition/jobs/PartitionJob.h +++ b/src/modules/partition/jobs/PartitionJob.h @@ -43,7 +43,7 @@ public slots: * KPMCore presents progress as an integer percent from 0 .. 100, * while Calamares uses a qreal from 0 .. 1.00 . */ - void progress( int percent ); + void iprogress( int percent ); protected: Partition* m_partition; diff --git a/src/modules/partition/jobs/ResizePartitionJob.cpp b/src/modules/partition/jobs/ResizePartitionJob.cpp index 340a19acd..3b7588ded 100644 --- a/src/modules/partition/jobs/ResizePartitionJob.cpp +++ b/src/modules/partition/jobs/ResizePartitionJob.cpp @@ -80,7 +80,7 @@ ResizePartitionJob::exec() m_partition->setLastSector( m_oldLastSector ); ResizeOperation op(*m_device, *m_partition, m_newFirstSector, m_newLastSector); op.setStatus(Operation::StatusRunning); - connect(&op, &Operation::progress, this, &ResizePartitionJob::progress ); + connect(&op, &Operation::progress, this, &ResizePartitionJob::iprogress ); QString errorMessage = tr( "The installer failed to resize partition %1 on disk '%2'." ) .arg( m_partition->partitionPath() ) From 638117efa0f58cf37f12f9294b1b798a49c81713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 15 Dec 2017 12:37:55 +0000 Subject: [PATCH 081/178] Cleanup unnecessary kpmcore includes. --- .../partition/jobs/DeletePartitionJob.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/modules/partition/jobs/DeletePartitionJob.cpp b/src/modules/partition/jobs/DeletePartitionJob.cpp index 1bed8739f..61743ed74 100644 --- a/src/modules/partition/jobs/DeletePartitionJob.cpp +++ b/src/modules/partition/jobs/DeletePartitionJob.cpp @@ -21,16 +21,12 @@ #include "jobs/DeletePartitionJob.h" // KPMcore -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include DeletePartitionJob::DeletePartitionJob( Device* device, Partition* partition ) : PartitionJob( partition ) From 1b3ce39ffb93f6d355c5be9fd7ae44cc4ffff280 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Tue, 19 Dec 2017 18:27:49 +0000 Subject: [PATCH 082/178] Convert FormatPartitionJob to KPMcore's CreateFileSystemOperation. --- .../partition/jobs/FormatPartitionJob.cpp | 76 +++---------------- 1 file changed, 12 insertions(+), 64 deletions(-) diff --git a/src/modules/partition/jobs/FormatPartitionJob.cpp b/src/modules/partition/jobs/FormatPartitionJob.cpp index bc13946c6..76b806390 100644 --- a/src/modules/partition/jobs/FormatPartitionJob.cpp +++ b/src/modules/partition/jobs/FormatPartitionJob.cpp @@ -22,15 +22,12 @@ #include "utils/Logger.h" // KPMcore -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include // Qt #include @@ -78,62 +75,13 @@ Calamares::JobResult FormatPartitionJob::exec() { Report report( nullptr ); // Root of the report tree, no parent - QString partitionPath = m_partition->partitionPath(); - QString message = tr( "The installer failed to format partition %1 on disk '%2'." ).arg( partitionPath, m_device->name() ); + CreateFileSystemOperation op(*m_device, *m_partition, m_partition->fileSystem().type()); + op.setStatus(Operation::StatusRunning); - CoreBackend* backend = CoreBackendManager::self()->backend(); - QScopedPointer backendDevice( backend->openDevice( m_device->deviceNode() ) ); - if ( !backendDevice.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open device '%1'." ).arg( m_device->deviceNode() ) - ); - } + QString message = tr( "The installer failed to format partition %1 on disk '%2'." ).arg( m_partition->partitionPath(), m_device->name() ); - QScopedPointer backendPartitionTable( backendDevice->openPartitionTable() ); - if ( !backendPartitionTable.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open partition table." ) - ); - } + if (op.execute(report)) + return Calamares::JobResult::ok(); - FileSystem& fs = m_partition->fileSystem(); - - bool ok = fs.create( report, partitionPath ); - int retries = 0; - const int MAX_RETRIES = 10; - while ( !ok ) - { - cDebug() << "Partition" << m_partition->partitionPath() - << "might not be ready yet, retrying (" << ++retries - << "/" << MAX_RETRIES << ") ..."; - QThread::sleep( 2 /*seconds*/ ); - ok = fs.create( report, partitionPath ); - - if ( retries == MAX_RETRIES ) - break; - } - - if ( !ok ) - { - return Calamares::JobResult::error( - tr( "The installer failed to create file system on partition %1." ) - .arg( partitionPath ), - report.toText() - ); - } - - if ( !backendPartitionTable->setPartitionSystemType( report, *m_partition ) ) - { - return Calamares::JobResult::error( - tr( "The installer failed to update partition table on disk '%1'." ).arg( m_device->name() ), - report.toText() - ); - } - - backendPartitionTable->commit(); - return Calamares::JobResult::ok(); + return Calamares::JobResult::error(message, report.toText()); } From 806b84973aa3b364370fba223270a0a03ade6367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 22 Dec 2017 12:42:28 +0000 Subject: [PATCH 083/178] Convert CreatePartitionTableJob to KPMcore operation. --- .../jobs/CreatePartitionTableJob.cpp | 46 ++++++------------- .../partition/jobs/FillGlobalStorageJob.cpp | 10 ++-- 2 files changed, 18 insertions(+), 38 deletions(-) diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.cpp b/src/modules/partition/jobs/CreatePartitionTableJob.cpp index 5d2df6bc9..e2f2ec7a9 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionTableJob.cpp @@ -23,15 +23,12 @@ #include "utils/Logger.h" // KPMcore -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include // Qt #include @@ -75,17 +72,7 @@ CreatePartitionTableJob::exec() Report report( nullptr ); QString message = tr( "The installer failed to create a partition table on %1." ).arg( m_device->name() ); - CoreBackend* backend = CoreBackendManager::self()->backend(); - QScopedPointer< CoreBackendDevice > backendDevice( backend->openDevice( m_device->deviceNode() ) ); - if ( !backendDevice.data() ) - { - return Calamares::JobResult::error( - message, - tr( "Could not open device %1." ).arg( m_device->deviceNode() ) - ); - } - - QScopedPointer< PartitionTable > table( createTable() ); + PartitionTable* table( createTable() ); cDebug() << "Creating new partition table of type" << table->typeName() << ", uncommitted yet:\n" << table; @@ -103,20 +90,13 @@ CreatePartitionTableJob::exec() mount.waitForFinished(); cDebug() << "mount:\n" << mount.readAllStandardOutput(); - bool ok = backendDevice->createPartitionTable( report, *table ); - if ( !ok ) - { - return Calamares::JobResult::error( - message, - QString( "Text: %1\nCommand: %2\nOutput: %3\nStatus: %4" ) - .arg( report.toText() ) - .arg( report.command() ) - .arg( report.output() ) - .arg( report.status() ) - ); - } + CreatePartitionTableOperation op(*m_device, table); + op.setStatus(Operation::StatusRunning); - return Calamares::JobResult::ok(); + if (op.execute(report)) + return Calamares::JobResult::ok(); + + return Calamares::JobResult::error(message, report.toText()); } void diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index a3d709b5b..a6c93a2c4 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -28,11 +28,11 @@ #include "Branding.h" #include "utils/Logger.h" -// CalaPM -#include -#include -#include -#include +// KPMcore +#include +#include +#include +#include // Qt #include From dc255e161ee7f8348e89e66f3a9f1b6446cf91ab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 22 Dec 2017 16:20:35 +0100 Subject: [PATCH 084/178] [partition] Rename slots, to avoid recursion --- src/modules/partition/jobs/PartitionJob.cpp | 2 +- src/modules/partition/jobs/PartitionJob.h | 2 +- src/modules/partition/jobs/ResizePartitionJob.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/partition/jobs/PartitionJob.cpp b/src/modules/partition/jobs/PartitionJob.cpp index 00498ae35..1da8b0ba0 100644 --- a/src/modules/partition/jobs/PartitionJob.cpp +++ b/src/modules/partition/jobs/PartitionJob.cpp @@ -22,7 +22,7 @@ PartitionJob::PartitionJob( Partition* partition ) : m_partition( partition ) {} -void PartitionJob::progress(int percent) +void PartitionJob::iprogress(int percent) { if ( percent < 0 ) percent = 0; diff --git a/src/modules/partition/jobs/PartitionJob.h b/src/modules/partition/jobs/PartitionJob.h index 8bfe0e956..61245203c 100644 --- a/src/modules/partition/jobs/PartitionJob.h +++ b/src/modules/partition/jobs/PartitionJob.h @@ -43,7 +43,7 @@ public slots: * KPMCore presents progress as an integer percent from 0 .. 100, * while Calamares uses a qreal from 0 .. 1.00 . */ - void progress( int percent ); + void iprogress( int percent ); protected: Partition* m_partition; diff --git a/src/modules/partition/jobs/ResizePartitionJob.cpp b/src/modules/partition/jobs/ResizePartitionJob.cpp index 63af68cc1..c0477cafe 100644 --- a/src/modules/partition/jobs/ResizePartitionJob.cpp +++ b/src/modules/partition/jobs/ResizePartitionJob.cpp @@ -80,7 +80,7 @@ ResizePartitionJob::exec() m_partition->setLastSector( m_oldLastSector ); ResizeOperation op(*m_device, *m_partition, m_newFirstSector, m_newLastSector); op.setStatus(Operation::StatusRunning); - connect(&op, &Operation::progress, this, &ResizePartitionJob::progress ); + connect(&op, &Operation::progress, this, &ResizePartitionJob::iprogress ); QString errorMessage = tr( "The installer failed to resize partition %1 on disk '%2'." ) .arg( m_partition->partitionPath() ) From 2e1f3899978bd0f434cccc14903173a275b7bb47 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 24 Dec 2017 16:08:48 -0500 Subject: [PATCH 085/178] CMake: explain which modules are skipped Modules may be skipped for different reasons: SKIP_MODULES is the traditional approach to suppress some, but other modules may have unmet build requirements (e.g. Plasma Look-and-Feel, or the Partitioning module) and should be able to opt-out of being built. For all those skipped, log it explicitly after all the modules have been examined. Only CMake-based (e.g. C++) modules support opting-out in this way. --- .../CalamaresAddModuleSubdirectory.cmake | 12 ++++++++++++ src/modules/CMakeLists.txt | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/CMakeModules/CalamaresAddModuleSubdirectory.cmake b/CMakeModules/CalamaresAddModuleSubdirectory.cmake index caf1b707e..12aad380f 100644 --- a/CMakeModules/CalamaresAddModuleSubdirectory.cmake +++ b/CMakeModules/CalamaresAddModuleSubdirectory.cmake @@ -3,15 +3,27 @@ include( CalamaresAddTranslations ) set( MODULE_DATA_DESTINATION share/calamares/modules ) +# Convenience function to indicate that a module has been skipped +# (optionally also why). Call this in the module's CMakeLists.txt +macro( calamares_skip_module ) + set( SKIPPED_MODULES ${SKIPPED_MODULES} ${ARGV} PARENT_SCOPE ) +endmacro() + function( calamares_add_module_subdirectory ) set( SUBDIRECTORY ${ARGV0} ) + set( SKIPPED_MODULES ) set( MODULE_CONFIG_FILES "" ) # If this subdirectory has a CMakeLists.txt, we add_subdirectory it... if( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/CMakeLists.txt" ) add_subdirectory( ${SUBDIRECTORY} ) file( GLOB MODULE_CONFIG_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY} "${SUBDIRECTORY}/*.conf" ) + # Module has indicated it should be skipped, show that in + # the calling CMakeLists (which is src/modules/CMakeLists.txt normally). + if ( SKIPPED_MODULES ) + set( SKIPPED_MODULES ${SKIPPED_MODULES} PARENT_SCOPE ) + endif() # ...otherwise, we look for a module.desc. elseif( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/module.desc" ) set( MODULES_DIR ${CMAKE_INSTALL_LIBDIR}/calamares/modules ) diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt index d48ecd29f..dceaef8dd 100644 --- a/src/modules/CMakeLists.txt +++ b/src/modules/CMakeLists.txt @@ -1,5 +1,11 @@ include( CMakeColors ) +# The variable SKIP_MODULES can be set to skip particular modules; +# individual modules can also decide they must be skipped (e.g. OS-specific +# modules, or ones with unmet dependencies). Collect the skipped modules +# in this list. +set( LIST_SKIPPED_MODULES "" ) + if( BUILD_TESTING ) add_executable( test_conf test_conf.cpp ) target_link_libraries( test_conf ${YAMLCPP_LIBRARY} ) @@ -13,11 +19,24 @@ foreach( SUBDIRECTORY ${SUBDIRECTORIES} ) if( NOT DO_SKIP EQUAL -1 ) message( "${ColorReset}-- Skipping module ${BoldRed}${SUBDIRECTORY}${ColorReset}." ) message( "" ) + list( APPEND LIST_SKIPPED_MODULES "${SUBDIRECTORY} (user request)" ) elseif( ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}" ) AND ( DO_SKIP EQUAL -1 ) ) + set( SKIPPED_MODULES ) calamares_add_module_subdirectory( ${SUBDIRECTORY} ) + if ( SKIPPED_MODULES ) + list( APPEND LIST_SKIPPED_MODULES "${SKIPPED_MODULES}" ) + endif() endif() endforeach() +if ( LIST_SKIPPED_MODULES ) + message( "${ColorReset}-- Skipped modules:" ) + foreach( SUBDIRECTORY ${LIST_SKIPPED_MODULES} ) + message( "${ColorReset}-- Skipped ${BoldRed}${SUBDIRECTORY}${ColorReset}." ) + endforeach() + message( "" ) +endif() + include( CalamaresAddTranslations ) add_calamares_python_translations( ${CALAMARES_TRANSLATION_LANGUAGES} ) From 661789825a8de9a644b58996652d54eebc9f10c1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 23 Dec 2017 10:07:42 -0500 Subject: [PATCH 086/178] [plasmalnf] Make the module optional - Check for presence of KDE Frameworks for Plasma & Package - Explain when module is skipped --- src/modules/plasmalnf/CMakeLists.txt | 55 +++++++++++++++++++--------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index 8148a80e9..15897f98c 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -1,22 +1,41 @@ find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) -find_package( KF5 5.29 REQUIRED CoreAddons Plasma Package ) +# Requires a sufficiently recent Plasma framework, but also +# needs a runtime support component (which we don't test for). +set( lnf_ver 5.41 ) -calamares_add_plugin( plasmalnf - TYPE viewmodule - EXPORT_MACRO PLUGINDLLEXPORT_PRO - SOURCES - PlasmaLnfViewStep.cpp - PlasmaLnfPage.cpp - PlasmaLnfJob.cpp - ThemeWidget.cpp - RESOURCES - page_plasmalnf.qrc - UI - page_plasmalnf.ui - LINK_PRIVATE_LIBRARIES - calamaresui - KF5::Package - KF5::Plasma - SHARED_LIB +find_package( KF5Plasma ${lnf_ver} ) +find_package( KF5Package ${lnf_ver} ) +set_package_properties( + KF5Plasma PROPERTIES + PURPOSE "For Plasma Look-and-Feel selection" ) +set_package_properties( + KF5Package PROPERTIES + PURPOSE "For Plasma Look-and-Feel selection" +) + +if ( KF5Plasma_FOUND AND KF5Package_FOUND ) + find_package( KF5 ${lnf_ver} REQUIRED CoreAddons Plasma Package ) + + calamares_add_plugin( plasmalnf + TYPE viewmodule + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + PlasmaLnfViewStep.cpp + PlasmaLnfPage.cpp + PlasmaLnfJob.cpp + ThemeWidget.cpp + RESOURCES + page_plasmalnf.qrc + UI + page_plasmalnf.ui + LINK_PRIVATE_LIBRARIES + calamaresui + KF5::Package + KF5::Plasma + SHARED_LIB + ) +else() + calamares_skip_module( "plasmalnf (missing requirements)" ) +endif() From 8f32aad3fa03f93728ccc79ba65564e22e48bc99 Mon Sep 17 00:00:00 2001 From: Philip Date: Mon, 25 Dec 2017 15:48:55 -0500 Subject: [PATCH 087/178] [partition] Rename slots, to avoid recursion - see also https://github.com/calamares/calamares/issues/880 - missed within https://github.com/calamares/calamares/commit/7ce52ecda72c18194ba3449588358a788b5710e6 --- src/modules/partition/jobs/SetPartitionFlagsJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp index ecc8b2142..bcf7c8692 100644 --- a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp +++ b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp @@ -135,7 +135,7 @@ SetPartFlagsJob::exec() Report report ( nullptr ); SetPartFlagsOperation op( *m_device, *partition(), m_flags ); op.setStatus( Operation::StatusRunning ); - connect( &op, &Operation::progress, this, &SetPartFlagsJob::progress ); + connect( &op, &Operation::progress, this, &SetPartFlagsJob::iprogress ); QString errorMessage = tr( "The installer failed to set flags on partition %1." ) .arg( m_partition->partitionPath() ); From 1cffa9fafc5e77486980d257d082488dab49abeb Mon Sep 17 00:00:00 2001 From: Philip Date: Mon, 25 Dec 2017 15:48:55 -0500 Subject: [PATCH 088/178] [partition] Rename slots, to avoid recursion - see also https://github.com/calamares/calamares/issues/880 - missed within https://github.com/calamares/calamares/commit/7ce52ecda72c18194ba3449588358a788b5710e6 --- src/modules/partition/jobs/SetPartitionFlagsJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp index 750afcba3..7f6169bbe 100644 --- a/src/modules/partition/jobs/SetPartitionFlagsJob.cpp +++ b/src/modules/partition/jobs/SetPartitionFlagsJob.cpp @@ -135,7 +135,7 @@ SetPartFlagsJob::exec() Report report ( nullptr ); SetPartFlagsOperation op( *m_device, *partition(), m_flags ); op.setStatus( Operation::StatusRunning ); - connect( &op, &Operation::progress, this, &SetPartFlagsJob::progress ); + connect( &op, &Operation::progress, this, &SetPartFlagsJob::iprogress ); QString errorMessage = tr( "The installer failed to set flags on partition %1." ) .arg( m_partition->partitionPath() ); From 784bbd3bc876f537c03b7db27770b090e2f849f3 Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Tue, 26 Dec 2017 22:25:40 +0100 Subject: [PATCH 089/178] finally !must! never fail unhandled but it does without help --- src/modules/unpackfs/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/unpackfs/main.py b/src/modules/unpackfs/main.py index 96b979a58..851335513 100644 --- a/src/modules/unpackfs/main.py +++ b/src/modules/unpackfs/main.py @@ -218,7 +218,7 @@ class UnpackOperation: return None finally: - shutil.rmtree(source_mount_path) + shutil.rmtree(source_mount_path, ignore_errors=True, onerror=None) def mount_image(self, entry, imgmountdir): """ From 2027a5538e2e16f6d942c57154ed337de8ac4889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Wed, 27 Dec 2017 12:26:40 +0000 Subject: [PATCH 090/178] Fix propagation of new partition table to global storage. --- src/modules/partition/jobs/CreatePartitionJob.cpp | 3 --- src/modules/partition/jobs/CreatePartitionTableJob.cpp | 3 +-- src/modules/partition/jobs/FormatPartitionJob.cpp | 4 ---- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index 3b16df2fc..4e91a00bf 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -32,9 +32,6 @@ #include #include -// Qt -#include - CreatePartitionJob::CreatePartitionJob( Device* device, Partition* partition ) : PartitionJob( partition ) , m_device( device ) diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.cpp b/src/modules/partition/jobs/CreatePartitionTableJob.cpp index e2f2ec7a9..3937beb5d 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionTableJob.cpp @@ -31,7 +31,6 @@ #include // Qt -#include #include CreatePartitionTableJob::CreatePartitionTableJob( Device* device, PartitionTable::TableType type ) @@ -72,7 +71,7 @@ CreatePartitionTableJob::exec() Report report( nullptr ); QString message = tr( "The installer failed to create a partition table on %1." ).arg( m_device->name() ); - PartitionTable* table( createTable() ); + PartitionTable* table = m_device->partitionTable(); cDebug() << "Creating new partition table of type" << table->typeName() << ", uncommitted yet:\n" << table; diff --git a/src/modules/partition/jobs/FormatPartitionJob.cpp b/src/modules/partition/jobs/FormatPartitionJob.cpp index 76b806390..5e68502bd 100644 --- a/src/modules/partition/jobs/FormatPartitionJob.cpp +++ b/src/modules/partition/jobs/FormatPartitionJob.cpp @@ -29,10 +29,6 @@ #include #include -// Qt -#include -#include - FormatPartitionJob::FormatPartitionJob( Device* device, Partition* partition ) : PartitionJob( partition ) , m_device( device ) From 5a8302469843b9cb98e82006700a9f78095a28e5 Mon Sep 17 00:00:00 2001 From: Philip Date: Sat, 30 Dec 2017 02:48:00 -0500 Subject: [PATCH 091/178] [initcpiocfg] add 'lvm2' hook as needed --- src/modules/initcpiocfg/main.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index a18cd0c4f..f716cec5d 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -100,6 +100,7 @@ def modify_mkinitcpio_conf(partitions, root_mount_point): cpu = cpuinfo() swap_uuid = "" btrfs = "" + lvm2 = "" hooks = ["base", "udev", "autodetect", "modconf", "block", "keyboard", "keymap"] modules = [] @@ -122,6 +123,9 @@ def modify_mkinitcpio_conf(partitions, root_mount_point): if partition["fs"] == "btrfs": btrfs = "yes" + if partition["fs"] == "lvm2 pv": + lvm2 = "yes" + if partition["mountPoint"] == "/" and "luksMapperName" in partition: encrypt_hook = True @@ -137,6 +141,9 @@ def modify_mkinitcpio_conf(partitions, root_mount_point): ): files.append("/crypto_keyfile.bin") + if lvm2: + hooks.append("lvm2") + if swap_uuid != "": if encrypt_hook and openswap_hook: hooks.extend(["openswap"]) From be650d79869fe3cec10afd91608b5b5f1a379365 Mon Sep 17 00:00:00 2001 From: Philip Date: Sat, 30 Dec 2017 02:57:52 -0500 Subject: [PATCH 092/178] [initcpiocfg] search just for 'lvm2' in partition[fs] --- src/modules/initcpiocfg/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index f716cec5d..83736b5fe 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -123,7 +123,7 @@ def modify_mkinitcpio_conf(partitions, root_mount_point): if partition["fs"] == "btrfs": btrfs = "yes" - if partition["fs"] == "lvm2 pv": + if "lvm2" in partition["fs"]: lvm2 = "yes" if partition["mountPoint"] == "/" and "luksMapperName" in partition: From 5593be125fecc7c99f32265b8f20e0a0ba27b0bf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Jan 2018 13:58:29 +0100 Subject: [PATCH 093/178] [calamares] Reduce font-related debug output on startup. --- src/calamares/CalamaresApplication.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index 6389a2806..f1062e942 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -55,14 +55,7 @@ CalamaresApplication::CalamaresApplication( int& argc, char* argv[] ) QFont f = font(); - cDebug() << "Default font =====" - << "\nPixel size: " << f.pixelSize() - << "\nPoint size: " << f.pointSize() - << "\nPoint sizeF: " << f.pointSizeF() - << "\nFont family: " << f.family() - << "\nMetric height:" << QFontMetrics( f ).height(); - // The following line blocks for 15s on Qt 5.1.0 - cDebug() << "Font height:" << QFontMetrics( f ).height(); + cDebug() << "Default font size" << f.pointSize() << ';' << f.pixelSize() << "px"; CalamaresUtils::setDefaultFontSize( f.pointSize() ); cDebug() << "Available languages:" << QString( CALAMARES_TRANSLATION_LANGUAGES ).split( ';' ); From 41e6f0e06cd8fa4c8f8032880daea744eb113ba1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Jan 2018 13:59:38 +0100 Subject: [PATCH 094/178] [calamares] Allow WM close button - remove hide-close-button hack - refactor code in viewmanager for confirming quit - hook up confirm-and-quit to WM close button - also works for alt-F4 and other quit methods - while here, update copyright year FIXES #870 --- src/calamares/CalamaresWindow.cpp | 25 ++++++++++----- src/calamares/CalamaresWindow.h | 9 ++++-- src/libcalamaresui/ViewManager.cpp | 50 +++++++++++++++--------------- src/libcalamaresui/ViewManager.h | 9 +++++- 4 files changed, 58 insertions(+), 35 deletions(-) diff --git a/src/calamares/CalamaresWindow.cpp b/src/calamares/CalamaresWindow.cpp index ab24b6db2..df5274598 100644 --- a/src/calamares/CalamaresWindow.cpp +++ b/src/calamares/CalamaresWindow.cpp @@ -1,7 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -37,10 +38,8 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) : QWidget( parent ) , m_debugWindow( nullptr ) + , m_viewManager( nullptr ) { - // Hide close button - setWindowFlags( Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint ); - CALAMARES_RETRANSLATE( setWindowTitle( tr( "%1 Installer" ) .arg( *Calamares::Branding::ProductName ) ); @@ -139,10 +138,10 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) CalamaresUtils::unmarginLayout( sideLayout ); CalamaresUtils::unmarginLayout( mainLayout ); - Calamares::ViewManager* vm = Calamares::ViewManager::instance( this ); - connect( vm, &Calamares::ViewManager::enlarge, this, &CalamaresWindow::enlarge ); + m_viewManager = Calamares::ViewManager::instance( this ); + connect( m_viewManager, &Calamares::ViewManager::enlarge, this, &CalamaresWindow::enlarge ); - mainLayout->addWidget( vm->centralWidget() ); + mainLayout->addWidget( m_viewManager->centralWidget() ); } void @@ -156,3 +155,15 @@ CalamaresWindow::enlarge( QSize enlarge ) resize( w, h ); } + +void +CalamaresWindow::closeEvent( QCloseEvent* event ) +{ + if ( ( !m_viewManager ) || m_viewManager->confirmCancelInstallation() ) + { + event->accept(); + qApp->quit(); + } + else + event->ignore(); +} diff --git a/src/calamares/CalamaresWindow.h b/src/calamares/CalamaresWindow.h index 00f790f5a..92b6da834 100644 --- a/src/calamares/CalamaresWindow.h +++ b/src/calamares/CalamaresWindow.h @@ -1,7 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,6 +26,7 @@ namespace Calamares { class DebugWindow; +class ViewManager; } /** @@ -46,8 +47,12 @@ public slots: */ void enlarge( QSize enlarge ); +protected: + virtual void closeEvent( QCloseEvent* e ) override; + private: - QPointer< Calamares::DebugWindow > m_debugWindow; + QPointer< Calamares::DebugWindow > m_debugWindow; // Managed by self + Calamares::ViewManager* m_viewManager; }; #endif //CALAMARESWINDOW_H diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 7b5df155b..7b5921f6b 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -1,7 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -88,30 +88,8 @@ ViewManager::ViewManager( QObject* parent ) connect( m_back, &QPushButton::clicked, this, &ViewManager::back ); m_back->setEnabled( false ); - connect( m_quit, &QPushButton::clicked, - this, [this]() - { - // If it's NOT the last page of the last step, we ask for confirmation - if ( !( m_currentStep == m_steps.count() -1 && - m_steps.last()->isAtEnd() ) ) - { - QMessageBox mb( QMessageBox::Question, - tr( "Cancel installation?" ), - tr( "Do you really want to cancel the current install process?\n" - "The installer will quit and all changes will be lost." ), - QMessageBox::Yes | QMessageBox::No, - m_widget ); - mb.setDefaultButton( QMessageBox::No ); - mb.button( QMessageBox::Yes )->setText( tr( "&Yes" ) ); - mb.button( QMessageBox::No )->setText( tr( "&No" ) ); - int response = mb.exec(); - if ( response == QMessageBox::Yes ) - qApp->quit(); - } - else // Means we're at the end, no need to confirm. - qApp->quit(); - } ); - + connect( m_quit, &QPushButton::clicked, this, + [this]() { if ( this->confirmCancelInstallation() ) qApp->quit(); } ); connect( JobQueue::instance(), &JobQueue::failed, this, &ViewManager::onInstallationFailed ); connect( JobQueue::instance(), &JobQueue::finished, @@ -302,4 +280,26 @@ ViewManager::back() } } +bool ViewManager::confirmCancelInstallation() +{ + // If it's NOT the last page of the last step, we ask for confirmation + if ( !( m_currentStep == m_steps.count() -1 && + m_steps.last()->isAtEnd() ) ) + { + QMessageBox mb( QMessageBox::Question, + tr( "Cancel installation?" ), + tr( "Do you really want to cancel the current install process?\n" + "The installer will quit and all changes will be lost." ), + QMessageBox::Yes | QMessageBox::No, + m_widget ); + mb.setDefaultButton( QMessageBox::No ); + mb.button( QMessageBox::Yes )->setText( tr( "&Yes" ) ); + mb.button( QMessageBox::No )->setText( tr( "&No" ) ); + int response = mb.exec(); + return response == QMessageBox::Yes; + } + else // Means we're at the end, no need to confirm. + return true; } + +} // namespace diff --git a/src/libcalamaresui/ViewManager.h b/src/libcalamaresui/ViewManager.h index 38ddda70a..fe56509c0 100644 --- a/src/libcalamaresui/ViewManager.h +++ b/src/libcalamaresui/ViewManager.h @@ -1,7 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -86,6 +86,13 @@ public: */ int currentStepIndex() const; + /** + * @ 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. + */ + bool confirmCancelInstallation(); public slots: /** From b3f0932ff9772d482308366c197326a236efb81b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 2 Jan 2018 15:37:36 +0100 Subject: [PATCH 095/178] CMake: bump version number --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a43d3205..5da78c5b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -176,7 +176,7 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX ### Bump version here set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 1 ) -set( CALAMARES_VERSION_PATCH 11 ) +set( CALAMARES_VERSION_PATCH 12 ) set( CALAMARES_VERSION_RC 0 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) From a7d7f3a83b69bf7188058e2018b4d5fd54e8de15 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 3 Jan 2018 04:20:21 -0500 Subject: [PATCH 096/178] [welcome] Make link to Calamares site https --- src/modules/welcome/WelcomePage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index e3bedb0f8..852a5bfb9 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -2,7 +2,7 @@ * * Copyright 2014-2015, Teo Mrnjavac * Copyright 2015, Anke Boersma - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -82,7 +82,7 @@ WelcomePage::WelcomePage( RequirementsChecker* requirementsChecker, QWidget* par " Philip Müller, Pier Luigi Fiorini, Rohan Garg and the Calamares " "translators team.

" - "Calamares " + "Calamares " "development is sponsored by
" "Blue Systems - " "Liberating Software." From 6f7b5a051089e7f9cb6dfa3fe64eb0020eb30b72 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 3 Jan 2018 04:33:20 -0500 Subject: [PATCH 097/178] [umount] Move module documentation into config file, fix wording FIXES #831 --- src/modules/umount/README.md | 18 -------------- src/modules/umount/umount.conf | 45 +++++++++++++++++++++++++++++----- 2 files changed, 39 insertions(+), 24 deletions(-) delete mode 100644 src/modules/umount/README.md diff --git a/src/modules/umount/README.md b/src/modules/umount/README.md deleted file mode 100644 index 2a0ccace3..000000000 --- a/src/modules/umount/README.md +++ /dev/null @@ -1,18 +0,0 @@ -### Umount Module ---------- -This module represents the last part of the installation, the unmounting of partitions used for the install. It is also the last place where it is possible to copy files to the target system, thus the best place to copy an installation log. - -You can either use the default ```/root/.cache/Calamares/Calamares/Calamares.log``` -to copy or if you want to use the full output of ```sudo calamares -d``` to create a log you will need to include a log creation to your launcher script or add it to the used calamares.desktop, example of a launcher script: - -``` -#!/bin/sh -sudo /usr/bin/calamares -d > installation.log -``` -Example desktop line: -``` -Exec=sudo /usr/bin/calamares -d > installation.log -``` -Set the source and destination path of your install log in umount.conf. -If you do not wish to use the copy of an install log feature, no action needed, the default settings do not execute the copy of an install log in this module. - diff --git a/src/modules/umount/umount.conf b/src/modules/umount/umount.conf index 907b8d890..798dfc3f5 100644 --- a/src/modules/umount/umount.conf +++ b/src/modules/umount/umount.conf @@ -1,9 +1,42 @@ +### Umount Module +# +# This module represents the last part of the installation, the unmounting +# of partitions used for the install. It is also the last place where it +# is possible to copy files to the target system, thus the best place to +# copy an installation log. +# +# This module has two configuration keys: +# srcLog location in the live system where the log is +# destLog location in the target system to copy the log +# +# You can either use the default source path (which is +# `/root/.cache/Calamares/Calamares/Calamares.log` ) to copy the regular log, +# or if you want to use the full output of `sudo calamares -d` you will need +# to redirect standard output, for instance in a launcher script or +# in the desktop file. +# +# Example launcher script: +# +# ``` +# #!/bin/sh +# sudo /usr/bin/calamares -d > installation.log +# ``` +# +# Example desktop line: +# +# ``` +# Exec=sudo /usr/bin/calamares -d > installation.log +# ``` +# +# If no source and destination are set, no copy is attempted. If the +# copy fails for some reason, a warning is printed but the installation +# does not fail. + --- -#srcLog: "/path/to/installation.log" -#destLog: "/var/log/installation.log" -# example when using the Calamares created log: -#srcLog: "/root/.cache/Calamares/Calamares/Calamares.log" -#destLog: "/var/log/Calamares.log" -# example when creating with a sudo calamares -d log: +# example when using the normal Calamares log: +srcLog: "/root/.cache/Calamares/Calamares/Calamares.log" +destLog: "/var/log/Calamares.log" + +# example when using a log created by `sudo calamares -d`: #srcLog: "/home/live/installation.log" #destLog: "/var/log/installation.log" From 2a0a2a26bc15207b51dbb29e233ece69108997ed Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 3 Jan 2018 05:01:38 -0500 Subject: [PATCH 098/178] [umount] Don't raise when copying log file fails. --- src/modules/umount/main.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/modules/umount/main.py b/src/modules/umount/main.py index aa42ba023..5a04796f6 100644 --- a/src/modules/umount/main.py +++ b/src/modules/umount/main.py @@ -55,11 +55,18 @@ def run(): "destLog" in libcalamares.job.configuration): log_source = libcalamares.job.configuration["srcLog"] log_destination = libcalamares.job.configuration["destLog"] + # Relocate log_destination into target system + log_destination = '{!s}/{!s}'.format(root_mount_point, log_destination) + # Make sure source is a string + log_source = '{!s}'.format(log_source) # copy installation log before umount - if os.path.exists('{!s}'.format(log_source)): - shutil.copy2('{!s}'.format(log_source), '{!s}/{!s}'.format( - root_mount_point, log_destination)) + if os.path.exists(log_source): + try: + shutil.copy2(log_source, log_destination) + except Exception as e: + libcalamares.utils.debug("WARNING Could not preserve file {!s}, " + "error {!s}".format(log_source, e)) if not root_mount_point: return ("No mount point for root partition in globalstorage", From 28d61c406e95ee461ad5de354b0cc5c64f32af30 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 8 Jan 2018 16:14:28 +0100 Subject: [PATCH 099/178] [bootloader] Improve description of *efiBootloaderId* option --- src/modules/bootloader/bootloader.conf | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/modules/bootloader/bootloader.conf b/src/modules/bootloader/bootloader.conf index 7975324b0..70f1ef22d 100644 --- a/src/modules/bootloader/bootloader.conf +++ b/src/modules/bootloader/bootloader.conf @@ -20,8 +20,16 @@ timeout: "10" grubInstall: "grub-install" grubMkconfig: "grub-mkconfig" grubCfg: "/boot/grub/grub.cfg" -# Optionally set the --bootloader-id to use for EFI. If not set, this defaults -# to the bootloaderEntryName from branding.desc with problematic characters -# replaced. If an efiBootloaderId is specified here, it is taken to already be a -# valid directory name, so no such postprocessing is done in this case. + +# Optionally set the bootloader ID to use for EFI. This is passed to +# grub-install --bootloader-id. +# +# If not set here, the value from bootloaderEntryName from branding.desc +# is used, with problematic characters (space and slash) replaced. +# +# The ID is also used as a directory name within the EFI environment, +# and the bootloader is copied from /boot/efi/EFI// . When +# setting the option here, take care to use only valid directory +# names since no sanitizing is done. +# # efiBootloaderId: "dirname" From 7249b41e3e7bd5a04a546c60400792f1c62593ae Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 8 Jan 2018 11:02:20 -0500 Subject: [PATCH 100/178] [keyboard] Explain table format, add more edge cases --- src/modules/keyboard/KeyboardPage.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index db43284b5..a1904f5d4 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -292,10 +292,29 @@ KeyboardPage::guessLayout( const QStringList& langParts ) void KeyboardPage::onActivate() { + /* Guessing a keyboard layout based on the locale means + * mapping between language identifiers in _ + * format to keyboard mappings, which are _ + * format; in addition, some countries have multiple languages, + * so fr_BE and nl_BE want different layouts (both Belgian) + * and sometimes the language-country name doesn't match the + * keyboard-country name at all (e.g. Ellas vs. Greek). + * + * This is a table of language-to-keyboard mappings. The + * language identifier is the key, while the value is + * a string that is used instead of the real language + * identifier in guessing -- so it should be something + * like _. + */ static auto specialCaseMap = QMap( { - { "ar_EG", "ara" }, - { "ca_ES", "cat_ES" }, - { "as_ES", "ast_ES" }, + { "ar_EG", "ara" }, /* Egyptian Arabic */ + { "ca_ES", "cat_ES" }, /* Catalan */ + { "as_ES", "ast_ES" }, /* Asturian */ + { "en_CA", "eng_CA" }, /* Canadian English */ + { "el_CY", "gr" }, /* Greek in Cyprus */ + { "el_GR", "gr" }, /* Greek in Greeze */ + { "ig_NG", "igbo_NG" }, /* Igbo in Nigeria */ + { "ha_NG", "hausa_NG" } /* Hausa */ } ); ui->listLayout->setFocus(); From 05967311defaa72896303bbf7dabf3f2692f8c7b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 9 Jan 2018 05:09:24 -0500 Subject: [PATCH 101/178] [partition] Be defensive against no device-device-available. Scenario is this: you have no suitable installation devices on your system (everything is mounted, or HDD has died), click through to partition page, where you have all the buttons available, but no devices in the list. The following actions then cause a crash: - clicking "back" - clicking any button Prevent that: - you can click "back", but if there is no device selected nothing happens to the device state (no nullptr deref, and no crash) - button code is now more resilient to this scenario - buttons are hidden until a device is available, so you can't even click on them to trigger the code. --- src/modules/partition/gui/ChoicePage.cpp | 35 +++++++++++++++++++----- src/modules/partition/gui/ChoicePage.h | 8 ++++-- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp index 77b807a2b..008a64d8d 100644 --- a/src/modules/partition/gui/ChoicePage.cpp +++ b/src/modules/partition/gui/ChoicePage.cpp @@ -300,6 +300,16 @@ ChoicePage::selectedDevice() } +void +ChoicePage::hideButtons() +{ + m_eraseButton->hide(); + m_replaceButton->hide(); + m_alongsideButton->hide(); + m_somethingElseButton->hide(); +} + + /** * @brief ChoicePage::applyDeviceChoice handler for the selected event of the device * picker. Calls ChoicePage::selectedDevice() to get the current Device*, then @@ -311,7 +321,10 @@ void ChoicePage::applyDeviceChoice() { if ( !selectedDevice() ) + { + hideButtons(); return; + } if ( m_core->isDirty() ) { @@ -342,11 +355,14 @@ ChoicePage::continueApplyDeviceChoice() // applyDeviceChoice() will be called again momentarily as soon as we handle the // PartitionCoreModule::reverted signal. if ( !currd ) + { + hideButtons(); return; + } updateDeviceStatePreview(); - // Preview setup done. Now we show/hide choices as needed. + // Preview setup done. Now we show/hide choices as needed. setupActions(); m_lastSelectedDeviceIndex = m_drivesCombo->currentIndex(); @@ -562,7 +578,11 @@ ChoicePage::onLeave() { if ( m_bootloaderComboBox.isNull() ) { - m_core->setBootLoaderInstallPath( selectedDevice()->deviceNode() ); + auto d_p = selectedDevice(); + if ( d_p ) + m_core->setBootLoaderInstallPath( d_p->deviceNode() ); + else + cDebug() << "WARNING: No device selected for bootloader."; } else { @@ -1156,6 +1176,9 @@ ChoicePage::setupActions() else m_deviceInfoWidget->setPartitionTableType( PartitionTable::unknownTableType ); + // Manual partitioning is always a possibility + m_somethingElseButton->show(); + bool atLeastOneCanBeResized = false; bool atLeastOneCanBeReplaced = false; bool atLeastOneIsMounted = false; // Suppress 'erase' if so @@ -1332,18 +1355,16 @@ ChoicePage::updateNextEnabled() { bool enabled = false; + auto sm_p = m_beforePartitionBarsView ? m_beforePartitionBarsView->selectionModel() : nullptr; + switch ( m_choice ) { case NoChoice: enabled = false; break; case Replace: - enabled = m_beforePartitionBarsView->selectionModel()-> - currentIndex().isValid(); - break; case Alongside: - enabled = m_beforePartitionBarsView->selectionModel()-> - currentIndex().isValid(); + enabled = sm_p && sm_p->currentIndex().isValid(); break; case Erase: case Manual: diff --git a/src/modules/partition/gui/ChoicePage.h b/src/modules/partition/gui/ChoicePage.h index 8d600978e..91274d152 100644 --- a/src/modules/partition/gui/ChoicePage.h +++ b/src/modules/partition/gui/ChoicePage.h @@ -113,8 +113,12 @@ private: void setupChoices(); QComboBox* createBootloaderComboBox( QWidget* parentButton ); Device* selectedDevice(); - void applyDeviceChoice(); - void continueApplyDeviceChoice(); + + /* Change the UI depending on the device selected. */ + void hideButtons(); // Hide everything when no device + void applyDeviceChoice(); // Start scanning new device + void continueApplyDeviceChoice(); // .. called after scan + void updateDeviceStatePreview(); void updateActionChoicePreview( ChoicePage::Choice choice ); void setupActions(); From 3ff68bce98e30203e75a6b52e79a8125f1683be8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 9 Jan 2018 16:24:55 +0100 Subject: [PATCH 102/178] [keyboard] Correct guessing for Arabic variants --- src/modules/keyboard/KeyboardPage.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index a1904f5d4..9e4b7e3ae 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -306,8 +306,28 @@ KeyboardPage::onActivate() * identifier in guessing -- so it should be something * like _. */ - static auto specialCaseMap = QMap( { - { "ar_EG", "ara" }, /* Egyptian Arabic */ + static constexpr char arabic[] = "ara"; + static const auto specialCaseMap = QMap( { + /* Most Arab countries map to Arabic keyboard (Default) */ + { "ar_AE", arabic }, + { "ar_BH", arabic }, + { "ar_DZ", arabic }, + { "ar_EG", arabic }, + { "ar_IN", arabic }, + { "ar_IQ", arabic }, + { "ar_JO", arabic }, + { "ar_KW", arabic }, + { "ar_LB", arabic }, + { "ar_LY", arabic }, + /* Not Morocco: use layout ma */ + { "ar_OM", arabic }, + { "ar_QA", arabic }, + { "ar_SA", arabic }, + { "ar_SD", arabic }, + { "ar_SS", arabic }, + /* Not Syria: use layout sy */ + { "ar_TN", arabic }, + { "ar_YE", arabic }, { "ca_ES", "cat_ES" }, /* Catalan */ { "as_ES", "ast_ES" }, /* Asturian */ { "en_CA", "eng_CA" }, /* Canadian English */ From 94b6c95c4443d8266e52663fb5ba787085bf1b5a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 9 Jan 2018 10:53:33 -0500 Subject: [PATCH 103/178] [partition] Introduce function for checking various flag-combinations for ESP boot. --- src/modules/partition/core/PartUtils.cpp | 22 ++++++++++++++++++++++ src/modules/partition/core/PartUtils.h | 5 +++++ 2 files changed, 27 insertions(+) diff --git a/src/modules/partition/core/PartUtils.cpp b/src/modules/partition/core/PartUtils.cpp index 4a7253f92..a8e004979 100644 --- a/src/modules/partition/core/PartUtils.cpp +++ b/src/modules/partition/core/PartUtils.cpp @@ -340,4 +340,26 @@ isEfiSystem() return QDir( "/sys/firmware/efi/efivars" ).exists(); } +bool +isEfiBootable( const Partition* candidate ) +{ + /* If bit 17 is set, old-style Esp flag, it's OK */ + if ( candidate->activeFlags().testFlag( PartitionTable::FlagEsp ) ) + return true; + + + /* Otherwise, if it's a GPT table, Boot (bit 0) is the same as Esp */ + const PartitionNode* root = candidate; + while ( root && !root->isRoot() ) + root = root->parent(); + + // Strange case: no root found, no partition table node? + if ( !root ) + return false; + + const PartitionTable* table = dynamic_cast( root ); + return table && ( table->type() == PartitionTable::TableType::gpt ) && + candidate->activeFlags().testFlag( PartitionTable::FlagBoot ); +} + } // nmamespace PartUtils diff --git a/src/modules/partition/core/PartUtils.h b/src/modules/partition/core/PartUtils.h index 144e9e45b..c81258712 100644 --- a/src/modules/partition/core/PartUtils.h +++ b/src/modules/partition/core/PartUtils.h @@ -67,6 +67,11 @@ OsproberEntryList runOsprober( PartitionCoreModule* core ); */ bool isEfiSystem(); +/** + * @brief Is the given @p partition bootable in EFI? Depending on + * the partition table layout, this may mean different flags. + */ +bool isEfiBootable( const Partition* candidate ); } #endif // PARTUTILS_H From 637d6ad7523810972707cd70ab7b72b7374cad36 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 9 Jan 2018 11:12:13 -0500 Subject: [PATCH 104/178] [partition] Find Esp partition with modern flags. --- src/modules/partition/core/PartitionCoreModule.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index e8cdc64b8..178860e2e 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -504,16 +504,7 @@ PartitionCoreModule::scanForEfiSystemPartitions() } QList< Partition* > efiSystemPartitions = - KPMHelpers::findPartitions( devices, - []( Partition* partition ) -> bool - { - if ( partition->activeFlags().testFlag( PartitionTable::FlagEsp ) ) - { - cDebug() << "Found EFI system partition at" << partition->partitionPath(); - return true; - } - return false; - } ); + KPMHelpers::findPartitions( devices, PartUtils::isEfiBootable ); if ( efiSystemPartitions.isEmpty() ) cDebug() << "WARNING: system is EFI but no EFI system partitions found."; From e3b7a2884b1229e9d189a17332eefd832d3d917e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 9 Jan 2018 11:15:30 -0500 Subject: [PATCH 105/178] [partition] Relax check with UI-level warning message, too --- src/modules/partition/gui/PartitionViewStep.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/partition/gui/PartitionViewStep.cpp b/src/modules/partition/gui/PartitionViewStep.cpp index f26c49ae7..8e46da71a 100644 --- a/src/modules/partition/gui/PartitionViewStep.cpp +++ b/src/modules/partition/gui/PartitionViewStep.cpp @@ -408,7 +408,7 @@ PartitionViewStep::onLeave() .arg( *Calamares::Branding::ShortProductName ) .arg( espMountPoint ); } - else if ( esp && !esp->activeFlags().testFlag( PartitionTable::FlagEsp ) ) + else if ( esp && !PartUtils::isEfiBootable( esp ) ) { message = tr( "EFI system partition flag not set" ); description = tr( "An EFI system partition is necessary to start %1." From 58252fc16d98e8650d534732ffbe694a839b3e37 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 10 Jan 2018 09:05:15 -0500 Subject: [PATCH 106/178] [partition] Handle missing requirements by disabling the module --- src/modules/partition/CMakeLists.txt | 128 ++++++++++++++------------- 1 file changed, 68 insertions(+), 60 deletions(-) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 59b897092..156ff86f5 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -5,64 +5,72 @@ include(GenerateExportHeader) find_package( Qt5 REQUIRED DBus ) find_package( KF5 REQUIRED Config CoreAddons I18n WidgetsAddons ) -find_package( KPMcore 3.3 REQUIRED ) - -include_directories( ${KPMCORE_INCLUDE_DIR} ) -include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) - -add_subdirectory( tests ) - -calamares_add_plugin( partition - TYPE viewmodule - EXPORT_MACRO PLUGINDLLEXPORT_PRO - SOURCES - core/BootLoaderModel.cpp - core/ColorUtils.cpp - core/DeviceList.cpp - core/DeviceModel.cpp - core/KPMHelpers.cpp - core/PartitionActions.cpp - core/PartitionCoreModule.cpp - core/PartitionInfo.cpp - core/PartitionIterator.cpp - core/PartitionModel.cpp - core/PartUtils.cpp - gui/BootInfoWidget.cpp - gui/ChoicePage.cpp - gui/CreatePartitionDialog.cpp - gui/DeviceInfoWidget.cpp - gui/EditExistingPartitionDialog.cpp - gui/EncryptWidget.cpp - gui/PartitionPage.cpp - gui/PartitionBarsView.cpp - gui/PartitionLabelsView.cpp - gui/PartitionSizeController.cpp - gui/PartitionSplitterWidget.cpp - gui/PartitionViewStep.cpp - gui/PrettyRadioButton.cpp - gui/ScanningDialog.cpp - gui/ReplaceWidget.cpp - jobs/ClearMountsJob.cpp - jobs/ClearTempMountsJob.cpp - jobs/CreatePartitionJob.cpp - jobs/CreatePartitionTableJob.cpp - jobs/DeletePartitionJob.cpp - jobs/FillGlobalStorageJob.cpp - jobs/FormatPartitionJob.cpp - jobs/PartitionJob.cpp - jobs/ResizePartitionJob.cpp - jobs/SetPartitionFlagsJob.cpp - UI - gui/ChoicePage.ui - gui/CreatePartitionDialog.ui - gui/CreatePartitionTableDialog.ui - gui/EditExistingPartitionDialog.ui - gui/EncryptWidget.ui - gui/PartitionPage.ui - gui/ReplaceWidget.ui - LINK_PRIVATE_LIBRARIES - kpmcore - calamaresui - KF5::CoreAddons - SHARED_LIB +find_package( KPMcore 3.3 ) +set_package_properties( + KPMcore PROPERTIES + PURPOSE "For partitioning module" ) + +if ( KPMcore_FOUND ) + include_directories( ${KPMCORE_INCLUDE_DIR} ) + include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) + + add_subdirectory( tests ) + + calamares_add_plugin( partition + TYPE viewmodule + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + core/BootLoaderModel.cpp + core/ColorUtils.cpp + core/DeviceList.cpp + core/DeviceModel.cpp + core/KPMHelpers.cpp + core/PartitionActions.cpp + core/PartitionCoreModule.cpp + core/PartitionInfo.cpp + core/PartitionIterator.cpp + core/PartitionModel.cpp + core/PartUtils.cpp + gui/BootInfoWidget.cpp + gui/ChoicePage.cpp + gui/CreatePartitionDialog.cpp + gui/DeviceInfoWidget.cpp + gui/EditExistingPartitionDialog.cpp + gui/EncryptWidget.cpp + gui/PartitionPage.cpp + gui/PartitionBarsView.cpp + gui/PartitionLabelsView.cpp + gui/PartitionSizeController.cpp + gui/PartitionSplitterWidget.cpp + gui/PartitionViewStep.cpp + gui/PrettyRadioButton.cpp + gui/ScanningDialog.cpp + gui/ReplaceWidget.cpp + jobs/ClearMountsJob.cpp + jobs/ClearTempMountsJob.cpp + jobs/CreatePartitionJob.cpp + jobs/CreatePartitionTableJob.cpp + jobs/DeletePartitionJob.cpp + jobs/FillGlobalStorageJob.cpp + jobs/FormatPartitionJob.cpp + jobs/PartitionJob.cpp + jobs/ResizePartitionJob.cpp + jobs/SetPartitionFlagsJob.cpp + UI + gui/ChoicePage.ui + gui/CreatePartitionDialog.ui + gui/CreatePartitionTableDialog.ui + gui/EditExistingPartitionDialog.ui + gui/EncryptWidget.ui + gui/PartitionPage.ui + gui/ReplaceWidget.ui + LINK_PRIVATE_LIBRARIES + kpmcore + calamaresui + KF5::CoreAddons + SHARED_LIB + ) +else() + calamares_skip_module( "partition (missing suitable KPMcore)" ) +endif() From 6e01bb0fa40a70666700f2178389e978aea0c32c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 10 Jan 2018 09:20:49 -0500 Subject: [PATCH 107/178] CMake: factor out explanation of skipped modules. Make a function out of explaining-skipped-modules, and call it not only after collecting all the modules, but also after the feature summary, so that it's quite clear which modules are skipped. --- CMakeLists.txt | 9 ++++++++- CMakeModules/CalamaresAddModuleSubdirectory.cmake | 11 ++++++++++- src/modules/CMakeLists.txt | 12 +++--------- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7473876ce..e3c4ee7fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,7 @@ if( POLICY CMP0071 ) cmake_policy( SET CMP0071 NEW ) endif() if(NOT CMAKE_VERSION VERSION_LESS "3.10.0") - list(APPEND CMAKE_AUTOMOC_MACRO_NAMES + list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "K_PLUGIN_FACTORY_WITH_JSON" "K_EXPORT_PLASMA_DATAENGINE_WITH_JSON" "K_EXPORT_PLASMA_RUNNER" @@ -119,6 +119,7 @@ if( CMAKE_COMPILER_IS_GNUCXX ) endif() include( FeatureSummary ) +include( CMakeColors ) set( QT_VERSION 5.6.0 ) @@ -313,6 +314,12 @@ add_feature_info(KCrash ${WITH_KF5Crash} "Crash dumps via KCrash") feature_summary(WHAT ALL) +get_directory_property( SKIPPED_MODULES + DIRECTORY src/modules + DEFINITION LIST_SKIPPED_MODULES +) +calamares_explain_skipped_modules( ${SKIPPED_MODULES} ) + # Add all targets to the build-tree export set set( CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Calamares" CACHE PATH "Installation directory for CMake files" ) set( CMAKE_INSTALL_FULL_CMAKEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}" ) diff --git a/CMakeModules/CalamaresAddModuleSubdirectory.cmake b/CMakeModules/CalamaresAddModuleSubdirectory.cmake index 12aad380f..f85de36e9 100644 --- a/CMakeModules/CalamaresAddModuleSubdirectory.cmake +++ b/CMakeModules/CalamaresAddModuleSubdirectory.cmake @@ -1,4 +1,3 @@ -include( CMakeColors ) include( CalamaresAddTranslations ) set( MODULE_DATA_DESTINATION share/calamares/modules ) @@ -9,6 +8,16 @@ macro( calamares_skip_module ) set( SKIPPED_MODULES ${SKIPPED_MODULES} ${ARGV} PARENT_SCOPE ) endmacro() +function( calamares_explain_skipped_modules ) + if ( ARGN ) + message( "${ColorReset}-- Skipped modules:" ) + foreach( SUBDIRECTORY ${ARGN} ) + message( "${ColorReset}-- Skipped ${BoldRed}${SUBDIRECTORY}${ColorReset}." ) + endforeach() + message( "" ) + endif() +endfunction() + function( calamares_add_module_subdirectory ) set( SUBDIRECTORY ${ARGV0} ) diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt index 8235bc2e9..d793b718f 100644 --- a/src/modules/CMakeLists.txt +++ b/src/modules/CMakeLists.txt @@ -1,5 +1,3 @@ -include( CMakeColors ) - # The variable SKIP_MODULES can be set to skip particular modules; # individual modules can also decide they must be skipped (e.g. OS-specific # modules, or ones with unmet dependencies). Collect the skipped modules @@ -31,13 +29,9 @@ foreach( SUBDIRECTORY ${SUBDIRECTORIES} ) endif() endforeach() -if ( LIST_SKIPPED_MODULES ) - message( "${ColorReset}-- Skipped modules:" ) - foreach( SUBDIRECTORY ${LIST_SKIPPED_MODULES} ) - message( "${ColorReset}-- Skipped ${BoldRed}${SUBDIRECTORY}${ColorReset}." ) - endforeach() - message( "" ) -endif() +# This is *also* done in top-level, so list is displayed +# both before and after the feature summary. +calamares_explain_skipped_modules( ${LIST_SKIPPED_MODULES} ) include( CalamaresAddTranslations ) add_calamares_python_translations( ${CALAMARES_TRANSLATION_LANGUAGES} ) From 4ff1a0d5ea0b5d173eee91f9be50e692dd50401e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 12 Jan 2018 06:30:52 -0500 Subject: [PATCH 108/178] [libcalamares] another convenience for running commands Back targetEnvCommand() with a more general runCommand() that takes an argument selecting the location to run the command in. This allows us also to use the same API for running processes in the host during install, as we do for running them in the target system. One reason for this change is wanting to run (user-specified) commands and independently from the global dontChroot setting, run those commands in the live system or the target. This changes the ABI of the DLL, since targetEnvCommand() is no longer exported. Plugins will need to be recompiled. - refactor targetEnvCommand() into more general runCommand(). - While here, allow host system commands to run even if there is no global storage. - provide convenience accessors for ProcessResult members - Move explanation of process errors out of ProcessJob - Move from ProcessJob to ProcessResult, so it can be reused outside of ProcessJob (e.g. from ShellProcessJob). - Add some convenience functions, too. --- src/libcalamares/ProcessJob.cpp | 39 +---------- src/libcalamares/ProcessJob.h | 4 -- .../utils/CalamaresUtilsSystem.cpp | 49 +++++++++++-- src/libcalamares/utils/CalamaresUtilsSystem.h | 68 +++++++++++++++++-- 4 files changed, 108 insertions(+), 52 deletions(-) diff --git a/src/libcalamares/ProcessJob.cpp b/src/libcalamares/ProcessJob.cpp index fa467c08b..05be969af 100644 --- a/src/libcalamares/ProcessJob.cpp +++ b/src/libcalamares/ProcessJob.cpp @@ -82,7 +82,7 @@ ProcessJob::exec() QString(), m_timeoutSec ); - return explainProcess( ec, m_command, output, m_timeoutSec ); + return CalamaresUtils::ProcessResult::explainProcess( this, ec, m_command, output, m_timeoutSec ); } @@ -144,41 +144,4 @@ ProcessJob::callOutput( const QString& command, return process.exitCode(); } - -JobResult -ProcessJob::explainProcess( int ec, const QString& command, const QString& output, int timeout ) -{ - if ( ec == 0 ) - return JobResult::ok(); - - if ( ec == -1 ) //Crash! - return JobResult::error( tr( "External command crashed" ), - tr( "Command %1 crashed.\nOutput:\n%2" ) - .arg( command ) - .arg( output ) ); - - if ( ec == -2 ) - return JobResult::error( tr( "External command failed to start" ), - tr( "Command %1 failed to start." ) - .arg( command ) ); - - if ( ec == -3 ) - return JobResult::error( tr( "Internal error when starting command" ), - tr( "Bad parameters for process job call." ) ); - - if ( ec == -4 ) - return JobResult::error( tr( "External command failed to finish" ), - tr( "Command %1 failed to finish in %2s.\nOutput:\n%3" ) - .arg( command ) - .arg( timeout ) - .arg( output ) ); - - //Any other exit code - return JobResult::error( tr( "External command finished with errors" ), - tr( "Command %1 finished with exit code %2.\nOutput:\n%3" ) - .arg( command ) - .arg( ec ) - .arg( output ) ); -} - } // namespace Calamares diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index a18bd1e3b..59a532023 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -39,10 +39,6 @@ public: QString prettyStatusMessage() const override; JobResult exec() override; -protected: - /** @brief Explain a typical external process failure. */ - static JobResult explainProcess( int errorCode, const QString& command, const QString& output, int timeout ); - private: int callOutput( const QString& command, QString& output, diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 103246fad..4d70e2a78 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -1,7 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -93,7 +93,8 @@ System::mount( const QString& devicePath, } ProcessResult -System::targetEnvCommand( +System::runCommand( + System::RunLocation location, const QStringList& args, const QString& workingPath, const QString& stdInput, @@ -105,8 +106,8 @@ System::targetEnvCommand( return -3; Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - if ( !gs || - ( m_doChroot && !gs->contains( "rootMountPoint" ) ) ) + if ( ( location == System::RunLocation::RunInTarget ) && + ( !gs || !gs->contains( "rootMountPoint" ) ) ) { cLog() << "No rootMountPoint in global storage"; return -3; @@ -116,7 +117,7 @@ System::targetEnvCommand( QString program; QStringList arguments; - if ( m_doChroot ) + if ( location == System::RunLocation::RunInTarget ) { QString destDir = gs->value( "rootMountPoint" ).toString(); if ( !QDir( destDir ).exists() ) @@ -249,4 +250,42 @@ System::doChroot() const return m_doChroot; } +Calamares::JobResult +ProcessResult::explainProcess( const QObject* parent, int ec, const QString& command, const QString& output, int timeout ) +{ + using Calamares::JobResult; + + if ( ec == 0 ) + return JobResult::ok(); + + if ( ec == -1 ) //Crash! + return JobResult::error( parent->tr( "External command crashed" ), + parent->tr( "Command %1 crashed.\nOutput:\n%2" ) + .arg( command ) + .arg( output ) ); + + if ( ec == -2 ) + return JobResult::error( parent->tr( "External command failed to start" ), + parent->tr( "Command %1 failed to start." ) + .arg( command ) ); + + if ( ec == -3 ) + return JobResult::error( parent->tr( "Internal error when starting command" ), + parent->tr( "Bad parameters for process job call." ) ); + + if ( ec == -4 ) + return JobResult::error( parent->tr( "External command failed to finish" ), + parent->tr( "Command %1 failed to finish in %2s.\nOutput:\n%3" ) + .arg( command ) + .arg( timeout ) + .arg( output ) ); + + //Any other exit code + return JobResult::error( parent->tr( "External command finished with errors" ), + parent->tr( "Command %1 finished with exit code %2.\nOutput:\n%3" ) + .arg( command ) + .arg( ec ) + .arg( output ) ); +} + } // namespace diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index bdc5afd4a..f4500f9a9 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -1,7 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,6 +21,8 @@ #include "DllMacro.h" +#include "Job.h" + #include #include #include @@ -33,6 +35,37 @@ public: /** @brief Implicit one-argument constructor has no output, only a return code */ ProcessResult( int r ) : QPair< int, QString >( r, QString() ) {} ProcessResult( int r, QString s ) : QPair< int, QString >( r, s ) {} + + int getExitCode() const { return first; } + QString getOutput() const { return second; } + + /** @brief Explain a typical external process failure. + * + * @param parent Used as context for translation calls. + * @param errorCode Return code from runCommand() or similar + * (negative values get special explanation). The member + * function uses the exit code stored in the ProcessResult + * @param output (error) output from the command, used when there is + * an error to report (exit code > 0). The member + * function uses the output stored in the ProcessResult. + * @param command String or split-up string of the command + * that was invoked. + * @param timeout Timeout passed to the process runner, for explaining + * error code -4 (timeout). + */ + static Calamares::JobResult explainProcess( const QObject* parent, int errorCode, const QString& command, const QString& output, int timeout ); + + /// @brief Convenience wrapper for explainProcess() + inline Calamares::JobResult explainProcess( const QObject* parent, const QString& command, int timeout ) const + { + return explainProcess( parent, getExitCode(), command, getOutput(), timeout ); + } + + /// @brief Convenience wrapper for explainProcess() + inline Calamares::JobResult explainProcess( const QObject* parent, const QStringList& command, int timeout ) const + { + return explainProcess( parent, getExitCode(), command.join( ' ' ), getOutput(), timeout ); + } } ; /** @@ -71,15 +104,20 @@ public: const QString& options = QString() ); + /** (Typed) Boolean describing where a particular command should be run, + * whether in the host (live) system or in the (chroot) target system. + */ + enum class RunLocation { RunInHost, RunInTarget }; + /** * Runs the specified command in the chroot of the target system. * @param args the command with arguments, as a string list. * @param workingPath the current working directory for the QProcess - * call (optional). + * call (optional). * @param stdInput the input string to send to the running process as - * standard input (optional). + * standard input (optional). * @param timeoutSec the timeout after which the process will be - * killed (optional, default is 0 i.e. no timeout). + * killed (optional, default is 0 i.e. no timeout). * * @returns the program's exit code and its output (if any). Special * exit codes (which will never have any output) are: @@ -88,12 +126,32 @@ public: * -3 = bad arguments * -4 = QProcess timeout */ - DLLEXPORT ProcessResult targetEnvCommand( + static DLLEXPORT ProcessResult runCommand( + RunLocation location, const QStringList &args, const QString& workingPath = QString(), const QString& stdInput = QString(), int timeoutSec = 0 ); + /** @brief Convenience wrapper for runCommand(). + * Runs the command in the location specified through the boolean + * doChroot(), which is what you usually want for running commands + * during installation. + */ + inline ProcessResult targetEnvCommand( + const QStringList &args, + const QString& workingPath = QString(), + const QString& stdInput = QString(), + int timeoutSec = 0 ) + { + return runCommand( + m_doChroot ? RunLocation::RunInTarget : RunLocation::RunInHost, + args, + workingPath, + stdInput, + timeoutSec ); + } + /** @brief Convenience wrapper for targetEnvCommand() which returns only the exit code */ inline int targetEnvCall( const QStringList& args, const QString& workingPath = QString(), From 5f8fb655c4410bdd57f5977374c4d9533735c663 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 10 Jan 2018 08:58:15 -0500 Subject: [PATCH 109/178] [shellprocess] Stub of a shell process module. This is basically dummyprocess, except with an expanded configuration interface so you can run 1 or more shell commands in the live or target system with a suitable configuration file and instance of shellprocess in settings.conf. It can replace downstream modules that implement their own process modules with a command, by an instance of shellprocess. --- src/modules/shellprocess/CMakeLists.txt | 30 ++++++++ src/modules/shellprocess/CommandList.cpp | 70 +++++++++++++++++ src/modules/shellprocess/CommandList.h | 39 ++++++++++ src/modules/shellprocess/ShellProcessJob.cpp | 80 ++++++++++++++++++++ src/modules/shellprocess/ShellProcessJob.h | 54 +++++++++++++ src/modules/shellprocess/Tests.cpp | 65 ++++++++++++++++ src/modules/shellprocess/Tests.h | 36 +++++++++ src/modules/shellprocess/module.desc | 5 ++ src/modules/shellprocess/shellprocess.conf | 19 +++++ 9 files changed, 398 insertions(+) create mode 100644 src/modules/shellprocess/CMakeLists.txt create mode 100644 src/modules/shellprocess/CommandList.cpp create mode 100644 src/modules/shellprocess/CommandList.h create mode 100644 src/modules/shellprocess/ShellProcessJob.cpp create mode 100644 src/modules/shellprocess/ShellProcessJob.h create mode 100644 src/modules/shellprocess/Tests.cpp create mode 100644 src/modules/shellprocess/Tests.h create mode 100644 src/modules/shellprocess/module.desc create mode 100644 src/modules/shellprocess/shellprocess.conf diff --git a/src/modules/shellprocess/CMakeLists.txt b/src/modules/shellprocess/CMakeLists.txt new file mode 100644 index 000000000..0ed69add5 --- /dev/null +++ b/src/modules/shellprocess/CMakeLists.txt @@ -0,0 +1,30 @@ +calamares_add_plugin( shellprocess + TYPE job + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + CommandList.cpp + ShellProcessJob.cpp + LINK_PRIVATE_LIBRARIES + calamares + SHARED_LIB +) + +find_package(ECM ${ECM_VERSION} NO_MODULE) +if( ECM_FOUND ) + find_package( Qt5 COMPONENTS Test REQUIRED ) + include( ECMAddTests ) + + ecm_add_test( + Tests.cpp + CommandList.cpp + TEST_NAME + shellprocesstest + LINK_LIBRARIES + ${CALAMARES_LIBRARIES} + calamaresui + ${YAMLCPP_LIBRARY} + Qt5::Core + Qt5::Test + ) + set_target_properties( shellprocesstest PROPERTIES AUTOMOC TRUE ) +endif() diff --git a/src/modules/shellprocess/CommandList.cpp b/src/modules/shellprocess/CommandList.cpp new file mode 100644 index 000000000..261ff9429 --- /dev/null +++ b/src/modules/shellprocess/CommandList.cpp @@ -0,0 +1,70 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "CommandList.h" + +#include + +class CommandList::Private +{ +public: + Private( const QVariantList& l ); + ~Private(); +} ; + +CommandList::Private::Private(const QVariantList& l) +{ +} + +CommandList::Private::~Private() +{ +} + + + +CommandList::CommandList() + : m_d( nullptr ) +{ +} + +CommandList::CommandList::CommandList(const QVariant& v) + : CommandList() +{ + if ( ( v.type() == QVariant::List ) ) + { + const auto v_list = v.toList(); + if ( v_list.count() ) + { + m_d = new Private( v_list ); + } + } +} + +CommandList::~CommandList() +{ + delete m_d; + m_d = nullptr; // TODO: UniquePtr +} + +bool CommandList::isEmpty() const +{ + if ( !m_d ) + return true; + + return false; // FIXME: actually count things +} diff --git a/src/modules/shellprocess/CommandList.h b/src/modules/shellprocess/CommandList.h new file mode 100644 index 000000000..ed6b69b00 --- /dev/null +++ b/src/modules/shellprocess/CommandList.h @@ -0,0 +1,39 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef COMMANDLIST_H +#define COMMANDLIST_H + +#include + +class CommandList +{ + class Private; + +public: + CommandList(); + CommandList(const QVariant& v); + ~CommandList(); + + bool isEmpty() const; + +private: + Private *m_d; +} ; + +#endif // COMMANDLIST_H diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp new file mode 100644 index 000000000..57d7dcabe --- /dev/null +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -0,0 +1,80 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "ShellProcessJob.h" + +#include "CommandList.h" + +#include +#include +#include + +#include "CalamaresVersion.h" +#include "JobQueue.h" +#include "GlobalStorage.h" + +#include "utils/CalamaresUtils.h" +#include "utils/Logger.h" + +class CommandList; + +ShellProcessJob::ShellProcessJob( QObject* parent ) + : Calamares::CppJob( parent ) + , m_commands( nullptr ) + , m_dontChroot( false ) +{ +} + + +ShellProcessJob::~ShellProcessJob() +{ + delete m_commands; + m_commands = nullptr; // TODO: UniquePtr +} + + +QString +ShellProcessJob::prettyName() const +{ + return tr( "Shell Processes Job" ); +} + + +Calamares::JobResult +ShellProcessJob::exec() +{ + QThread::sleep( 3 ); + + return Calamares::JobResult::ok(); +} + + +void +ShellProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) +{ + m_dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); + + if ( configurationMap.contains( "script" ) ) + { + m_commands = new CommandList( configurationMap.value( "script" ) ); + if ( m_commands->isEmpty() ) + cDebug() << "ShellProcessJob: \"script\" contains no commands."; + } +} + +CALAMARES_PLUGIN_FACTORY_DEFINITION( ShellProcessJobFactory, registerPlugin(); ) diff --git a/src/modules/shellprocess/ShellProcessJob.h b/src/modules/shellprocess/ShellProcessJob.h new file mode 100644 index 000000000..c11ec9565 --- /dev/null +++ b/src/modules/shellprocess/ShellProcessJob.h @@ -0,0 +1,54 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef SHELLPROCESSJOB_H +#define SHELLPROCESSJOB_H + +#include +#include + +#include + +#include + +#include + +class CommandList; + +class PLUGINDLLEXPORT ShellProcessJob : public Calamares::CppJob +{ + Q_OBJECT + +public: + explicit ShellProcessJob( QObject* parent = nullptr ); + virtual ~ShellProcessJob() override; + + QString prettyName() const override; + + Calamares::JobResult exec() override; + + void setConfigurationMap( const QVariantMap& configurationMap ) override; + +private: + CommandList *m_commands; + bool m_dontChroot; +}; + +CALAMARES_PLUGIN_FACTORY_DECLARATION( ShellProcessJobFactory ) + +#endif // SHELLPROCESSJOB_H diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp new file mode 100644 index 000000000..f30619c1f --- /dev/null +++ b/src/modules/shellprocess/Tests.cpp @@ -0,0 +1,65 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "Tests.h" +#include "CommandList.h" + +#include "utils/YamlUtils.h" + +#include + +#include + +#include +#include + +QTEST_GUILESS_MAIN( ShellProcessTests ) + +ShellProcessTests::ShellProcessTests() +{ +} + +ShellProcessTests::~ShellProcessTests() +{ +} + +void +ShellProcessTests::initTestCase() +{ +} + +void +ShellProcessTests::testProcessList() +{ + YAML::Node doc; + + QStringList dirs { "src/modules/shellprocess", "." }; + for ( const auto& dir : dirs ) + { + QString filename = dir + "/shellprocess.conf"; + if ( QFileInfo::exists( filename ) ) + { + doc = YAML::LoadFile( filename.toStdString() ); + break; + } + } + + CommandList cl( + CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( !cl.isEmpty() ); +} diff --git a/src/modules/shellprocess/Tests.h b/src/modules/shellprocess/Tests.h new file mode 100644 index 000000000..82f93afe6 --- /dev/null +++ b/src/modules/shellprocess/Tests.h @@ -0,0 +1,36 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef TESTS_H +#define TESTS_H + +#include + +class ShellProcessTests : public QObject +{ + Q_OBJECT +public: + ShellProcessTests(); + ~ShellProcessTests() override; + +private Q_SLOTS: + void initTestCase(); + void testProcessList(); +}; + +#endif diff --git a/src/modules/shellprocess/module.desc b/src/modules/shellprocess/module.desc new file mode 100644 index 000000000..ade63fca3 --- /dev/null +++ b/src/modules/shellprocess/module.desc @@ -0,0 +1,5 @@ +--- +type: "job" +name: "shellprocess" +interface: "qtplugin" +load: "libcalamares_job_shellprocess.so" diff --git a/src/modules/shellprocess/shellprocess.conf b/src/modules/shellprocess/shellprocess.conf new file mode 100644 index 000000000..0825538e1 --- /dev/null +++ b/src/modules/shellprocess/shellprocess.conf @@ -0,0 +1,19 @@ +# Configuration for the shell process job. +# +# Executes a list of commands found under the key *script*. +# If the top-level key *dontChroot* is true, then the commands +# are executed in the context of the live system, otherwise +# in the context of the target system. In all of the commands, +# `@@ROOT@@` is replaced by the root mount point of the **target** +# system from the point of view of the command (for chrooted +# commands, that will be */*). +# +# If a command starts with "-" (a single minus sign), then the +# return value of the command following the - is ignored; otherwise, +# a failing command will abort the installation. This is much like +# make's use of - in a command. +--- +dontChroot: false +script: + - "-touch @@ROOT@@/tmp/thingy" + - "/usr/bin/false" From b7fb24837ae59582b3e6baf5a967b1848dfde79e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 10 Jan 2018 11:01:39 -0500 Subject: [PATCH 110/178] [shellprocess] Improve CommandList - Also allow a single string instead of a list - Add count() method to CommandList - Drop over-engineering, add more logging - Expand tests with some more examples --- src/modules/shellprocess/CommandList.cpp | 51 +++++++++++------------- src/modules/shellprocess/CommandList.h | 11 ++--- src/modules/shellprocess/Tests.cpp | 50 ++++++++++++++++++++++- src/modules/shellprocess/Tests.h | 7 +++- 4 files changed, 83 insertions(+), 36 deletions(-) diff --git a/src/modules/shellprocess/CommandList.cpp b/src/modules/shellprocess/CommandList.cpp index 261ff9429..1e7f4887a 100644 --- a/src/modules/shellprocess/CommandList.cpp +++ b/src/modules/shellprocess/CommandList.cpp @@ -18,53 +18,50 @@ #include "CommandList.h" +#include "utils/Logger.h" + #include -class CommandList::Private -{ -public: - Private( const QVariantList& l ); - ~Private(); -} ; - -CommandList::Private::Private(const QVariantList& l) +static QStringList get_variant_stringlist(const QVariantList& l) { + QStringList retl; + unsigned int c = 0; + for ( const auto& v : l ) + { + if ( v.type() == QVariant::String ) + retl.append( v.toString() ); + else + cDebug() << "WARNING Bad CommandList element" << c << v.type() << v; + ++c; + } + return retl; } -CommandList::Private::~Private() -{ -} - - - CommandList::CommandList() - : m_d( nullptr ) { } CommandList::CommandList::CommandList(const QVariant& v) : CommandList() { - if ( ( v.type() == QVariant::List ) ) + if ( v.type() == QVariant::List ) { const auto v_list = v.toList(); if ( v_list.count() ) { - m_d = new Private( v_list ); + append( get_variant_stringlist( v_list ) ); } + else + cDebug() << "WARNING: Empty CommandList"; } + else if ( v.type() == QVariant::String ) + { + append( v.toString() ); + } + else + cDebug() << "WARNING: CommandList does not understand variant" << v.type(); } CommandList::~CommandList() { - delete m_d; - m_d = nullptr; // TODO: UniquePtr -} - -bool CommandList::isEmpty() const -{ - if ( !m_d ) - return true; - - return false; // FIXME: actually count things } diff --git a/src/modules/shellprocess/CommandList.h b/src/modules/shellprocess/CommandList.h index ed6b69b00..3b8cdcc93 100644 --- a/src/modules/shellprocess/CommandList.h +++ b/src/modules/shellprocess/CommandList.h @@ -19,21 +19,18 @@ #ifndef COMMANDLIST_H #define COMMANDLIST_H +#include #include -class CommandList +class CommandList : protected QStringList { - class Private; - public: CommandList(); CommandList(const QVariant& v); ~CommandList(); - bool isEmpty() const; - -private: - Private *m_d; + using QStringList::isEmpty; + using QStringList::count; } ; #endif // COMMANDLIST_H diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp index f30619c1f..13a611136 100644 --- a/src/modules/shellprocess/Tests.cpp +++ b/src/modules/shellprocess/Tests.cpp @@ -44,7 +44,7 @@ ShellProcessTests::initTestCase() } void -ShellProcessTests::testProcessList() +ShellProcessTests::testProcessListSampleConfig() { YAML::Node doc; @@ -62,4 +62,52 @@ ShellProcessTests::testProcessList() CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); + QCOMPARE( cl.count(), 2 ); +} + +void ShellProcessTests::testProcessListFromList() +{ + YAML::Node doc = YAML::Load( R"(--- +script: + - "ls /tmp" + - "ls /nonexistent" + - "/bin/false" +)" ); + CommandList cl( + CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( !cl.isEmpty() ); + QCOMPARE( cl.count(), 3 ); + + // Contains 1 bad element + doc = YAML::Load( R"(--- +script: + - "ls /tmp" + - false + - "ls /nonexistent" +)" ); + CommandList cl1( + CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( !cl1.isEmpty() ); + QCOMPARE( cl1.count(), 2 ); // One element ignored +} + +void ShellProcessTests::testProcessListFromString() +{ + YAML::Node doc = YAML::Load( R"(--- +script: "ls /tmp" +)" ); + CommandList cl( + CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( !cl.isEmpty() ); + QCOMPARE( cl.count(), 1 ); + + // Not a string + doc = YAML::Load( R"(--- +script: false +)" ); + CommandList cl1( + CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( cl1.isEmpty() ); + QCOMPARE( cl1.count(), 0 ); + } diff --git a/src/modules/shellprocess/Tests.h b/src/modules/shellprocess/Tests.h index 82f93afe6..fa29efeb2 100644 --- a/src/modules/shellprocess/Tests.h +++ b/src/modules/shellprocess/Tests.h @@ -30,7 +30,12 @@ public: private Q_SLOTS: void initTestCase(); - void testProcessList(); + // Check the sample config file is processed correctly + void testProcessListSampleConfig(); + // Create from a YAML list + void testProcessListFromList(); + // Create from a simple YAML string + void testProcessListFromString(); }; #endif From fdb3fc1ef84befceb2c7c9cc4481e830e6cf7314 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 12 Jan 2018 08:12:08 -0500 Subject: [PATCH 111/178] [shellprocess] Execute the command list --- src/modules/shellprocess/CommandList.h | 3 ++ src/modules/shellprocess/ShellProcessJob.cpp | 47 +++++++++++++++++++- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/src/modules/shellprocess/CommandList.h b/src/modules/shellprocess/CommandList.h index 3b8cdcc93..b94ffdcaf 100644 --- a/src/modules/shellprocess/CommandList.h +++ b/src/modules/shellprocess/CommandList.h @@ -31,6 +31,9 @@ public: using QStringList::isEmpty; using QStringList::count; + using QStringList::cbegin; + using QStringList::cend; + using QStringList::const_iterator; } ; #endif // COMMANDLIST_H diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index 57d7dcabe..cf6d8d606 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -29,6 +29,7 @@ #include "GlobalStorage.h" #include "utils/CalamaresUtils.h" +#include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" class CommandList; @@ -58,7 +59,51 @@ ShellProcessJob::prettyName() const Calamares::JobResult ShellProcessJob::exec() { - QThread::sleep( 3 ); + using CalamaresUtils::System; + System::RunLocation location = m_dontChroot ? System::RunLocation::RunInHost : System::RunLocation::RunInTarget; + + if ( ! m_commands || m_commands->isEmpty() ) + { + cDebug() << "WARNING: No commands to execute"; + return Calamares::JobResult::ok(); + } + + /* Figure out the replacement for @@ROOT@@ */ + QString root = QStringLiteral( "/" ); + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + if ( location == System::RunLocation::RunInTarget ) + { + if ( !gs || !gs->contains( "rootMountPoint" ) ) + { + cDebug() << "ERROR: No rootMountPoint defined."; + return Calamares::JobResult::error( tr( "Could not run command." ), + tr( "No rootMountPoint is defined, so command cannot be run in the target environment." ) ); + } + root = gs->value( "rootMountPoint" ).toString(); + } + + for ( CommandList::const_iterator i = m_commands->cbegin(); i != m_commands->cend(); ++i ) + { + QString processed_cmd = *i; + processed_cmd.replace( "@@ROOT@@", root ); // FIXME? + bool suppress_result = false; + if ( processed_cmd.startsWith( '-' ) ) + { + suppress_result = true; + processed_cmd.remove( 0, 1 ); // Drop the - // FIXME? + } + + QStringList shell_cmd { "/bin/sh", "-c" }; + shell_cmd << processed_cmd; + + CalamaresUtils::ProcessResult r = System::runCommand( + location, shell_cmd, QString(), QString(), 10 ); + + if ( ( r.getExitCode() != 0 ) && !suppress_result ) + { + return Calamares::JobResult::error( tr( "Could not run command." ), r.getOutput() ); + } + } return Calamares::JobResult::ok(); } From b0c4fbc1bb002bab9e9c92ed974f6af791735bac Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 13 Jan 2018 21:19:08 +0100 Subject: [PATCH 112/178] Clang: reduce warnings - mark some things override - make conversion of 0 to flags explicit --- src/calamares/CalamaresWindow.h | 2 +- src/modules/netinstall/PackageModel.cpp | 2 +- src/modules/tracking/TrackingJobs.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calamares/CalamaresWindow.h b/src/calamares/CalamaresWindow.h index 19aeaa59e..faca8974a 100644 --- a/src/calamares/CalamaresWindow.h +++ b/src/calamares/CalamaresWindow.h @@ -37,7 +37,7 @@ class CalamaresWindow : public QWidget Q_OBJECT public: CalamaresWindow( QWidget* parent = nullptr ); - virtual ~CalamaresWindow() {} + virtual ~CalamaresWindow() override {} public slots: /** diff --git a/src/modules/netinstall/PackageModel.cpp b/src/modules/netinstall/PackageModel.cpp index 6585abcee..3e721c017 100644 --- a/src/modules/netinstall/PackageModel.cpp +++ b/src/modules/netinstall/PackageModel.cpp @@ -144,7 +144,7 @@ Qt::ItemFlags PackageModel::flags( const QModelIndex& index ) const { if ( !index.isValid() ) - return 0; + return Qt::ItemFlags(); if ( index.column() == 0 ) return Qt::ItemIsUserCheckable | QAbstractItemModel::flags( index ); return QAbstractItemModel::flags( index ); diff --git a/src/modules/tracking/TrackingJobs.h b/src/modules/tracking/TrackingJobs.h index 2d90c2b15..4ad3652ca 100644 --- a/src/modules/tracking/TrackingJobs.h +++ b/src/modules/tracking/TrackingJobs.h @@ -30,7 +30,7 @@ class TrackingInstallJob : public Calamares::Job Q_OBJECT public: TrackingInstallJob( const QString& url ); - ~TrackingInstallJob(); + ~TrackingInstallJob() override; QString prettyName() const override; QString prettyDescription() const override; From 2bc394656d3446369223200c5d48363a0c1d922a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 13 Jan 2018 21:26:31 +0100 Subject: [PATCH 113/178] [welcome] Make libparted optional - This turns off the space-available check in the welcome module; without libparted, always fail that check. - Allows running the welcome module on OS without libparted. --- src/modules/welcome/CMakeLists.txt | 20 ++++++++++++------- .../welcome/checker/RequirementsChecker.cpp | 5 +++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/modules/welcome/CMakeLists.txt b/src/modules/welcome/CMakeLists.txt index 42ce62beb..a520aa080 100644 --- a/src/modules/welcome/CMakeLists.txt +++ b/src/modules/welcome/CMakeLists.txt @@ -1,20 +1,24 @@ include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) -find_package( LIBPARTED REQUIRED ) find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED DBus Network ) +find_package( LIBPARTED ) +if ( LIBPARTED_FOUND ) + set( PARTMAN_SRC checker/partman_devices.c ) + set( CHECKER_LINK_LIBRARIES ${LIBPARTED_LIBRARY} ) +else() + set( PARTMAN_SRC ) + set( CHECKER_LINK_LIBRARIES ) + add_definitions( -DWITHOUT_LIBPARTED ) +endif() + include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) set( CHECKER_SOURCES checker/CheckItemWidget.cpp checker/CheckerWidget.cpp checker/RequirementsChecker.cpp - checker/partman_devices.c -) -set( CHECKER_LINK_LIBRARIES - ${LIBPARTED_LIBRARY} - Qt5::DBus - Qt5::Network + ${PARTMAN_SRC} ) calamares_add_plugin( welcome @@ -29,5 +33,7 @@ calamares_add_plugin( welcome LINK_PRIVATE_LIBRARIES calamaresui ${CHECKER_LINK_LIBRARIES} + Qt5::DBus + Qt5::Network SHARED_LIB ) diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index f059cc914..4dbd977d1 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -313,7 +313,12 @@ RequirementsChecker::verdict() const bool RequirementsChecker::checkEnoughStorage( qint64 requiredSpace ) { +#ifdef WITHOUT_LIBPARTED + cDebug() << "WARNING: RequirementsChecker is configured without libparted."; + return false; +#else return check_big_enough( requiredSpace ); +#endif } From 8bd40fdcd54d4a63f96bfffafafeb49d1aa4c388 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 04:19:23 -0500 Subject: [PATCH 114/178] [shellprocess] Warn when there's no script --- src/modules/shellprocess/ShellProcessJob.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index cf6d8d606..b5a04037c 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -118,8 +118,10 @@ ShellProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) { m_commands = new CommandList( configurationMap.value( "script" ) ); if ( m_commands->isEmpty() ) - cDebug() << "ShellProcessJob: \"script\" contains no commands."; + cDebug() << "ShellProcessJob: \"script\" contains no commands for" << moduleInstanceKey(); } + else + cDebug() << "WARNING: No script given for ShellProcessJob" << moduleInstanceKey(); } CALAMARES_PLUGIN_FACTORY_DEFINITION( ShellProcessJobFactory, registerPlugin(); ) From e48767eaa63f63a63739ee91caed85b631266a99 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 04:57:41 -0500 Subject: [PATCH 115/178] [shellprocess] Make CommandList chroot-aware This is prep-work for moving commandlist to libcalamares, where it can be re-used by more modules. --- src/modules/shellprocess/CommandList.cpp | 7 ++++--- src/modules/shellprocess/CommandList.h | 9 +++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/modules/shellprocess/CommandList.cpp b/src/modules/shellprocess/CommandList.cpp index 1e7f4887a..39f049abc 100644 --- a/src/modules/shellprocess/CommandList.cpp +++ b/src/modules/shellprocess/CommandList.cpp @@ -37,12 +37,13 @@ static QStringList get_variant_stringlist(const QVariantList& l) return retl; } -CommandList::CommandList() +CommandList::CommandList( bool doChroot ) + : m_doChroot( doChroot ) { } -CommandList::CommandList::CommandList(const QVariant& v) - : CommandList() +CommandList::CommandList::CommandList( const QVariant& v, bool doChroot ) + : CommandList( doChroot ) { if ( v.type() == QVariant::List ) { diff --git a/src/modules/shellprocess/CommandList.h b/src/modules/shellprocess/CommandList.h index b94ffdcaf..b519f40dd 100644 --- a/src/modules/shellprocess/CommandList.h +++ b/src/modules/shellprocess/CommandList.h @@ -25,15 +25,20 @@ class CommandList : protected QStringList { public: - CommandList(); - CommandList(const QVariant& v); + CommandList( bool doChroot = true ); + CommandList( const QVariant& v, bool doChroot = true ); ~CommandList(); + bool doChroot() const { return m_doChroot; } + using QStringList::isEmpty; using QStringList::count; using QStringList::cbegin; using QStringList::cend; using QStringList::const_iterator; + +private: + bool m_doChroot; } ; #endif // COMMANDLIST_H From 8571fd800e668c4c78ddb00dbc67c8d9740ed27a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 05:26:20 -0500 Subject: [PATCH 116/178] [shellprocess] Make explicit that an error code has been ignored, by logging it. --- src/modules/shellprocess/ShellProcessJob.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index b5a04037c..bc1d8da13 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -99,9 +99,12 @@ ShellProcessJob::exec() CalamaresUtils::ProcessResult r = System::runCommand( location, shell_cmd, QString(), QString(), 10 ); - if ( ( r.getExitCode() != 0 ) && !suppress_result ) + if ( r.getExitCode() != 0 ) { - return Calamares::JobResult::error( tr( "Could not run command." ), r.getOutput() ); + if ( suppress_result ) + cDebug() << "Error code" << r.getExitCode() << "ignored by ShellProcess configuration."; + else + return Calamares::JobResult::error( tr( "Could not run command." ), r.getOutput() ); } } From 60f4dd7b3b2c10ea01585ee06e7297d21efb7442 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 05:51:58 -0500 Subject: [PATCH 117/178] [libcalamares] Improve explanation of failed processes. --- .../utils/CalamaresUtilsSystem.cpp | 27 ++++++++++--------- src/modules/shellprocess/ShellProcessJob.cpp | 2 +- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 4d70e2a78..981132ae1 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -258,34 +258,37 @@ ProcessResult::explainProcess( const QObject* parent, int ec, const QString& com if ( ec == 0 ) return JobResult::ok(); + QString outputMessage = output.isEmpty() ? QStringLiteral("\nThere was no output from the command.") + : (parent->tr("\nOutput:\n") + output); + if ( ec == -1 ) //Crash! - return JobResult::error( parent->tr( "External command crashed" ), - parent->tr( "Command %1 crashed.\nOutput:\n%2" ) + return JobResult::error( parent->tr( "External command crashed." ), + parent->tr( "Command %1 crashed." ) .arg( command ) - .arg( output ) ); + + outputMessage ); if ( ec == -2 ) - return JobResult::error( parent->tr( "External command failed to start" ), - parent->tr( "Command %1 failed to start." ) + return JobResult::error( parent->tr( "External command failed to start." ), + parent->tr( "Command %1 failed to start." ) .arg( command ) ); if ( ec == -3 ) - return JobResult::error( parent->tr( "Internal error when starting command" ), + return JobResult::error( parent->tr( "Internal error when starting command." ), parent->tr( "Bad parameters for process job call." ) ); if ( ec == -4 ) - return JobResult::error( parent->tr( "External command failed to finish" ), - parent->tr( "Command %1 failed to finish in %2s.\nOutput:\n%3" ) + return JobResult::error( parent->tr( "External command failed to finish." ), + parent->tr( "Command %1 failed to finish in %2 seconds." ) .arg( command ) .arg( timeout ) - .arg( output ) ); + + outputMessage ); //Any other exit code - return JobResult::error( parent->tr( "External command finished with errors" ), - parent->tr( "Command %1 finished with exit code %2.\nOutput:\n%3" ) + return JobResult::error( parent->tr( "External command finished with errors." ), + parent->tr( "Command %1 finished with exit code %2." ) .arg( command ) .arg( ec ) - .arg( output ) ); + + outputMessage ); } } // namespace diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index bc1d8da13..4e252ae76 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -104,7 +104,7 @@ ShellProcessJob::exec() if ( suppress_result ) cDebug() << "Error code" << r.getExitCode() << "ignored by ShellProcess configuration."; else - return Calamares::JobResult::error( tr( "Could not run command." ), r.getOutput() ); + return r.explainProcess( this, processed_cmd, 10 ); } } From 913690650f7e6ad2e29291043233f9e92aafb05b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 05:59:44 -0500 Subject: [PATCH 118/178] [libcalamares] Move CommandList into libcalamares - Move CommandList so it can be used from more modules than just ShellProcess - Allow a CommandList to run itself. This centralizes code for executing one or more commands and simplifies the ShellProcess module. Various small cleanups: - mention instance id in log message - code formatting / style --- src/libcalamares/CMakeLists.txt | 1 + src/libcalamares/utils/CommandList.cpp | 120 ++++++++++++++++++ .../utils}/CommandList.h | 13 +- src/modules/shellprocess/CMakeLists.txt | 2 - src/modules/shellprocess/CommandList.cpp | 68 ---------- src/modules/shellprocess/ShellProcessJob.cpp | 53 +------- src/modules/shellprocess/ShellProcessJob.h | 4 +- src/modules/shellprocess/Tests.cpp | 4 +- 8 files changed, 142 insertions(+), 123 deletions(-) create mode 100644 src/libcalamares/utils/CommandList.cpp rename src/{modules/shellprocess => libcalamares/utils}/CommandList.h (87%) delete mode 100644 src/modules/shellprocess/CommandList.cpp diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index d52e60bfa..2a1cfeb20 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -22,6 +22,7 @@ set( libSources set( utilsSources utils/CalamaresUtils.cpp utils/CalamaresUtilsSystem.cpp + utils/CommandList.cpp utils/Logger.cpp utils/PluginFactory.cpp utils/Retranslator.cpp diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp new file mode 100644 index 000000000..5e3d3db95 --- /dev/null +++ b/src/libcalamares/utils/CommandList.cpp @@ -0,0 +1,120 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "CommandList.h" + +#include "GlobalStorage.h" +#include "JobQueue.h" + +#include "utils/CalamaresUtilsSystem.h" +#include "utils/Logger.h" + +#include + +static QStringList get_variant_stringlist( const QVariantList& l ) +{ + QStringList retl; + unsigned int c = 0; + for ( const auto& v : l ) + { + if ( v.type() == QVariant::String ) + retl.append( v.toString() ); + else + cDebug() << "WARNING Bad CommandList element" << c << v.type() << v; + ++c; + } + return retl; +} + +namespace CalamaresUtils +{ + +CommandList::CommandList( bool doChroot ) + : m_doChroot( doChroot ) +{ +} + +CommandList::CommandList::CommandList( const QVariant& v, bool doChroot ) + : CommandList( doChroot ) +{ + if ( v.type() == QVariant::List ) + { + const auto v_list = v.toList(); + if ( v_list.count() ) + append( get_variant_stringlist( v_list ) ); + else + cDebug() << "WARNING: Empty CommandList"; + } + else if ( v.type() == QVariant::String ) + append( v.toString() ); + else + cDebug() << "WARNING: CommandList does not understand variant" << v.type(); +} + +CommandList::~CommandList() +{ +} + +Calamares::JobResult CommandList::run( const QObject* parent ) +{ + System::RunLocation location = m_doChroot ? System::RunLocation::RunInTarget : System::RunLocation::RunInHost; + + /* Figure out the replacement for @@ROOT@@ */ + QString root = QStringLiteral( "/" ); + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + if ( location == System::RunLocation::RunInTarget ) + { + if ( !gs || !gs->contains( "rootMountPoint" ) ) + { + cDebug() << "ERROR: No rootMountPoint defined."; + return Calamares::JobResult::error( parent->tr( "Could not run command." ), + parent->tr( "No rootMountPoint is defined, so command cannot be run in the target environment." ) ); + } + root = gs->value( "rootMountPoint" ).toString(); + } + + for ( CommandList::const_iterator i = cbegin(); i != cend(); ++i ) + { + QString processed_cmd = *i; + processed_cmd.replace( "@@ROOT@@", root ); // FIXME? + bool suppress_result = false; + if ( processed_cmd.startsWith( '-' ) ) + { + suppress_result = true; + processed_cmd.remove( 0, 1 ); // Drop the - // FIXME? + } + + QStringList shell_cmd { "/bin/sh", "-c" }; + shell_cmd << processed_cmd; + + ProcessResult r = System::runCommand( + location, shell_cmd, QString(), QString(), 10 ); + + if ( r.getExitCode() != 0 ) + { + if ( suppress_result ) + cDebug() << "Error code" << r.getExitCode() << "ignored by ShellProcess configuration."; + else + return r.explainProcess( parent, processed_cmd, 10 ); + } + } + + return Calamares::JobResult::ok(); +} + +} // namespace diff --git a/src/modules/shellprocess/CommandList.h b/src/libcalamares/utils/CommandList.h similarity index 87% rename from src/modules/shellprocess/CommandList.h rename to src/libcalamares/utils/CommandList.h index b519f40dd..0137fe41e 100644 --- a/src/modules/shellprocess/CommandList.h +++ b/src/libcalamares/utils/CommandList.h @@ -19,9 +19,14 @@ #ifndef COMMANDLIST_H #define COMMANDLIST_H +#include "Job.h" + #include #include +namespace CalamaresUtils +{ + class CommandList : protected QStringList { public: @@ -29,7 +34,12 @@ public: CommandList( const QVariant& v, bool doChroot = true ); ~CommandList(); - bool doChroot() const { return m_doChroot; } + bool doChroot() const + { + return m_doChroot; + } + + Calamares::JobResult run( const QObject* parent ); using QStringList::isEmpty; using QStringList::count; @@ -41,4 +51,5 @@ private: bool m_doChroot; } ; +} // namespace #endif // COMMANDLIST_H diff --git a/src/modules/shellprocess/CMakeLists.txt b/src/modules/shellprocess/CMakeLists.txt index 0ed69add5..7b92eccde 100644 --- a/src/modules/shellprocess/CMakeLists.txt +++ b/src/modules/shellprocess/CMakeLists.txt @@ -2,7 +2,6 @@ calamares_add_plugin( shellprocess TYPE job EXPORT_MACRO PLUGINDLLEXPORT_PRO SOURCES - CommandList.cpp ShellProcessJob.cpp LINK_PRIVATE_LIBRARIES calamares @@ -16,7 +15,6 @@ if( ECM_FOUND ) ecm_add_test( Tests.cpp - CommandList.cpp TEST_NAME shellprocesstest LINK_LIBRARIES diff --git a/src/modules/shellprocess/CommandList.cpp b/src/modules/shellprocess/CommandList.cpp deleted file mode 100644 index 39f049abc..000000000 --- a/src/modules/shellprocess/CommandList.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2018, Adriaan de Groot - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#include "CommandList.h" - -#include "utils/Logger.h" - -#include - -static QStringList get_variant_stringlist(const QVariantList& l) -{ - QStringList retl; - unsigned int c = 0; - for ( const auto& v : l ) - { - if ( v.type() == QVariant::String ) - retl.append( v.toString() ); - else - cDebug() << "WARNING Bad CommandList element" << c << v.type() << v; - ++c; - } - return retl; -} - -CommandList::CommandList( bool doChroot ) - : m_doChroot( doChroot ) -{ -} - -CommandList::CommandList::CommandList( const QVariant& v, bool doChroot ) - : CommandList( doChroot ) -{ - if ( v.type() == QVariant::List ) - { - const auto v_list = v.toList(); - if ( v_list.count() ) - { - append( get_variant_stringlist( v_list ) ); - } - else - cDebug() << "WARNING: Empty CommandList"; - } - else if ( v.type() == QVariant::String ) - { - append( v.toString() ); - } - else - cDebug() << "WARNING: CommandList does not understand variant" << v.type(); -} - -CommandList::~CommandList() -{ -} diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index 4e252ae76..45b8b2537 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -18,8 +18,6 @@ #include "ShellProcessJob.h" -#include "CommandList.h" - #include #include #include @@ -30,10 +28,9 @@ #include "utils/CalamaresUtils.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/CommandList.h" #include "utils/Logger.h" -class CommandList; - ShellProcessJob::ShellProcessJob( QObject* parent ) : Calamares::CppJob( parent ) , m_commands( nullptr ) @@ -59,56 +56,14 @@ ShellProcessJob::prettyName() const Calamares::JobResult ShellProcessJob::exec() { - using CalamaresUtils::System; - System::RunLocation location = m_dontChroot ? System::RunLocation::RunInHost : System::RunLocation::RunInTarget; if ( ! m_commands || m_commands->isEmpty() ) { - cDebug() << "WARNING: No commands to execute"; + cDebug() << "WARNING: No commands to execute" << moduleInstanceKey(); return Calamares::JobResult::ok(); } - /* Figure out the replacement for @@ROOT@@ */ - QString root = QStringLiteral( "/" ); - Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - if ( location == System::RunLocation::RunInTarget ) - { - if ( !gs || !gs->contains( "rootMountPoint" ) ) - { - cDebug() << "ERROR: No rootMountPoint defined."; - return Calamares::JobResult::error( tr( "Could not run command." ), - tr( "No rootMountPoint is defined, so command cannot be run in the target environment." ) ); - } - root = gs->value( "rootMountPoint" ).toString(); - } - - for ( CommandList::const_iterator i = m_commands->cbegin(); i != m_commands->cend(); ++i ) - { - QString processed_cmd = *i; - processed_cmd.replace( "@@ROOT@@", root ); // FIXME? - bool suppress_result = false; - if ( processed_cmd.startsWith( '-' ) ) - { - suppress_result = true; - processed_cmd.remove( 0, 1 ); // Drop the - // FIXME? - } - - QStringList shell_cmd { "/bin/sh", "-c" }; - shell_cmd << processed_cmd; - - CalamaresUtils::ProcessResult r = System::runCommand( - location, shell_cmd, QString(), QString(), 10 ); - - if ( r.getExitCode() != 0 ) - { - if ( suppress_result ) - cDebug() << "Error code" << r.getExitCode() << "ignored by ShellProcess configuration."; - else - return r.explainProcess( this, processed_cmd, 10 ); - } - } - - return Calamares::JobResult::ok(); + return m_commands->run( this ); } @@ -119,7 +74,7 @@ ShellProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) if ( configurationMap.contains( "script" ) ) { - m_commands = new CommandList( configurationMap.value( "script" ) ); + m_commands = new CalamaresUtils::CommandList( configurationMap.value( "script" ), !m_dontChroot ); if ( m_commands->isEmpty() ) cDebug() << "ShellProcessJob: \"script\" contains no commands for" << moduleInstanceKey(); } diff --git a/src/modules/shellprocess/ShellProcessJob.h b/src/modules/shellprocess/ShellProcessJob.h index c11ec9565..afc58fdc7 100644 --- a/src/modules/shellprocess/ShellProcessJob.h +++ b/src/modules/shellprocess/ShellProcessJob.h @@ -24,11 +24,11 @@ #include +#include #include #include -class CommandList; class PLUGINDLLEXPORT ShellProcessJob : public Calamares::CppJob { @@ -45,7 +45,7 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; private: - CommandList *m_commands; + CalamaresUtils::CommandList* m_commands; bool m_dontChroot; }; diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp index 13a611136..abf988124 100644 --- a/src/modules/shellprocess/Tests.cpp +++ b/src/modules/shellprocess/Tests.cpp @@ -17,8 +17,8 @@ */ #include "Tests.h" -#include "CommandList.h" +#include "utils/CommandList.h" #include "utils/YamlUtils.h" #include @@ -30,6 +30,8 @@ QTEST_GUILESS_MAIN( ShellProcessTests ) +using CommandList = CalamaresUtils::CommandList; + ShellProcessTests::ShellProcessTests() { } From f01c7cda6ba18fcf2f65333e8560d518830743f5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 08:41:24 -0500 Subject: [PATCH 119/178] [libcalamares] Fix debug output classname --- src/libcalamares/utils/CommandList.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index 5e3d3db95..ae42a13bd 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -108,7 +108,7 @@ Calamares::JobResult CommandList::run( const QObject* parent ) if ( r.getExitCode() != 0 ) { if ( suppress_result ) - cDebug() << "Error code" << r.getExitCode() << "ignored by ShellProcess configuration."; + cDebug() << "Error code" << r.getExitCode() << "ignored by CommandList configuration."; else return r.explainProcess( parent, processed_cmd, 10 ); } From d6cbda5ed72ee8069049c084e6193ac251c97dac Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 08:57:34 -0500 Subject: [PATCH 120/178] [contextualprocess] Implement contextual processes Allow running one or more commands based on the value of a global configuration variable. This could, of course, be done in a Python module with some custom code, but for simple cases this is more straightforward to configure through module instances. Uses the CommandList developed for the ShellProcess module to do the actual work. FIXES #874 --- .../ContextualProcessJob.cpp | 79 ++++++++++++++++++- .../contextualprocess/ContextualProcessJob.h | 12 +-- .../contextualprocess/contextualprocess.conf | 17 ++++ 3 files changed, 100 insertions(+), 8 deletions(-) diff --git a/src/modules/contextualprocess/ContextualProcessJob.cpp b/src/modules/contextualprocess/ContextualProcessJob.cpp index 131a42fca..50a28f417 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.cpp +++ b/src/modules/contextualprocess/ContextualProcessJob.cpp @@ -1,6 +1,6 @@ /* === This file is part of Calamares - === * - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,8 +26,37 @@ #include "JobQueue.h" #include "GlobalStorage.h" +#include "utils/CalamaresUtils.h" +#include "utils/CommandList.h" #include "utils/Logger.h" +struct ContextualProcessBinding +{ + ContextualProcessBinding( const QString& _n, const QString& _v, CalamaresUtils::CommandList* _c ) + : variable( _n ) + , value( _v ) + , commands( _c ) + { + } + + ~ContextualProcessBinding(); + + int count() const + { + return commands ? commands->count() : 0; + } + + QString variable; + QString value; + CalamaresUtils::CommandList* commands; +} ; + + +ContextualProcessBinding::~ContextualProcessBinding() +{ + delete commands; +} + ContextualProcessJob::ContextualProcessJob( QObject* parent ) : Calamares::CppJob( parent ) { @@ -36,6 +65,7 @@ ContextualProcessJob::ContextualProcessJob( QObject* parent ) ContextualProcessJob::~ContextualProcessJob() { + qDeleteAll( m_commands ); } @@ -49,8 +79,17 @@ ContextualProcessJob::prettyName() const Calamares::JobResult ContextualProcessJob::exec() { - QThread::sleep( 3 ); + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + for ( const ContextualProcessBinding* binding : m_commands ) + { + if ( gs->contains( binding->variable ) && ( gs->value( binding->variable ).toString() == binding->value ) ) + { + Calamares::JobResult r = binding->commands->run( this ); + if ( !r ) + return r; + } + } return Calamares::JobResult::ok(); } @@ -58,7 +97,41 @@ ContextualProcessJob::exec() void ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) { - m_configurationMap = configurationMap; + m_dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); + + for ( QVariantMap::const_iterator iter = configurationMap.cbegin(); iter != configurationMap.cend(); ++iter ) + { + QString variableName = iter.key(); + if ( variableName.isEmpty() || ( variableName == "dontChroot" ) ) + continue; + + if ( iter.value().type() != QVariant::Map ) + { + cDebug() << "WARNING:" << moduleInstanceKey() << "bad configuration values for" << variableName; + continue; + } + + QVariantMap values = iter.value().toMap(); + for ( QVariantMap::const_iterator valueiter = values.cbegin(); valueiter != values.cend(); ++valueiter ) + { + QString valueString = valueiter.key(); + if ( variableName.isEmpty() ) + { + cDebug() << "WARNING:" << moduleInstanceKey() << "variable" << variableName << "unrecognized value" << valueiter.key(); + continue; + } + + CalamaresUtils::CommandList* commands = new CalamaresUtils::CommandList( valueiter.value(), !m_dontChroot ); + + if ( commands->count() > 0 ) + { + m_commands.append( new ContextualProcessBinding( variableName, valueString, commands ) ); + cDebug() << variableName << '=' << valueString << "will execute" << commands->count() << "commands"; + } + else + delete commands; + } + } } CALAMARES_PLUGIN_FACTORY_DEFINITION( ContextualProcessJobFactory, registerPlugin(); ) diff --git a/src/modules/contextualprocess/ContextualProcessJob.h b/src/modules/contextualprocess/ContextualProcessJob.h index d12dff91d..aea09aa9b 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.h +++ b/src/modules/contextualprocess/ContextualProcessJob.h @@ -1,6 +1,6 @@ /* === This file is part of Calamares - === * - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,11 +22,12 @@ #include #include -#include +#include "CppJob.h" +#include "PluginDllMacro.h" -#include +#include "utils/PluginFactory.h" -#include +struct ContextualProcessBinding; class PLUGINDLLEXPORT ContextualProcessJob : public Calamares::CppJob { @@ -43,7 +44,8 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; private: - QVariantMap m_configurationMap; + QList m_commands; + bool m_dontChroot; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( ContextualProcessJobFactory ) diff --git a/src/modules/contextualprocess/contextualprocess.conf b/src/modules/contextualprocess/contextualprocess.conf index 832613080..4e9ddea7f 100644 --- a/src/modules/contextualprocess/contextualprocess.conf +++ b/src/modules/contextualprocess/contextualprocess.conf @@ -9,11 +9,28 @@ # If the variable has that particular value, the corresponding # value is executed as a shell command in the target environment. # +# You can check for an empty value with "". +# +# The special configuration key *dontChroot* specifies whether +# the commands are run in the target system (default, value *false*), +# or in the host system. This key is not used for comparisons +# with global configuration values. +# # If a command starts with "-" (a single minus sign), then the # return value of the command following the - is ignored; otherwise, # a failing command will abort the installation. This is much like # make's use of - in a command. +# +# Global configuration variables are not checked in a deterministic +# order, so do not rely on commands from one variable-check to +# always happen before (or after) checks on another +# variable. Similarly, the value-equality checks are not +# done in a deterministic order, but all of the value-checks +# for a given variable happen together. +# --- +dontChroot: false firmwareType: efi: "-pkg remove efi-firmware" bios: "-pkg remove bios-firmware" + "": "/bin/false no-firmware-type-set" From be451716384b437d54e1dea52ef807c10942b0cf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 09:33:33 -0500 Subject: [PATCH 121/178] [finished] Make the *restart now* checkbox more visible. - Issue asks to make the setting more visible, which seems sensible to me. It **is** kind of hidden away for those distro's that make the setting visible (not everyone does). - While here, add a tooltip explaining what it does. FIXES #893 --- src/modules/finished/FinishedPage.ui | 54 +++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/src/modules/finished/FinishedPage.ui b/src/modules/finished/FinishedPage.ui index 09571afd3..8da5aad67 100644 --- a/src/modules/finished/FinishedPage.ui +++ b/src/modules/finished/FinishedPage.ui @@ -61,6 +61,9 @@ Qt::Vertical + + QSizePolicy::Fixed + 20 @@ -72,14 +75,47 @@ - - - &Restart now - - - false - - + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + &Restart now + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + @@ -89,7 +125,7 @@ Qt::Vertical - QSizePolicy::Fixed + QSizePolicy::Expanding From 6aa25ecc149aeb47adb1ca56b32f0806f452dbf9 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 15 Jan 2018 10:55:41 -0500 Subject: [PATCH 122/178] [core] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 266 ++++++++++++++++++++++++------- lang/calamares_ast.ts | 264 ++++++++++++++++++++++++------- lang/calamares_bg.ts | 292 +++++++++++++++++++++++++--------- lang/calamares_ca.ts | 264 ++++++++++++++++++++++++------- lang/calamares_cs_CZ.ts | 262 ++++++++++++++++++++++++------- lang/calamares_da.ts | 268 +++++++++++++++++++++++-------- lang/calamares_de.ts | 262 ++++++++++++++++++++++++------- lang/calamares_el.ts | 264 ++++++++++++++++++++++++------- lang/calamares_en.ts | 177 ++++++++++++--------- lang/calamares_en_GB.ts | 262 ++++++++++++++++++++++++------- lang/calamares_es.ts | 264 ++++++++++++++++++++++++------- lang/calamares_es_ES.ts | 262 ++++++++++++++++++++++++------- lang/calamares_es_MX.ts | 264 ++++++++++++++++++++++++------- lang/calamares_es_PR.ts | 262 ++++++++++++++++++++++++------- lang/calamares_et.ts | 262 ++++++++++++++++++++++++------- lang/calamares_eu.ts | 262 ++++++++++++++++++++++++------- lang/calamares_fa.ts | 262 ++++++++++++++++++++++++------- lang/calamares_fi_FI.ts | 286 +++++++++++++++++++++++++--------- lang/calamares_fr.ts | 266 ++++++++++++++++++++++++------- lang/calamares_fr_CH.ts | 262 ++++++++++++++++++++++++------- lang/calamares_gl.ts | 264 ++++++++++++++++++++++++------- lang/calamares_gu.ts | 262 ++++++++++++++++++++++++------- lang/calamares_he.ts | 264 ++++++++++++++++++++++++------- lang/calamares_hi.ts | 262 ++++++++++++++++++++++++------- lang/calamares_hr.ts | 264 ++++++++++++++++++++++++------- lang/calamares_hu.ts | 283 +++++++++++++++++++++++++-------- lang/calamares_id.ts | 264 ++++++++++++++++++++++++------- lang/calamares_is.ts | 264 ++++++++++++++++++++++++------- lang/calamares_it_IT.ts | 266 ++++++++++++++++++++++++------- lang/calamares_ja.ts | 264 ++++++++++++++++++++++++------- lang/calamares_kk.ts | 262 ++++++++++++++++++++++++------- lang/calamares_kn.ts | 292 +++++++++++++++++++++++++--------- lang/calamares_lo.ts | 262 ++++++++++++++++++++++++------- lang/calamares_lt.ts | 268 +++++++++++++++++++++++-------- lang/calamares_mr.ts | 262 ++++++++++++++++++++++++------- lang/calamares_nb.ts | 262 ++++++++++++++++++++++++------- lang/calamares_nl.ts | 264 ++++++++++++++++++++++++------- lang/calamares_pl.ts | 264 ++++++++++++++++++++++++------- lang/calamares_pl_PL.ts | 262 ++++++++++++++++++++++++------- lang/calamares_pt_BR.ts | 312 +++++++++++++++++++++++++++---------- lang/calamares_pt_PT.ts | 264 ++++++++++++++++++++++++------- lang/calamares_ro.ts | 300 ++++++++++++++++++++++++++--------- lang/calamares_ru.ts | 282 +++++++++++++++++++++++++-------- lang/calamares_sk.ts | 280 +++++++++++++++++++++++++-------- lang/calamares_sl.ts | 262 ++++++++++++++++++++++++------- lang/calamares_sq.ts | 276 ++++++++++++++++++++++++-------- lang/calamares_sr.ts | 262 ++++++++++++++++++++++++------- lang/calamares_sr@latin.ts | 262 ++++++++++++++++++++++++------- lang/calamares_sv.ts | 264 ++++++++++++++++++++++++------- lang/calamares_th.ts | 262 ++++++++++++++++++++++++------- lang/calamares_tr_TR.ts | 264 ++++++++++++++++++++++++------- lang/calamares_uk.ts | 264 ++++++++++++++++++++++++------- lang/calamares_ur.ts | 262 ++++++++++++++++++++++++------- lang/calamares_uz.ts | 262 ++++++++++++++++++++++++------- lang/calamares_zh_CN.ts | 276 ++++++++++++++++++++++++-------- lang/calamares_zh_TW.ts | 264 ++++++++++++++++++++++++------- 56 files changed, 11484 insertions(+), 3422 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index 18ffe33c3..070a51157 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -123,12 +123,12 @@ يشغّل الأمر 1% 2% - + External command crashed انهار الأمر الخارجيّ - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start فشل الأمر الخارجي في البدء - + Command %1 failed to start. فشل الأمر %1 في البدء - + Internal error when starting command حدث خطأ داخلي أثناء بدء الأمر - + Bad parameters for process job call. معاملات نداء المهمة سيّئة. - + External command failed to finish فشل الأمر الخارجي بالانتهاء - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors انتهى الأمر الخارجي مع وجود أخطاء - + Command %1 finished with exit code %2. Output: %3 @@ -297,7 +297,7 @@ The installer will quit and all changes will be lost. The installation is complete. Close the installer. - + اكتمل التثبيت , اغلق المثبِت @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type نوع الاستثناء غير معروف - + unparseable Python error خطأ بايثون لا يمكن تحليله - + unparseable Python traceback تتبّع بايثون خلفيّ لا يمكن تحليله - + Unfetchable Python error. خطأ لا يمكن الحصول علية في بايثون. @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed كونسول غير مثبّت - - - - Please install the kde konsole and try again! - فضلًا ثبّت كونسول كدي وجرّب مجدّدًا! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> ينفّذ السّكربت: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ The installer will quit and all changes will be lost. الوصف - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + نموذج + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. غيّر حجم القسم %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. غيّر حجم قسم <strong>%2م.بايت</strong> <strong>%1</strong> إلى <strong>%3م.بايت</strong>. - + Resizing %2MB partition %1 to %3MB. يغيّر حجم قسم %2م.بايت %1 إلى %3م.بايت. - + The installer failed to resize partition %1 on disk '%2'. فشل المثبّت في تغيير حجم القسم %1 على القرص '%2'. @@ -1902,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. اضبط رايات القسم %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. يمحي رايات القسم <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. يمحي رايات القسم <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. يضبط رايات <strong>%2</strong> القسم<strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. فشل المثبّت في ضبط رايات القسم %1. - - - Could not open device '%1'. - تعذّر فتح الجهاز '%1'. - - - - Could not open partition table on device '%1'. - تعذّر فتح جدول التّقسيم على الجهاز '%1'. - - - - Could not find partition '%1'. - تعذّر إيجاد القسم '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ The installer will quit and all changes will be lost. الخلاصة + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + نموذج + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index 7e3831e9a..178a9075d 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -123,12 +123,12 @@ Executando'l comandu %1 %2 - + External command crashed Cascó'l comandu esternu - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Salida: %2 - + External command failed to start El comandu esternu falló al aniciase - + Command %1 failed to start. El comandu %1 falló al aniciase. - + Internal error when starting command Fallu internu al aniciar el comandu - + Bad parameters for process job call. Parámetros incorreutos pa la llamada del trabayu del procesu. - + External command failed to finish El comandu esternu fallo al finar - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Salida: %3 - + External command finished with errors El comandu esternu finó con fallos - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ L'instalador colará y perderánse toles camudancies. CalamaresPython::Helper - + Unknown exception type Tiba d'esceición desconocida - + unparseable Python error fallu non analizable de Python - + unparseable Python traceback rastexu non analizable de Python - + Unfetchable Python error. Fallu non algamable de Python @@ -530,6 +530,14 @@ L'instalador colará y perderánse toles camudancies. Llimpiáronse tolos montaxes temporales. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ L'instalador colará y perderánse toles camudancies. InteractiveTerminalPage - - - + Konsole not installed Konsole nun ta instaláu - - - - Please install the kde konsole and try again! - ¡Instala konsole ya inténtalo de nueves, por favor! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Executando'l script &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ L'instalador colará y perderánse toles camudancies. Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalación de rede. (Deshabilitáu: Nun pue dise en cata del llistáu de paquetes, comprueba la conexón de rede) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ L'instalador colará y perderánse toles camudancies. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formulariu + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ L'instalador colará y perderánse toles camudancies. ResizePartitionJob - + Resize partition %1. Redimensionaráse la partición %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensionaráse la partición <strong>%2MB</strong> de <strong>%1</strong> a <strong>%3MB</strong> - + Resizing %2MB partition %1 to %3MB. Redimensionando %2MB de la partición %1 a %3MB. - + The installer failed to resize partition %1 on disk '%2'. L'instalador falló al redimensionar la partición %1 nel discu «%2». @@ -1902,77 +1946,77 @@ L'instalador colará y perderánse toles camudancies. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Llimpiando banderes na partición <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Llimpiando banderes na partición <strong>%2</strong> de %1MB - + Clearing flags on new partition. Llimpiando banderes na partición nueva. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Axustando banderes <strong>%2</strong> na partición <strong>%1</strong> - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Afitando banderes <strong>%3</strong> na partición <strong>%2</strong> de %1MB - + Setting flags <strong>%1</strong> on new partition. Afitando banderes <strong>%1</strong> na partición nueva. @@ -1981,21 +2025,6 @@ L'instalador colará y perderánse toles camudancies. The installer failed to set flags on partition %1. L'instalador falló al afitar les banderes na partición %1. - - - Could not open device '%1'. - Nun pudo abrise'l preséu «%1». - - - - Could not open partition table on device '%1'. - Nun pudo abrise la tabla de particiones nel preséu «%1». - - - - Could not find partition '%1'. - Nun pudo alcontrase la partición «%1». - SetPasswordJob @@ -2094,6 +2123,123 @@ L'instalador colará y perderánse toles camudancies. Sumariu + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formulariu + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index e01d4f4cd..99e056610 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -76,7 +76,7 @@ none - + няма @@ -123,12 +123,12 @@ Изпълняване на команда %1 %2 - + External command crashed Външна команда се провали - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Външна команда не успя да стартира - + Command %1 failed to start. Команда %1 не успя да стартира. - + Internal error when starting command Вътрешна грешка при стартиране на команда - + Bad parameters for process job call. Невалидни параметри за извикване на задача за процес. - + External command failed to finish Външна команда не успя да завърши - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Външна команда приключи с грешки - + Command %1 finished with exit code %2. Output: %3 @@ -240,7 +240,7 @@ Output: Cancel installation without changing the system. - + Отказ от инсталацията без промяна на системата @@ -257,17 +257,17 @@ The installer will quit and all changes will be lost. &Yes - + &Да &No - + &Не &Close - + &Затвори @@ -292,12 +292,12 @@ The installer will quit and all changes will be lost. &Done - + &Готово The installation is complete. Close the installer. - + Инсталацията е завършена. Затворете инсталаторa. @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Неизвестен тип изключение - + unparseable Python error неанализируема Python грешка - + unparseable Python traceback неанализируемо Python проследяване - + Unfetchable Python error. Недостъпна Python грешка. @@ -418,7 +418,7 @@ The installer will quit and all changes will be lost. Reuse %1 as home partition for %2. - + Използване на %1 като домашен дял за %2 @@ -531,6 +531,14 @@ The installer will quit and all changes will be lost. Разчистени всички временни монтирания. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -541,7 +549,7 @@ The installer will quit and all changes will be lost. MiB - + MiB @@ -581,7 +589,7 @@ The installer will quit and all changes will be lost. En&crypt - + En%crypt @@ -601,7 +609,7 @@ The installer will quit and all changes will be lost. Mountpoint already in use. Please select another one. - + Точкака на монтиране вече се използва. Моля изберете друга. @@ -753,7 +761,7 @@ The installer will quit and all changes will be lost. Cannot add user %1 to groups: %2. - + Не може да бъе добавен потребител %1 към групи: %2. @@ -916,7 +924,7 @@ The installer will quit and all changes will be lost. MiB - + MiB @@ -931,7 +939,7 @@ The installer will quit and all changes will be lost. Mountpoint already in use. Please select another one. - + Точкака на монтиране вече се използва. Моля изберете друга. @@ -1087,21 +1095,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed Konsole не е инсталиран - - - - Please install the kde konsole and try again! - Моля инсталирайте kde konsole и опитайте отново! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Изпълняване на скрипт: &nbsp;<code>%1</code> @@ -1302,12 +1306,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1632,6 +1636,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Форма + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1807,22 +1851,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. Преоразмери дял %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Преоразмери <strong>%2МБ</strong> дял <strong>%1</strong> на <strong>%3МБ</strong>. - + Resizing %2MB partition %1 to %3MB. Преоразмеряване от %2МБ дял %1 на %3МБ. - + The installer failed to resize partition %1 on disk '%2'. Инсталатора не успя да преоразмери дял %1 върху диск '%2'. @@ -1903,77 +1947,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. Задай флагове на дял %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. Изчисти флаговете на дял <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Сложи флаг на дял <strong>%1</strong> като <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Изчистване на флаговете на дял <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Задаване на флагове <strong>%2</strong> на дял <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1982,21 +2026,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. Инсталатора не успя да зададе флагове на дял %1. - - - Could not open device '%1'. - Не можа да се отвори устройство '%1'. - - - - Could not open partition table on device '%1'. - Не можа да се отвори таблица на дяловете в устройство '%1'. - - - - Could not find partition '%1'. - Не може да се намери дял '%1'. - SetPasswordJob @@ -2095,6 +2124,123 @@ The installer will quit and all changes will be lost. Обобщение + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Форма + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index b53bc6a98..db799af1c 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -123,12 +123,12 @@ Executant l'ordre %1 %2 - + External command crashed L'ordre externa ha fallat - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Sortida: %2 - + External command failed to start L'ordre externa no s'ha pogut iniciar - + Command %1 failed to start. L'ordre %1 no s'ha pogut iniciar. - + Internal error when starting command Error intern en iniciar l'ordre - + Bad parameters for process job call. Paràmetres incorrectes per a la crida del procés. - + External command failed to finish L'ordre externa no ha acabat correctament - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Sortida: %3 - + External command finished with errors L'ordre externa ha acabat amb errors - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ L'instal·lador es tancarà i tots els canvis es perdran. CalamaresPython::Helper - + Unknown exception type Tipus d'excepció desconeguda - + unparseable Python error Error de Python no analitzable - + unparseable Python traceback Traceback de Python no analitzable - + Unfetchable Python error. Error de Python irrecuperable. @@ -530,6 +530,14 @@ L'instal·lador es tancarà i tots els canvis es perdran. S'han netejat tots els muntatges temporals. + + ContextualProcessJob + + + Contextual Processes Job + Tasca de procés contextual + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ L'instal·lador es tancarà i tots els canvis es perdran. InteractiveTerminalPage - - - + Konsole not installed El Konsole no està instal·lat - - - - Please install the kde konsole and try again! - Si us plau, instal·leu el konsole del kde i torneu-ho a intentar! + + Please install KDE Konsole and try again! + Si us plau, instal·leu el Konsole de KDE i torneu-ho a intentar! - + Executing script: &nbsp;<code>%1</code> Executant l'script &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ L'instal·lador es tancarà i tots els canvis es perdran. Descripció - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instal·lació per xarxa. (Inhabilitada: no es poden obtenir les llistes de paquets, comproveu la connexió.) - + Network Installation. (Disabled: Received invalid groups data) Instal·lació per xarxa. (Inhabilitat: dades de grups rebudes no vàlides) @@ -1631,6 +1635,46 @@ L'instal·lador es tancarà i tots els canvis es perdran. S'ha establert una partició d'arrencada separada conjuntament amb una partició d'arrel encriptada, però la partició d'arrencada no està encriptada.<br/><br/>Hi ha aspectes de seguretat amb aquest tipus de configuració, perquè hi ha fitxers del sistema importants en una partició no encriptada.<br/>Podeu continuar, si així ho desitgeu, però el desbloqueig del sistema de fitxers succeirà després, durant l'inici del sistema.<br/>Per encriptar la partició d'arrencada, torneu enrere i torneu-la a crear seleccionant <strong>Encripta</strong> a la finestra de creació de la partició. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Tasca d'aspecte i comportament del Plasma + + + + + Could not select KDE Plasma Look-and-Feel package + No s'ha pogut seleccionar el paquet de l'aspecte i comportament del Plasma de KDE. + + + + PlasmaLnfPage + + + Form + Formulari + + + + Placeholder + Marcador de posició + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Si us plau, trieu un aspecte i comportament per a l'escriptori Plasma de KDE. També podeu saltar aquest pas i configurar-ho un cop instal·lat el sistema. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Aspecte i comportament + + QObject @@ -1806,22 +1850,22 @@ L'instal·lador es tancarà i tots els canvis es perdran. ResizePartitionJob - + Resize partition %1. Redimensiona la partició %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensiona la partició de <strong>%2MB</strong> <strong>%1</strong> a <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Canviant la mida de la partició %1 de %2MB a %3MB. - + The installer failed to resize partition %1 on disk '%2'. L'instal·lador no ha pogut redimensionar la partició %1 del disc '%2'. @@ -1902,77 +1946,77 @@ L'instal·lador es tancarà i tots els canvis es perdran. SetPartFlagsJob - + Set flags on partition %1. Estableix les banderes a la partició %1. - + Set flags on %1MB %2 partition. Estableix les banderes a la partició %1MB %2. - + Set flags on new partition. Estableix les banderes a la partició nova. - + Clear flags on partition <strong>%1</strong>. Neteja les banderes de la partició <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Neteja les banderes de la partició %1MB <strong>%2</strong>. - + Clear flags on new partition. Neteja les banderes de la partició nova. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Estableix la bandera <strong>%2</strong> a la partició <strong>%1</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Estableix la bandera de la partició %1MB <strong>%2</strong> com a <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Estableix la bandera de la partició nova com a <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Netejant les banderes de la partició <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Es netegen les banderes de la partició %1MB <strong>%2</strong>. - + Clearing flags on new partition. Es netegen les banderes de la partició nova. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Establint les banderes <strong>%2</strong> a la partició <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. S'estableixen les banderes <strong>%3</strong> a la partició %1MB <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. S'estableixen les banderes <strong>%1</strong> a la partició nova. @@ -1981,21 +2025,6 @@ L'instal·lador es tancarà i tots els canvis es perdran. The installer failed to set flags on partition %1. L'instal·lador ha fallat en establir les banderes a la partició %1. - - - Could not open device '%1'. - No s'ha pogut obrir el dispositiu "%1". - - - - Could not open partition table on device '%1'. - No s'ha pogut obrir la taula de particions del dispositiu "%1". - - - - Could not find partition '%1'. - No s'ha pogut trobar la partició "%1". - SetPasswordJob @@ -2094,6 +2123,123 @@ L'instal·lador es tancarà i tots els canvis es perdran. Resum + + TrackingInstallJob + + + Installation feedback + Informació de retorn de la instal·lació + + + + Sending installation feedback. + S'envia la informació de retorn de la instal·lació. + + + + Internal error in install-tracking. + Error intern a install-tracking. + + + + HTTP request timed out. + La petició HTTP ha esgotat el temps d'espera. + + + + TrackingMachineNeonJob + + + Machine feedback + Informació de retorn de la màquina + + + + Configuring machine feedback. + Es configura la informació de retorn de la màquina. + + + + + Error in machine feedback configuration. + Error a la configuració de la informació de retorn de la màquina. + + + + Could not configure machine feedback correctly, script error %1. + No s'ha pogut configurar la informació de retorn de la màquina correctament. Error d'script %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + No s'ha pogut configurar la informació de retorn de la màquina correctament. Error del Calamares %1. + + + + TrackingPage + + + Form + Formulari + + + + Placeholder + Marcador de posició + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Si seleccioneu això, no enviareu <span style=" font-weight:600;">cap mena d'informació</span> sobre la vostra instal·lació.</p></body></html> + + + + + + TextLabel + Etiqueta de text + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Cliqueu aquí per a més informació sobre la informació de retorn dels usuaris.</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + El seguiment de la instal·lació ajuda %1 a veure quants usuaris tenen, en quin maquinari s'instal·la %1 i (amb les últimes dues opcions de baix), a obtenir informació contínua d'aplicacions preferides. Per veure el que s'enviarà, cliqueu a la icona d'ajuda contigua a cada àrea. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Si seleccioneu això, enviareu informació sobre la vostra instal·lació i el vostre maquinari. Aquesta informació <b>només s'enviarà un cop</b> després d'acabar la instal·lació. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Si seleccioneu això, enviareu informació <b>periòdicament</b>sobre la instal·lació, el maquinari i les aplicacions a %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Si seleccioneu això, enviareu informació <b>regularment</b>sobre la instal·lació, el maquinari, les aplicacions i els patrons d'ús a %1. + + + + TrackingViewStep + + + Feedback + Informació de retorn + + UsersPage diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index 33455d127..d20fe5e71 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -123,12 +123,12 @@ Spouštění příkazu %1 %2 - + External command crashed Vnější příkaz zhavaroval - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Výstup: %2 - + External command failed to start Spuštění vnějšího příkazu se nezdařilo - + Command %1 failed to start. Spuštění příkazu %1 se nezdařilo. - + Internal error when starting command Vnitřní chyba při spouštění příkazu - + Bad parameters for process job call. Chybné parametry volání úlohy procesu.. - + External command failed to finish Vykonávání vnějšího příkazu se nepodařilo dokončit - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Výstup: %3 - + External command finished with errors Vnější příkaz skončil s chybami. - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Instalační program bude ukončen a všechny změny ztraceny. CalamaresPython::Helper - + Unknown exception type Neznámý typ výjimky - + unparseable Python error Chyba při zpracovávání (parse) Python skriptu. - + unparseable Python traceback Chyba při zpracovávání (parse) Python záznamu volání funkcí (traceback). - + Unfetchable Python error. Chyba při načítání Python skriptu. @@ -530,6 +530,14 @@ Instalační program bude ukončen a všechny změny ztraceny. Všechny přípojné body odpojeny. + + ContextualProcessJob + + + Contextual Processes Job + Úloha kontextuálních procesů + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Instalační program bude ukončen a všechny změny ztraceny. InteractiveTerminalPage - - - + Konsole not installed Konsole není nainstalované. - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! Nainstalujte KDE Konsole a zkuste to znovu! - + Executing script: &nbsp;<code>%1</code> Spouštění skriptu: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Instalační program bude ukončen a všechny změny ztraceny. Popis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Síťová instalace. (Vypnuto: Nedaří se stáhnout seznamy balíčků – zkontrolujte připojení k síti) - + Network Installation. (Disabled: Received invalid groups data) Síťová instalace. (Vypnuto: Obdrženy neplatné údaje skupin) @@ -1631,6 +1635,46 @@ Instalační program bude ukončen a všechny změny ztraceny. Kromě šifrovaného kořenového oddílu byl vytvořen i nešifrovaný oddíl zavaděče.<br/><br/>To by mohl být bezpečnostní problém, protože na nešifrovaném oddílu jsou důležité soubory systému.<br/>Pokud chcete, můžete pokračovat, ale odemykání souborového systému bude probíhat později při startu systému.<br/>Pro zašifrování oddílu zavaděče se vraťte a vytvořte ho vybráním možnosti <strong>Šifrovat</strong> v okně při vytváření oddílu. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Úloha vzhledu a dojmu z Plasma + + + + + Could not select KDE Plasma Look-and-Feel package + Nedaří se vybrat balíček KDE Plasma Look-and-Feel + + + + PlasmaLnfPage + + + Form + Form + + + + Placeholder + Výplň + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + Vzhled a dojem z + + QObject @@ -1806,22 +1850,22 @@ Instalační program bude ukončen a všechny změny ztraceny. ResizePartitionJob - + Resize partition %1. Změnit velikost oddílu %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Změnit velikost <strong>%2MB</strong> oddílu <strong>%1</strong> na <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Mění se velikost %2MB oddílu %1 na %3MB. - + The installer failed to resize partition %1 on disk '%2'. Instalátoru se nezdařilo změnit velikost oddílu %1 na jednotce „%2“. @@ -1902,77 +1946,77 @@ Instalační program bude ukončen a všechny změny ztraceny. SetPartFlagsJob - + Set flags on partition %1. Nastavit příznaky na oddílu %1. - + Set flags on %1MB %2 partition. Nastavit příznaky na %1MB %2 oddílu. - + Set flags on new partition. Nastavit příznaky na novém oddílu. - + Clear flags on partition <strong>%1</strong>. Vymazat příznaky z oddílu <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Vymazat příznaky z %1MB <strong>%2</strong> oddílu. - + Clear flags on new partition. Vymazat příznaky z nového oddílu. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Nastavit příznak oddílu <strong>%1</strong> jako <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Nastavit příznak %1MB <strong>%2</strong> oddílu jako <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Nastavit příznak <strong>%1</strong> na novém oddílu. - + Clearing flags on partition <strong>%1</strong>. Mazání příznaků oddílu <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Mazání příznaků na %1MB <strong>%2</strong> oddílu. - + Clearing flags on new partition. Mazání příznaků na novém oddílu. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Nastavování příznaků <strong>%2</strong> na oddílu <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Nastavování příznaků <strong>%3</strong> na %1MB <strong>%2</strong> oddílu. - + Setting flags <strong>%1</strong> on new partition. Nastavování příznaků <strong>%1</strong> na novém oddílu. @@ -1981,21 +2025,6 @@ Instalační program bude ukončen a všechny změny ztraceny. The installer failed to set flags on partition %1. Instalátoru se nepodařilo nastavit příznak na oddílu %1 - - - Could not open device '%1'. - Nedaří se otevřít zařízení „%1“. - - - - Could not open partition table on device '%1'. - Nedaří se otevřít tabulku oddílů na zařízení „%1“. - - - - Could not find partition '%1'. - Oddíl „%1“ nebyl nalezen. - SetPasswordJob @@ -2094,6 +2123,123 @@ Instalační program bude ukončen a všechny změny ztraceny. Souhrn + + TrackingInstallJob + + + Installation feedback + Zpětná vazba z instalace + + + + Sending installation feedback. + Posílání zpětné vazby z instalace. + + + + Internal error in install-tracking. + Vnitřní chyba v install-tracking. + + + + HTTP request timed out. + Překročen časový limit HTTP požadavku. + + + + TrackingMachineNeonJob + + + Machine feedback + Zpětná vazba stroje + + + + Configuring machine feedback. + Nastavování zpětné vazby stroje + + + + + Error in machine feedback configuration. + Chyba v nastavení zpětné vazby stroje. + + + + Could not configure machine feedback correctly, script error %1. + Nepodařilo se správně nastavit zpětnou vazbu stroje, chyba skriptu %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Nepodařilo se správně nastavit zpětnou vazbu stroje, chyba Calamares %1. + + + + TrackingPage + + + Form + Form + + + + Placeholder + Výplň + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Nastavením tohoto nebudete posílat <span style=" font-weight:600;">žádné vůbec žádné informace</span> o vaší instalaci.</p></body></html> + + + + + + TextLabel + TextovýPopisek + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Kliknutím sem se dozvíte více o zpětné vazbě od uživatelů</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Sledování instalace pomůže %1 zjistit, kolik má uživatelů, na jakém hardware %1 instalují a (s posledními dvěma možnostmi níže), získávat průběžné informace o upřednostňovaných aplikacích. Co bude posíláno je možné si zobrazit kliknutím na ikonu nápovědy v každé z oblastí. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Výběrem tohoto pošlete informace o své instalaci a hardware. Tyto údaje budou poslány <b>pouze jednorázově</b> po dokončení instalace. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Výběrem tohoto budete <b>pravidelně</b> posílat informace o své instalaci, hardware a aplikacích do %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Výběrem tohoto budete <b>pravidelně</b> posílat informace o své instalaci, hardware, aplikacích a způsobu využití do %1. + + + + TrackingViewStep + + + Feedback + Zpětná vazba + + UsersPage diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 344623103..5b0ee55a5 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -123,12 +123,12 @@ Kører kommando %1 %2 - + External command crashed Ekstern kommando holdt op med at virke - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Start af ekstern kommando mislykkedes - + Command %1 failed to start. Start af kommando %1 mislykkedes. - + Internal error when starting command Intern fejl ved start af kommando - + Bad parameters for process job call. Ugyldige parametre til kald af procesjob. - + External command failed to finish Ekstern kommando kunne ikke færdiggøres - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Ekstern kommando blev færdiggjort med fejl - + Command %1 finished with exit code %2. Output: %3 @@ -277,7 +277,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - %1-installationsprogrammet er ved at lave ændringer til din disk for at installere %2. <br/><strong>Det vil ikke være muligt at fortryde disse ændringer.</strong> + %1-installationsprogrammet er ved at foretage ændringer til din disk for at installere %2. <br/><strong>Det vil ikke være muligt at fortryde disse ændringer.</strong> @@ -313,22 +313,22 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. CalamaresPython::Helper - + Unknown exception type Ukendt undtagelsestype - + unparseable Python error Python-fejl som ikke kan fortolkes - + unparseable Python traceback Python-traceback som ikke kan fortolkes - + Unfetchable Python error. Python-fejl som ikke kan hentes. @@ -455,7 +455,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - <strong>Slet disk</strong><br/>Dette vil <font color="red">slette</font> alt data der er på den valgte lagerenhed. + <strong>Slet disk</strong><br/>Dette vil <font color="red">slette</font> alt data på den valgte lagerenhed. @@ -530,6 +530,14 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Rydder alle midlertidige monteringspunkter. + + ContextualProcessJob + + + Contextual Processes Job + Kontekstuelle processors-job + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. InteractiveTerminalPage - - - + Konsole not installed Konsole er ikke installeret - - - - Please install the kde konsole and try again! - Installér venligst kde-konsolen og prøv igen! + + Please install KDE Konsole and try again! + Installér venligst KDE Konsole og prøv igen! - + Executing script: &nbsp;<code>%1</code> Eksekverer skript: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Beskrivelse - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netværksinstallation. (Deaktiveret: Kunne ikke hente pakkelister, tjek din netværksforbindelse) - + Network Installation. (Disabled: Received invalid groups data) Netværksinstallation. (Deaktiveret: Modtog ugyldige gruppers data) @@ -1631,6 +1635,46 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.En separat bootpartition blev opsat sammen med en krypteret rodpartition, men bootpartitionen er ikke krypteret.<br/><br/>Der er sikkerhedsmæssige bekymringer med denne type opsætning, da vigtige systemfiler er gemt på en ikke-krypteret partition.<br/>Du kan fortsætte hvis du vil, men oplåsning af filsystemet sker senere under systemets opstart.<br/>For at kryptere bootpartitionen skal du gå tilbage og oprette den igen, vælge <strong>Kryptér</strong> i partitionsoprettelsesvinduet. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Plasma udseende og fremtoning-job + + + + + Could not select KDE Plasma Look-and-Feel package + Kunne ikke vælge KDE Plasma udseende og fremtoning-pakke + + + + PlasmaLnfPage + + + Form + Formular + + + + Placeholder + Pladsholder + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Vælg venligst et udseende og fremtoning til KDE Plasma-skrivebordet. Du kan også springe dette trin over og konfigurere udseendet og fremtoningen når systemet er installeret. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Udseende og fremtoning + + QObject @@ -1806,22 +1850,22 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. ResizePartitionJob - + Resize partition %1. Ændr størrelse på partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Ændr størrelse af <strong>%2 MB</strong> partition <strong>%1</strong> til <strong>%3 MB</strong>. - + Resizing %2MB partition %1 to %3MB. Ændrer nu størrelsen af %2 MB partition %1 til %3 MB. - + The installer failed to resize partition %1 on disk '%2'. Installationsprogrammet kunne ikke ændre størrelse på partition %1 på disk '%2'. @@ -1902,77 +1946,77 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. SetPartFlagsJob - + Set flags on partition %1. Sæt flag på partition %1. - + Set flags on %1MB %2 partition. Sæt flag på %1 MB %2 partition. - + Set flags on new partition. Sæt flag på ny partition. - + Clear flags on partition <strong>%1</strong>. Ryd flag på partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Ryd flag på %1 MB <strong>%2</strong> partition. - + Clear flags on new partition. Ryd flag på ny partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Flag partition <strong>%1</strong> som <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Flag %1 MB <strong>%2</strong> partition som <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Flag ny partition som <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Rydder flag på partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Rydder flag på %1 MB <strong>%2</strong> partition. - + Clearing flags on new partition. Rydder flag på ny partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Sætter flag <strong>%2</strong> på partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Sætter flag <strong>%3</strong> på %1 MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. Sætter flag <strong>%1</strong> på ny partition. @@ -1981,21 +2025,6 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.The installer failed to set flags on partition %1. Installationsprogrammet kunne ikke sætte flag på partition %1. - - - Could not open device '%1'. - Kunne ikke åbne enhed '%1'. - - - - Could not open partition table on device '%1'. - Kunne ikke åbne partitionstabel på enhed '%1'. - - - - Could not find partition '%1'. - Kunne ikke finde partition '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Opsummering + + TrackingInstallJob + + + Installation feedback + Installationsfeedback + + + + Sending installation feedback. + Sender installationsfeedback + + + + Internal error in install-tracking. + Intern fejl i installationssporing. + + + + HTTP request timed out. + HTTP-anmodning fik timeout. + + + + TrackingMachineNeonJob + + + Machine feedback + Maskinfeedback + + + + Configuring machine feedback. + Konfigurer maskinfeedback. + + + + + Error in machine feedback configuration. + Fejl i maskinfeedback-konfiguration. + + + + Could not configure machine feedback correctly, script error %1. + Kunne ikke konfigurere maskinfeedback korrekt, script-fejl %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Kunne ikke konfigurere maskinfeedback korrekt, Calamares-fejl %1. + + + + TrackingPage + + + Form + Formular + + + + Placeholder + Pladsholder + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Vælges dette sender du <span style=" font-weight:600;">slet ikke nogen information</span> om din installation.</p></body></html> + + + + + + TextLabel + Tekstetiket + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Klik her for mere information om brugerfeedback</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Installationssporing hjælper %1 til at se hvor mange brugere de har, hvilket hardware de installere %1 på og (med de sidste to valgmuligheder nedenfor), hente information om fortrukne programmer løbende. Klik venligst på hjælp-ikonet ved siden af hvert område, for at se hvad der vil blive sendt. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Vælges dette sender du information om din installation og hardware. Informationen vil <b>første blive sendt</b> efter installationen er færdig. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Vælges dette sender du <b>periodisk</b> information om din installation, hardware og programmer, til %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Vælges dette sender du <b>regelmæssigt</b> information om din installation, hardware, programmer og anvendelsesmønstre, til %1. + + + + TrackingViewStep + + + Feedback + Feedback + + UsersPage diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index a5e221dfe..50b1054ec 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -123,12 +123,12 @@ Befehl %1 %2 wird ausgeführt - + External command crashed Ausführung des externen Befehls gescheitert - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Ausgabe: %2 - + External command failed to start Externer Befehl konnte nicht gestartet werden - + Command %1 failed to start. Befehl %1 konnte nicht gestartet werden - + Internal error when starting command Interner Fehler beim Ausführen des Befehls - + Bad parameters for process job call. Ungültige Parameter für Prozessaufruf. - + External command failed to finish Externer Befehl konnte nicht abgeschlossen werden - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Ausgabe: %3 - + External command finished with errors Externer Befehl schloss mit Fehlern ab - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. CalamaresPython::Helper - + Unknown exception type Unbekannter Ausnahmefehler - + unparseable Python error Nicht analysierbarer Python-Fehler - + unparseable Python traceback Nicht analysierbarer Python-Traceback - + Unfetchable Python error. Nicht zuzuordnender Python-Fehler @@ -530,6 +530,14 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Alle temporären Mount-Points geleert. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. InteractiveTerminalPage - - - + Konsole not installed Konsole nicht installiert - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! Bitte installieren Sie das KDE-Programm namens Konsole und probieren Sie es erneut! - + Executing script: &nbsp;<code>%1</code> Führe Skript aus: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Beschreibung - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netzwerk-Installation. (Deaktiviert: Paketlisten nicht erreichbar, prüfe deine Netzwerk-Verbindung) - + Network Installation. (Disabled: Received invalid groups data) Netwerk-Installation. (Deaktiviert: Ungültige Gruppen-Daten eingegeben) @@ -1631,6 +1635,46 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Eine separate Bootpartition wurde zusammen mit einer verschlüsselten Rootpartition erstellt, die Bootpartition ist aber unverschlüsselt.<br/><br/> Dies ist sicherheitstechnisch nicht optimal, da wichtige Systemdateien auf der unverschlüsselten Bootpartition gespeichert werden.<br/>Wenn Sie wollen, können Sie fortfahren, aber das Entschlüsseln des Dateisystems wird erst später während des Systemstarts erfolgen.<br/>Um die Bootpartition zu verschlüsseln, gehen Sie zurück und erstellen Sie diese neu, indem Sie bei der Partitionierung <strong>Verschlüsseln</strong> wählen. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formular + + + + Placeholder + Platzhalter + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. ResizePartitionJob - + Resize partition %1. Ändere die Grösse von Partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Partition <strong>%1</strong> von <strong>%2MB</strong> auf <strong>%3MB</strong> vergrößern. - + Resizing %2MB partition %1 to %3MB. Ändere die Größe der Partition %1 von %2MB auf %3MB. - + The installer failed to resize partition %1 on disk '%2'. Das Installationsprogramm konnte die Grösse von Partition %1 auf Datenträger '%2' nicht ändern. @@ -1902,77 +1946,77 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. SetPartFlagsJob - + Set flags on partition %1. Setze Markierungen für Partition %1. - + Set flags on %1MB %2 partition. Setze Markierungen für %1MB %2 Partition. - + Set flags on new partition. Setze Markierungen für neue Partition. - + Clear flags on partition <strong>%1</strong>. Markierungen für Partition <strong>%1</strong> entfernen. - + Clear flags on %1MB <strong>%2</strong> partition. Markierungen für %1MB <strong>%2</strong> Partition entfernen. - + Clear flags on new partition. Markierungen für neue Partition entfernen. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Partition markieren <strong>%1</strong> als <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Markiere %1MB <strong>%2</strong> Partition als <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Markiere neue Partition als <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Lösche Markierungen für Partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Lösche Markierungen für %1MB <strong>%2</strong> Partition. - + Clearing flags on new partition. Lösche Markierungen für neue Partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Setze Markierungen <strong>%2</strong> für Partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Setze Markierungen <strong>%3</strong> für %1MB <strong>%2</strong> Partition. - + Setting flags <strong>%1</strong> on new partition. Setze Markierungen <strong>%1</strong> für neue Partition. @@ -1981,21 +2025,6 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. The installer failed to set flags on partition %1. Das Installationsprogramm konnte keine Markierungen für Partition %1 setzen. - - - Could not open device '%1'. - Gerät '%1' konnte nicht geöffnet werden. - - - - Could not open partition table on device '%1'. - Partitionstabelle auf Gerät '%1' konnte nicht geöffnet werden. - - - - Could not find partition '%1'. - Partition '%1' konnte nicht gefunden werden. - SetPasswordJob @@ -2094,6 +2123,123 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Zusammenfassung + + TrackingInstallJob + + + Installation feedback + Installationsrückmeldung + + + + Sending installation feedback. + Senden der Installationsrückmeldung + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formular + + + + Placeholder + Platzhalter + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + Text Label + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Wenn Sie diese Option auswählen, senden Sie Informationen zu Ihrer Installation und Hardware. Diese Informationen werden nur einmal nach Abschluss der Installation gesendet. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Wenn Sie dies auswählen, senden Sie regelmäßig Informationen zu Ihrer Installation, Hardware und Anwendungen an %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Wenn Sie dies auswählen, senden Sie regelmäßig Informationen über Ihre Installation, Hardware, Anwendungen und Nutzungsmuster an %1. + + + + TrackingViewStep + + + Feedback + Feedback + + UsersPage diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index 7f3251b96..7060fa5ef 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -123,12 +123,12 @@ Εκτελείται η εντολή %1 %2 - + External command crashed Η εξωτερική εντολή κατέρρευσε - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Η εξωτερική εντολή απέτυχε να ξεκινήσει - + Command %1 failed to start. Η εντολή %1 απέτυχε να εκκινήσει. - + Internal error when starting command Εσωτερικό σφάλμα κατά την εκκίνηση της εντολής - + Bad parameters for process job call. Λανθασμένοι παράμετροι για την κλήση διεργασίας. - + External command failed to finish Η εξωτερική εντολή απέτυχε να τελειώσει - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Η εξωτερική εντολή ολοκληρώθηκε με σφάλματα - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Άγνωστος τύπος εξαίρεσης - + unparseable Python error Μη αναγνώσιμο σφάλμα Python - + unparseable Python traceback Μη αναγνώσιμη ανίχνευση Python - + Unfetchable Python error. Μη ανακτήσιµο σφάλμα Python. @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. Καθαρίστηκαν όλες οι προσωρινές προσαρτήσεις. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed Το Konsole δεν είναι εγκατεστημένο - - - - Please install the kde konsole and try again! - Παρακαλώ εγκαταστήστε το kde konsole και δοκιμάστε ξανά! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Εκτελείται το σενάριο: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ The installer will quit and all changes will be lost. Περιγραφή - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Τύπος + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. Αλλαγή μεγέθους κατάτμησης %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Αλλαγή μεγέθους κατάτμησης <strong>%1</strong> από <strong>%2MB</strong> σε <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Αλλαγή μεγέθους κατάτμησης %1 από %2MB σε %3MB. - + The installer failed to resize partition %1 on disk '%2'. Η εγκατάσταση απέτυχε να αλλάξει το μέγεθος της κατάτμησης %1 στον δίσκο '%2'. @@ -1902,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. Ο εγκαταστάτης απέτυχε να θέσει τις σημαίες στο διαμέρισμα %1. - - - Could not open device '%1'. - Δεν είναι δυνατό το άνοιγμα της συσκευής '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - Δεν μπόρεσε να βρει το διαμέρισμα '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ The installer will quit and all changes will be lost. Σύνοψη + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Τύπος + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index c608b7a51..05166e407 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1,6 +1,4 @@ - - - + BootInfoWidget @@ -125,12 +123,12 @@ Running command %1 %2 - + External command crashed External command crashed - + Command %1 crashed. Output: %2 @@ -139,32 +137,32 @@ Output: %2 - + External command failed to start External command failed to start - + Command %1 failed to start. Command %1 failed to start. - + Internal error when starting command Internal error when starting command - + Bad parameters for process job call. Bad parameters for process job call. - + External command failed to finish External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 @@ -173,12 +171,12 @@ Output: %3 - + External command finished with errors External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -315,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Unknown exception type - + unparseable Python error unparseable Python error - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Unfetchable Python error. @@ -532,6 +530,14 @@ The installer will quit and all changes will be lost. Cleared all temporary mounts. + + ContextualProcessJob + + + Contextual Processes Job + Contextual Processes Job + + CreatePartitionDialog @@ -1095,7 +1101,7 @@ The installer will quit and all changes will be lost. Please install KDE Konsole and try again! - + Please install KDE Konsole and try again! @@ -1629,6 +1635,46 @@ The installer will quit and all changes will be lost. A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Plasma Look-and-Feel Job + + + + + Could not select KDE Plasma Look-and-Feel package + Could not select KDE Plasma Look-and-Feel package + + + + PlasmaLnfPage + + + Form + Form + + + + Placeholder + Placeholder + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Look-and-Feel + + QObject @@ -1804,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. The installer failed to resize partition %1 on disk '%2'. @@ -1900,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. Set flags on partition %1. - + Set flags on %1MB %2 partition. Set flags on %1MB %2 partition. - + Set flags on new partition. Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. Setting flags <strong>%1</strong> on new partition. @@ -1979,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Could not open device '%1'. - - - - Could not open partition table on device '%1'. - Could not open partition table on device '%1'. - - - - Could not find partition '%1'. - Could not find partition '%1'. - SetPasswordJob @@ -2097,22 +2128,22 @@ The installer will quit and all changes will be lost. Installation feedback - + Installation feedback Sending installation feedback. - + Sending installation feedback. Internal error in install-tracking. - + Internal error in install-tracking. HTTP request timed out. - + HTTP request timed out. @@ -2120,28 +2151,28 @@ The installer will quit and all changes will be lost. Machine feedback - + Machine feedback Configuring machine feedback. - + Configuring machine feedback. Error in machine feedback configuration. - + Error in machine feedback configuration. Could not configure machine feedback correctly, script error %1. - + Could not configure machine feedback correctly, script error %1. Could not configure machine feedback correctly, Calamares error %1. - + Could not configure machine feedback correctly, Calamares error %1. @@ -2149,56 +2180,56 @@ The installer will quit and all changes will be lost. Form - Form + Form Placeholder - + Placeholder <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> - + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> TextLabel - + TextLabel ... - + ... <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> - + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. - + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. - + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. @@ -2206,7 +2237,7 @@ The installer will quit and all changes will be lost. Feedback - + Feedback @@ -2327,4 +2358,4 @@ The installer will quit and all changes will be lost. Welcome - + \ No newline at end of file diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index 6553b8805..45639451b 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -123,12 +123,12 @@ - + External command crashed External command crashed - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start External command failed to start - + Command %1 failed to start. Command %1 failed to start. - + Internal error when starting command Internal error when starting command - + Bad parameters for process job call. Bad parameters for process job call. - + External command failed to finish External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Unknown exception type - + unparseable Python error unparseable Python error - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Unfetchable Python error. @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. Cleared all temporary mounts. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Form + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. The installer failed to resize partition %1 on disk '%2'. @@ -1902,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Could not open device '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ The installer will quit and all changes will be lost. Summary + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Form + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index 8a1b7255c..77a5eee3a 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -124,12 +124,12 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Ejecutando comando %1 %2 - + External command crashed El comando externo ha fallado - + Command %1 crashed. Output: %2 @@ -138,32 +138,32 @@ Output: Salida: %2 - + External command failed to start El comando externo no ha podido iniciarse - + Command %1 failed to start. El comando %1 no se pudo iniciar. - + Internal error when starting command Error interno al iniciar el comando - + Bad parameters for process job call. Parámetros erróneos para el trabajo en proceso. - + External command failed to finish El comando externo falló al finalizar - + Command %1 failed to finish in %2s. Output: %3 @@ -172,12 +172,12 @@ Salida: %3 - + External command finished with errors El comando externo finalizó con errores - + Command %1 finished with exit code %2. Output: %3 @@ -314,22 +314,22 @@ Saldrá del instalador y se perderán todos los cambios. CalamaresPython::Helper - + Unknown exception type Excepción desconocida - + unparseable Python error error unparseable Python - + unparseable Python traceback rastreo de Python unparseable - + Unfetchable Python error. Error de Python Unfetchable. @@ -531,6 +531,14 @@ Saldrá del instalador y se perderán todos los cambios. Limpiado todos los puntos de montaje temporales. + + ContextualProcessJob + + + Contextual Processes Job + Tarea Contextual Processes + + CreatePartitionDialog @@ -1087,21 +1095,17 @@ Saldrá del instalador y se perderán todos los cambios. InteractiveTerminalPage - - - + Konsole not installed Konsole no está instalada - - - - Please install the kde konsole and try again! - Por favor, instale Konsole kde y vuelva a intentarlo! + + Please install KDE Konsole and try again! + ¡Por favor, instale KDE Konsole e inténtelo de nuevo! - + Executing script: &nbsp;<code>%1</code> Ejecutando script: &nbsp;<code>%1</code> @@ -1302,12 +1306,12 @@ Saldrá del instalador y se perderán todos los cambios. Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalación a través de la Red. (Desactivada: no se ha podido obtener una lista de paquetes, comprueba tu conexión a la red) - + Network Installation. (Disabled: Received invalid groups data) Instalación de red. (Deshabilitada: Se recibieron grupos de datos no válidos) @@ -1632,6 +1636,46 @@ Saldrá del instalador y se perderán todos los cambios. Se estableció una partición de arranque aparte junto con una partición raíz cifrada, pero la partición de arranque no está cifrada.<br/><br/>Hay consideraciones de seguridad con esta clase de instalación, porque los ficheros de sistema importantes se mantienen en una partición no cifrada.<br/>Puede continuar si lo desea, pero el desbloqueo del sistema de ficheros ocurrirá más tarde durante el arranque del sistema.<br/>Para cifrar la partición de arranque, retroceda y vuelva a crearla, seleccionando <strong>Cifrar</strong> en la ventana de creación de la partición. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Tarea Plasma Look-and-Feel + + + + + Could not select KDE Plasma Look-and-Feel package + No se pudo seleccionar el paquete Plasma Look-and-Feel de KDE + + + + PlasmaLnfPage + + + Form + Formulario + + + + Placeholder + Indicador de posición + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Por favor, escoja una apariencia para el escritorio KDE Plasma. También puede omitir este paso y configurar la apariencia una vez el sistema esté instalado. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Apariencia + + QObject @@ -1807,22 +1851,22 @@ Saldrá del instalador y se perderán todos los cambios. ResizePartitionJob - + Resize partition %1. Redimensionar partición %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensionar <strong>%2MB</strong> partición <strong>%1</strong> a <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Redimensionando %2MB %1 a %3MB. - + The installer failed to resize partition %1 on disk '%2'. El instalador ha fallado a la hora de reducir la partición %1 en el disco '%2'. @@ -1903,77 +1947,77 @@ Saldrá del instalador y se perderán todos los cambios. SetPartFlagsJob - + Set flags on partition %1. Establecer indicadores en la partición %1. - + Set flags on %1MB %2 partition. Establecer indicadores en la partición de %1 MB %2. - + Set flags on new partition. Establecer indicadores en una nueva partición. - + Clear flags on partition <strong>%1</strong>. Limpiar indicadores en la partición <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Limpiar indicadores en la partición de %1 MB <strong>%2</strong>. - + Clear flags on new partition. Limpiar indicadores en la nueva partición. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Indicar partición <strong>%1</strong> como <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Indicar partición de %1 MB <strong>%2</strong> como <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Indicar nueva partición como <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Limpiando indicadores en la partición <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Limpiando indicadores en la partición de %1 MB <strong>%2</strong>. - + Clearing flags on new partition. Limpiando indicadores en la nueva partición. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Estableciendo indicadores <strong>%2</strong> en la partición <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Establecinedo indicadores <strong>%3</strong> en la partición de %1 MB <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. Estableciendo indicadores <strong>%1</strong> en una nueva partición. @@ -1982,21 +2026,6 @@ Saldrá del instalador y se perderán todos los cambios. The installer failed to set flags on partition %1. El instalador no pudo establecer indicadores en la partición %1. - - - Could not open device '%1'. - No se pudo abrir el dispositivo '%1'. - - - - Could not open partition table on device '%1'. - No se pudo abrir la tabla de particiones en el dispositivo '%1'. - - - - Could not find partition '%1'. - No se pudo encontrar la partición '%1'. - SetPasswordJob @@ -2095,6 +2124,123 @@ Saldrá del instalador y se perderán todos los cambios. Resumen + + TrackingInstallJob + + + Installation feedback + Respuesta de la instalación + + + + Sending installation feedback. + Enviar respuesta de la instalación + + + + Internal error in install-tracking. + Error interno en el seguimiento-de-instalación. + + + + HTTP request timed out. + La petición HTTP agotó el tiempo de espera. + + + + TrackingMachineNeonJob + + + Machine feedback + Respuesta de la máquina + + + + Configuring machine feedback. + Configurando respuesta de la máquina. + + + + + Error in machine feedback configuration. + Error en la configuración de la respuesta de la máquina. + + + + Could not configure machine feedback correctly, script error %1. + No se pudo configurar correctamente la respuesta de la máquina, error de script %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + No se pudo configurar correctamente la respuesta de la máquina, error de Calamares %1. + + + + TrackingPage + + + Form + Formulario + + + + Placeholder + Indicador de posición + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Al seleccionar esto, no enviará <span style=" font-weight:600;">información en absoluto</span> acerca de su instalación.</p></body></html> + + + + + + TextLabel + Etiqueta de texto + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Pulse aquí para más información acerca de la respuesta del usuario</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + El seguimiento de instalación ayuda a %1 a ver cuántos usuarios tiene, en qué hardware se instala %1, y (con las últimas dos opciones de debajo) a obtener información continua acerca de las aplicaciones preferidas. Para ver lo que se enviará, por favor, pulse en el icono de ayuda junto a cada área. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Al seleccionar esto enviará información acerca de su instalación y hardware. Esta información <b>sólo se enviará una vez</b> después de que finalice la instalación. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Al seleccionar esto enviará información <b>periódicamente</b> acerca de su instalación, hardware y aplicaciones, a %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Al seleccionar esto enviará información <b>regularmente</b> acerca de su instalación, hardware, aplicaciones y patrones de uso, a %1. + + + + TrackingViewStep + + + Feedback + Respuesta + + UsersPage diff --git a/lang/calamares_es_ES.ts b/lang/calamares_es_ES.ts index 30a6d4e63..c6d4a5622 100644 --- a/lang/calamares_es_ES.ts +++ b/lang/calamares_es_ES.ts @@ -123,12 +123,12 @@ - + External command crashed Ha fallado el comando externo - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Salida: %2 - + External command failed to start El comando externo no ha podido iniciar - + Command %1 failed to start. El comando %1 no se puede iniciar. - + Internal error when starting command Error interno al arrancar el comando - + Bad parameters for process job call. Parámetros erróneos en la llamada al proceso. - + External command failed to finish El comando externo no ha podido finalizar - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Salida: %3 - + External command finished with errors El comando externo ha finalizado con errores - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ El instalador se cerrará y se perderán todos los cambios. CalamaresPython::Helper - + Unknown exception type Tipo de excepción desconocida - + unparseable Python error Error de Python no analizable - + unparseable Python traceback Rastreo de Python no analizable - + Unfetchable Python error. Error de Python no alcanzable. @@ -530,6 +530,14 @@ El instalador se cerrará y se perderán todos los cambios. Se han quitado todos los puntos de montaje temporales. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ El instalador se cerrará y se perderán todos los cambios. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ El instalador se cerrará y se perderán todos los cambios. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ El instalador se cerrará y se perderán todos los cambios. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formulario + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ El instalador se cerrará y se perderán todos los cambios. ResizePartitionJob - + Resize partition %1. Redimensionar partición %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensionar las partición <strong>%1</strong> de <strong>%2MB</strong> a <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. El instalador no ha podido redimensionar la partición %1 del disco '%2'. @@ -1902,77 +1946,77 @@ El instalador se cerrará y se perderán todos los cambios. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ El instalador se cerrará y se perderán todos los cambios. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - No se puede abrir el dispositivo '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ El instalador se cerrará y se perderán todos los cambios. Resumen + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formulario + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index 3999b81a4..4e6ab37c7 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -123,12 +123,12 @@ Ejecutando comando %1 %2 - + External command crashed Ha fallado el comando externo - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Salida: %2 - + External command failed to start El comando externo no ha podido iniciar - + Command %1 failed to start. El comando %1 no ha podido iniciar. - + Internal error when starting command Error interno al iniciar comando - + Bad parameters for process job call. Parámetros erróneos en la llamada al proceso. - + External command failed to finish Comando externo no ha podido finalizar - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Salida: %3 - + External command finished with errors El comando externo ha finalizado con errores. - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ El instalador terminará y se perderán todos los cambios. CalamaresPython::Helper - + Unknown exception type Excepción desconocida - + unparseable Python error error no analizable Python - + unparseable Python traceback rastreo de Python no analizable - + Unfetchable Python error. Error de Python Unfetchable. @@ -533,6 +533,14 @@ El instalador terminará y se perderán todos los cambios. Se han quitado todos los puntos de montaje temporales. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1089,21 +1097,17 @@ El instalador terminará y se perderán todos los cambios. InteractiveTerminalPage - - - + Konsole not installed Konsole no instalado - - - - Please install the kde konsole and try again! - Por favor instale kde konsole e intente de nuevo! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Ejecutando script: &nbsp;<code>%1</code> @@ -1304,12 +1308,12 @@ El instalador terminará y se perderán todos los cambios. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1634,6 +1638,46 @@ El instalador terminará y se perderán todos los cambios. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formulario + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1810,22 +1854,22 @@ El instalador terminará y se perderán todos los cambios. ResizePartitionJob - + Resize partition %1. Redimensionar partición %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensionar la partición <strong>%1</strong> de <strong>%2MB</strong> a <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Redimensionando partición %1 de %2MB a %3MB. - + The installer failed to resize partition %1 on disk '%2'. El instalador ha fallado al reducir la partición %1 en el disco '%2'. @@ -1906,77 +1950,77 @@ El instalador terminará y se perderán todos los cambios. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1985,21 +2029,6 @@ El instalador terminará y se perderán todos los cambios. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - No se puede abrir el dispositivo '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2098,6 +2127,123 @@ El instalador terminará y se perderán todos los cambios. Resumen + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formulario + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index 58cd56734..12c8d957d 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -123,12 +123,12 @@ - + External command crashed Un comando externo falló. - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Salida: %2 - + External command failed to start Un comando externo falló al arrancar. - + Command %1 failed to start. El comando %1 falló al arrancar. - + Internal error when starting command Error interno al iniciar el comando - + Bad parameters for process job call. Parámetros erróneos para el trabajo en proceso. - + External command failed to finish Comando externo no pudo terminar. - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Salida: %3 - + External command finished with errors Comando externo finalizó con errores - + Command %1 finished with exit code %2. Output: %3 @@ -312,22 +312,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -529,6 +529,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1085,21 +1093,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1300,12 +1304,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1630,6 +1634,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formulario + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1805,22 +1849,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1901,77 +1945,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1980,21 +2024,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2093,6 +2122,123 @@ The installer will quit and all changes will be lost. Resumen + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formulario + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index 32ee100c8..632e8205c 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. Kokkuvõte + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 5888b6dab..486add251 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -123,12 +123,12 @@ %1 %2 komandoa exekutatzen - + External command crashed Kanpo-komandoak huts egin du - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Irteera: %2 - + External command failed to start - + Command %1 failed to start. Ezin izan da %1 komandoa abiarazi. - + Internal error when starting command Barne-akatsa komandoa hasterakoan - + Bad parameters for process job call. - + External command failed to finish Kanpo-komandoa ez da bukatu - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Irteera: %3 - + External command finished with errors Kanpo-komandoak akatsekin bukatu da - + Command %1 finished with exit code %2. Output: %3 @@ -310,22 +310,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -527,6 +527,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1083,21 +1091,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed Konsole ez dago instalatuta - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1298,12 +1302,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1628,6 +1632,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1803,22 +1847,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1899,77 +1943,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1978,21 +2022,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2091,6 +2120,123 @@ The installer will quit and all changes will be lost. Laburpena + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index 156a8b501..0676de2ff 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 62ca563c8..1cfcb234c 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -65,7 +65,7 @@ Modules - + Moduulit @@ -81,12 +81,12 @@ Interface: - + Käyttöliittymä: Tools - + Työkalut @@ -115,20 +115,20 @@ Run command %1 %2 - + Suorita komento %1 %2 Running command %1 %2 - + Suoritetaan komentoa %1 %2 - + External command crashed Ulkoinen komento kaatui - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Tuloste: %2 - + External command failed to start Ulkoisen komennon käynnistys epäonnistui - + Command %1 failed to start. Komennon %1 käynnistys epäonnistui. - + Internal error when starting command Sisäinen virhe suoritettaessa komentoa - + Bad parameters for process job call. Huonot parametrit prosessin kutsuun. - + External command failed to finish Ulkoista komentoa ei voitu ajaa loppuun - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Tuloste: %3 - + External command finished with errors Ulkoinen komento päättyi virheeseen - + Command %1 finished with exit code %2. Output: %3 @@ -190,7 +190,7 @@ Tuloste: Running %1 operation. - + Suoritetaan %1 toimenpidettä. @@ -257,17 +257,17 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. &Yes - + &Kyllä &No - + &Ei &Close - + &Sulje @@ -282,7 +282,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. &Install now - + &Asenna nyt @@ -292,12 +292,12 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. &Done - + &Valmis The installation is complete. Close the installer. - + Asennus on valmis. Sulje asennusohjelma. @@ -313,22 +313,22 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. CalamaresPython::Helper - + Unknown exception type Tuntematon poikkeustyyppi - + unparseable Python error jäsentämätön Python virhe - + unparseable Python traceback jäsentämätön Python jäljitys - + Unfetchable Python error. Python virhettä ei voitu hakea. @@ -530,6 +530,14 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Poistettu kaikki väliaikaiset liitokset. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Lomake + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. ResizePartitionJob - + Resize partition %1. Muuta osion kokoa %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. Asennusohjelma epäonnistui osion %1 koon muuttamisessa levyllä '%2'. @@ -1902,77 +1946,77 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Ei pystytty avaamaan laitetta '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Yhteenveto + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Lomake + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index 34efac357..60dfd8c53 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -4,7 +4,7 @@ The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - L'<strong>environnement de démarrage</strong> de ce système.<br><br>Les anciens systèmes x86 supportent uniquement le <strong>BIOS</strong>.<br>Les systèmes récents utilisent habituellement <strong>EFI</strong>, mais peuvent également exposer BIOS si démarré en mode de compatibilité. + L'<strong>environnement de démarrage</strong> de ce système.<br><br>Les anciens systèmes x86 supportent uniquement le <strong>BIOS</strong>.<br>Les systèmes récents utilisent habituellement <strong>EFI</strong>, mais peuvent également afficher BIOS s'ils sont démarrés en mode de compatibilité. @@ -123,12 +123,12 @@ Exécution de la commande %1 %2 - + External command crashed La commande externe a échoué - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Sortie : %2 - + External command failed to start La commande externe n'a pas pu être lancée. - + Command %1 failed to start. La commande %1 n'a pas pu être lancée. - + Internal error when starting command Erreur interne au lancement de la commande - + Bad parameters for process job call. Mauvais paramètres pour l'appel au processus de job. - + External command failed to finish La commande externe ne s'est pas terminée. - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Sortie : %3 - + External command finished with errors La commande externe s'est terminée avec des erreurs - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ L'installateur se fermera et les changements seront perdus. CalamaresPython::Helper - + Unknown exception type Type d'exception inconnue - + unparseable Python error Erreur Python non analysable - + unparseable Python traceback Traçage Python non exploitable - + Unfetchable Python error. Erreur Python non rapportable. @@ -530,6 +530,14 @@ L'installateur se fermera et les changements seront perdus. Supprimer les montages temporaires. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ L'installateur se fermera et les changements seront perdus. InteractiveTerminalPage - - - + Konsole not installed Konsole n'a pas été installé - - - - Please install the kde konsole and try again! - Merci d'installer Konsole et de réessayer ! + + Please install KDE Konsole and try again! + Veuillez installer KDE Konsole et réessayer! - + Executing script: &nbsp;<code>%1</code> Exécution en cours du script : &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ L'installateur se fermera et les changements seront perdus. Description - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installation par le réseau (Désactivée : impossible de récupérer leslistes de paquets, vérifiez la connexion réseau) - + Network Installation. (Disabled: Received invalid groups data) Installation par le réseau. (Désactivée : données de groupes reçues invalides) @@ -1631,6 +1635,46 @@ L'installateur se fermera et les changements seront perdus. Une partition d'amorçage distincte a été configurée avec une partition racine chiffrée, mais la partition d'amorçage n'est pas chiffrée. <br/> <br/> Il y a des problèmes de sécurité avec ce type d'installation, car des fichiers système importants sont conservés sur une partition non chiffrée <br/> Vous pouvez continuer si vous le souhaitez, mais le déverrouillage du système de fichiers se produira plus tard au démarrage du système. <br/> Pour chiffrer la partition d'amorçage, revenez en arrière et recréez-la, en sélectionnant <strong> Chiffrer </ strong> dans la partition Fenêtre de création. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Traitement de l'apparence de Plasma + + + + + Could not select KDE Plasma Look-and-Feel package + Impossible de sélectionner le paquet Apparence de KDE Plasma + + + + PlasmaLnfPage + + + Form + Formulaire + + + + Placeholder + Emplacement + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Merci de choisir l'apparence du bureau KDE Plasma. Vous pouvez aussi passer cette étape et configurer l'apparence une fois le système installé. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Apparence + + QObject @@ -1806,22 +1850,22 @@ L'installateur se fermera et les changements seront perdus. ResizePartitionJob - + Resize partition %1. Redimensionner la partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimentionner la partition <strong>%1</strong> de <strong>%2MB</strong> à <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Redimensionnement de la partition %1 de %2Mo à %3Mo. - + The installer failed to resize partition %1 on disk '%2'. Le programme d'installation n'a pas pu redimensionner la partition %1 sur le disque '%2'. @@ -1902,77 +1946,77 @@ L'installateur se fermera et les changements seront perdus. SetPartFlagsJob - + Set flags on partition %1. Configurer les drapeaux sur la partition %1. - + Set flags on %1MB %2 partition. Configurer les drapeaux sur la partition %2 de %1Mo. - + Set flags on new partition. Configurer les drapeaux sur la nouvelle partition. - + Clear flags on partition <strong>%1</strong>. Réinitialisez les drapeaux sur la partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Réinitialisez les drapeaux sur la partition <strong>%2</strong> de %1Mo. - + Clear flags on new partition. Réinitialisez les drapeaux sur la nouvelle partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Marquer la partition <strong>%1</strong> comme <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Marquer la partition <strong>%2</strong> de %1Mo comme <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Marquer la nouvelle partition comme <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Réinitialisation des drapeaux pour la partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Réinitialisez les drapeaux sur la partition <strong>%2</strong> de %1Mo. - + Clearing flags on new partition. Réinitialisez les drapeaux sur la nouvelle partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Configuration des drapeaux <strong>%2</strong> pour la partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Configuration des drapeaux <strong>%3</strong> pour la partition <strong>%2</strong> de %1Mo. - + Setting flags <strong>%1</strong> on new partition. Configuration des drapeaux <strong>%1</strong> pour la nouvelle partition. @@ -1981,21 +2025,6 @@ L'installateur se fermera et les changements seront perdus. The installer failed to set flags on partition %1. L'installateur n'a pas pu activer les drapeaux sur la partition %1. - - - Could not open device '%1'. - Impossible d'ouvrir le périphérique '%1'. - - - - Could not open partition table on device '%1'. - Impossible de lire la table de partitions sur le périphérique '%1'. - - - - Could not find partition '%1'. - Impossible de trouver la partition '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ L'installateur se fermera et les changements seront perdus. Résumé + + TrackingInstallJob + + + Installation feedback + Rapport d'installation + + + + Sending installation feedback. + Envoi en cours du rapport d'installation. + + + + Internal error in install-tracking. + Erreur interne dans le suivi d'installation. + + + + HTTP request timed out. + La requête HTTP a échoué (expiration du délai). + + + + TrackingMachineNeonJob + + + Machine feedback + Rapport de la machine + + + + Configuring machine feedback. + Configuration en cours du rapport de la machine. + + + + + Error in machine feedback configuration. + Erreur dans la configuration du rapport de la machine. + + + + Could not configure machine feedback correctly, script error %1. + Echec pendant la configuration du rapport de machine, erreur de script %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Impossible de mettre en place le rapport d'utilisateurs, erreur %1. + + + + TrackingPage + + + Form + Formulaire + + + + Placeholder + Emplacement + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>En sélectionnant cette option, vous n'enverrez <span style=" font-weight:600;">aucune information</span> sur votre installation.</p></body></html> + + + + + + TextLabel + TextLabel + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><span style=" text-decoration: underline; color:#2980b9;">Cliquez ici pour plus d'informations sur les rapports d'utilisateurs</span><a href="placeholder"><p></p></body> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + L'installation de la surveillance permet à %1 de voir combien d'utilisateurs l'utilise, quelle configuration matérielle %1 utilise, et (avec les 2 dernières options ci-dessous), recevoir une information continue concernant les applications préférées. Pour connaître les informations qui seront envoyées, veuillez cliquer sur l'icône d'aide à côté de chaque zone. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + En sélectionnant cette option, vous enverrez des informations sur votre installation et votre matériel. Cette information ne sera <b>seulement envoyée qu'une fois</b> après la finalisation de l'installation. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + En sélectionnant cette option vous enverrez <b>périodiquement</b> des informations sur votre installation, matériel, et applications, à %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + En sélectionnant cette option vous enverrez <b>régulièrement</b> des informations sur votre installation, matériel, applications, et habitudes d'utilisation, à %1. + + + + TrackingViewStep + + + Feedback + Rapport + + UsersPage diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 1f2a5d241..b5793bbdd 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index 4fc17e787..ddddb93a4 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -124,12 +124,12 @@ Executando a orde %1 %2 - + External command crashed A orde externa tivo un erro - + Command %1 crashed. Output: %2 @@ -138,32 +138,32 @@ Saída: %2 - + External command failed to start Non se puido iniciar a orde externa - + Command %1 failed to start. Non se puido iniciar a orde %1 - + Internal error when starting command Erro interno ao comenzar a orde - + Bad parameters for process job call. Erro nos parámetros ao chamar o traballo - + External command failed to finish A orde externa non se puido rematar - + Command %1 failed to finish in %2s. Output: %3 @@ -172,12 +172,12 @@ Saída: %3 - + External command finished with errors A orde externa rematouse con erros - + Command %1 finished with exit code %2. Output: %3 @@ -314,22 +314,22 @@ O instalador pecharase e perderanse todos os cambios. CalamaresPython::Helper - + Unknown exception type Excepción descoñecida - + unparseable Python error Erro de Python descoñecido - + unparseable Python traceback O rastreo de Python non é analizable. - + Unfetchable Python error. Erro de Python non recuperable @@ -531,6 +531,14 @@ O instalador pecharase e perderanse todos os cambios. Desmontados todos os volumes temporais. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1087,21 +1095,17 @@ O instalador pecharase e perderanse todos os cambios. InteractiveTerminalPage - - - + Konsole not installed Konsole non está instalado - - - - Please install the kde konsole and try again! - Faga o favor de instalar konsole (de kde) e probe de novo! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Executando o script: &nbsp; <code>%1</code> @@ -1302,12 +1306,12 @@ O instalador pecharase e perderanse todos os cambios. Descripción - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installación por rede. (Desactivadas. Non se pudo recupera-la lista de pacotes, comprobe a sua conexión a rede) - + Network Installation. (Disabled: Received invalid groups data) @@ -1632,6 +1636,46 @@ O instalador pecharase e perderanse todos os cambios. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formulario + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1807,22 +1851,22 @@ O instalador pecharase e perderanse todos os cambios. ResizePartitionJob - + Resize partition %1. Redimensionar partición %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensionar <strong>%2MB</strong> partición <strong>%1</strong> a <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Redimensionando %2MB %1 a %3MB. - + The installer failed to resize partition %1 on disk '%2'. O instalador fallou a hora de reducir a partición %1 no disco '%2'. @@ -1903,77 +1947,77 @@ O instalador pecharase e perderanse todos os cambios. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1982,21 +2026,6 @@ O instalador pecharase e perderanse todos os cambios. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Non se pode abrir o dispositivo '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2095,6 +2124,123 @@ O instalador pecharase e perderanse todos os cambios. Resumo + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formulario + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index 20e240392..c4b21b5cc 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index bf74c40cd..504da640b 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -123,12 +123,12 @@ מריץ פקודה %1 %2 - + External command crashed פקודה חיצונית קרסה - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start הרצת פקודה חיצונית כשלה - + Command %1 failed to start. הרצת פקודה %1 כשלה. - + Internal error when starting command שגיאה פנימית בעת התחלת הרצת הפקודה - + Bad parameters for process job call. פרמטרים לא תקינים עבור קריאת עיבוד פעולה. - + External command failed to finish הרצת פקודה חיצונית לא הצליחה להסתיים - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors פקודה חיצונית הסתיימה עם שגיאות - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type טיפוס חריגה אינו מוכר - + unparseable Python error שגיאת Python לא ניתנת לניתוח - + unparseable Python traceback עקבה לאחור של Python לא ניתנת לניתוח - + Unfetchable Python error. שגיאת Python לא ניתנת לאחזור. @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. בוצעה מחיקה של כל נקודות העיגון הזמניות. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed Konsole לא מותקן. - - - - Please install the kde konsole and try again! - אנא התקן את kde konsole ונסה שוב! + + Please install KDE Konsole and try again! + אנא התקן את KDE Konsole ונסה שוב! - + Executing script: &nbsp;<code>%1</code> מריץ תסריט הרצה: &nbsp; <code>%1</code> @@ -1301,12 +1305,12 @@ The installer will quit and all changes will be lost. תיאור - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) התקנת רשת. (מנוטרלת: לא ניתן לאחזר רשימות של חבילות תוכנה, אנא בדוק את חיבורי הרשת) - + Network Installation. (Disabled: Received invalid groups data) התקנה מהרשת. (מנוטרל: התקבל מידע שגוי בנושא הקבוצות) @@ -1631,6 +1635,46 @@ The installer will quit and all changes will be lost. מחיצת טעינה, boot, נפרדת הוגדרה יחד עם מחיצת מערכת ההפעלה, root, מוצפנת, אך מחיצת הטעינה לא הוצפנה.<br/><br/> ישנן השלכות בטיחותיות עם התצורה שהוגדרה, מכיוון שקבצי מערכת חשובים נשמרים על מחיצה לא מוצפנת.<br/>תוכל להמשיך אם תרצה, אך שחרור מערכת הקבצים יתרחש מאוחר יותר כחלק מטעינת המערכת.<br/>בכדי להצפין את מחיצת הטעינה, חזור וצור אותה מחדש, על ידי בחירה ב <strong>הצפן</strong> בחלונית יצירת המחיצה. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Form + + + + Placeholder + שומר מקום + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. שנה גודל מחיצה %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. משנה את מחיצה <strong>%1</strong> מגודל <strong>%2 MB</strong> ל <strong>%3 MB</strong>. - + Resizing %2MB partition %1 to %3MB. משנה את מחיצה %1 מ %2 MB ל %3 MB. - + The installer failed to resize partition %1 on disk '%2'. תהליך ההתקנה נכשל בשינוי גודל המחיצה %1 על כונן '%2'. @@ -1902,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. הגדר סימונים על מחיצה %1. - + Set flags on %1MB %2 partition. הגדר סימונים על מחיצה %2 בגודל %1 MB. - + Set flags on new partition. הגדר סימונים על מחיצה חדשה. - + Clear flags on partition <strong>%1</strong>. מחק סימונים על מחיצה <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. מחק סימונים על מחיצה <strong>%2</strong> בגודל %1 MB. - + Clear flags on new partition. מחק סימונים על המחיצה החדשה. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. סמן מחיצה <strong>%1</strong> כ <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. סמן מחיצה <strong>%2</strong> בגודל %1 MB כ <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. סמן מחיצה חדשה כ <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. מוחק סימונים על מחיצה <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. מוחק סימונים על מחיצה <strong>%2</strong> בגודל %1 MB. - + Clearing flags on new partition. מוחק סימונים על מחיצה חדשה. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. מגדיר סימונים <strong>%2</strong> על מחיצה <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. מגדיר סימונים <strong>%3</strong> על מחיצה <strong>%2</strong> בגודל %1 MB. - + Setting flags <strong>%1</strong> on new partition. מגדיר סימונים <strong>%1</strong> על מחיצה חדשה. @@ -1981,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. תהליך ההתקנה נכשל בעת הצבת סימונים במחיצה %1. - - - Could not open device '%1'. - פתיחת כונן '%1' נכשלה. - - - - Could not open partition table on device '%1'. - פתיחת טבלת מחיצות על כונן '%1' נכשלה. - - - - Could not find partition '%1'. - לא נמצאה מחיצה '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ The installer will quit and all changes will be lost. סיכום + + TrackingInstallJob + + + Installation feedback + משוב בנושא ההתקנה + + + + Sending installation feedback. + שולח משוב בנושא ההתקנה. + + + + Internal error in install-tracking. + שגיאה פנימית בעת התקנת תכונת המעקב. + + + + HTTP request timed out. + בקשת HTTP חרגה מזמן ההמתנה המקסימאלי. + + + + TrackingMachineNeonJob + + + Machine feedback + משוב בנושא עמדת המחשב + + + + Configuring machine feedback. + מגדיר משוב בנושא עמדת המחשב. + + + + + Error in machine feedback configuration. + שגיאה בעת הגדרת המשוב בנושא עמדת המחשב. + + + + Could not configure machine feedback correctly, script error %1. + לא ניתן להגדיר את המשוב בנושא עמדת המחשב באופן תקין. שגיאת הרצה %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + לא ניתן להגדיר את המשוב בנושא עמדת המחשב באופן תקין. שגיאת Calamares %1. + + + + TrackingPage + + + Form + Form + + + + Placeholder + שומר מקום + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>על ידי בחירת אפשרות זו, <span style=" font-weight:600;">לא תשלח מידע כלל </span>בנושא ההתקנה שלך.</p></body></html> + + + + + + TextLabel + תָּוִית טקסט + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">לחץ כאן למידע נוסף אודות משוב מצד המשתמש</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + התקנת תכונת המעקב מסייעת ל %1 לראות את כמות המשתמשים, החומרה שעליה הם מתקינים את %1 ו(באמצעות שתי האפשרויות מטה), לקבל מידע מתמשך אודות תוכנות נבחרות. בכדי לראות את המידע שיישלח, אנא לחץ על צַלְמִית העזרה לצד כל תחום. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + על ידי בחירת אפשרות זו יישלח מידע אודות ההתקנה והחומרה שלך. מידע זה <b>יישלח פעם אחת בלבד</b> לאחר תום הליך ההתקנה. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + על ידי בחירת אפשרות זו יישלח <b>באופן קבוע</b> מידע אודות ההתקנה, החומרה והתוכנות שלך, ל %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + על ידי בחירת אפשרות זו יישלח <b>באופן קבוע</b> מידע אודות ההתקנה, החומרה, התוכנות ודפוסי השימוש שלך, ל %1. + + + + TrackingViewStep + + + Feedback + משוב + + UsersPage diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index f49f4ecdc..a7c4083bc 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. सारांश + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index 7b8ce55fa..8ab780cf6 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -123,12 +123,12 @@ Izvršavam naredbu %1 %2 - + External command crashed Vanjska naredba je prekinula s radom - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Izlaz: %2 - + External command failed to start Vanjska naredba nije uspješno pokrenuta - + Command %1 failed to start. Naredba %1 nije uspješno pokrenuta. - + Internal error when starting command Unutrašnja greška pri pokretanju naredbe - + Bad parameters for process job call. Krivi parametri za proces poziva posla. - + External command failed to finish Vanjska naredba se nije uspjela izvršiti - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Izlaz: %3 - + External command finished with errors Vanjska naredba je završila sa pogreškama - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. CalamaresPython::Helper - + Unknown exception type Nepoznati tip iznimke - + unparseable Python error unparseable Python greška - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Nedohvatljiva Python greška. @@ -530,6 +530,14 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Uklonjena sva privremena montiranja. + + ContextualProcessJob + + + Contextual Processes Job + Posao kontekstualnih procesa + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. InteractiveTerminalPage - - - + Konsole not installed Terminal nije instaliran - - - - Please install the kde konsole and try again! - Molimo vas da instalirate kde terminal i pokušajte ponovno! + + Please install KDE Konsole and try again! + Molimo vas da instalirate KDE terminal i pokušajte ponovno! - + Executing script: &nbsp;<code>%1</code> Izvršavam skriptu: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Opis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Mrežna instalacija. (Onemogućeno: Ne mogu dohvatiti listu paketa, provjerite da li ste spojeni na mrežu) - + Network Installation. (Disabled: Received invalid groups data) Mrežna instalacija. (Onemogućeno: Primanje nevažećih podataka o grupama) @@ -1631,6 +1635,46 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Odvojena boot particija je postavljena zajedno s kriptiranom root particijom, ali boot particija nije kriptirana.<br/><br/>Zabrinuti smo za vašu sigurnost jer su važne datoteke sustava na nekriptiranoj particiji.<br/>Možete nastaviti ako želite, ali datotečni sustav će se otključati kasnije tijekom pokretanja sustava.<br/>Da bi ste kriptirali boot particiju, vratite se natrag i napravite ju, odabirom opcije <strong>Kriptiraj</strong> u prozoru za stvaranje prarticije. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Posao plasma izgleda + + + + + Could not select KDE Plasma Look-and-Feel package + Ne mogu odabrati paket KDE Plasma izgled + + + + PlasmaLnfPage + + + Form + Oblik + + + + Placeholder + Rezervirano mjesto + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Odaberite izgled KDE Plasme. Možete također preskočiti ovaj korak i konfigurirati izgled jednom kada sustav bude instaliran. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Izgled + + QObject @@ -1806,22 +1850,22 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. ResizePartitionJob - + Resize partition %1. Promijeni veličinu particije %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Promijeni veličinu od <strong>%2MB</strong> particije <strong>%1</strong> na <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Mijenjam veličinu od %2MB particije %1 na %3MB. - + The installer failed to resize partition %1 on disk '%2'. Instalacijski program nije uspio promijeniti veličinu particije %1 na disku '%2'. @@ -1902,77 +1946,77 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. SetPartFlagsJob - + Set flags on partition %1. Postavi oznake na particiji %1. - + Set flags on %1MB %2 partition. Postavi oznake na %1MB %2 particiji. - + Set flags on new partition. Postavi oznake na novoj particiji. - + Clear flags on partition <strong>%1</strong>. Obriši oznake na particiji <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Obriši oznake na %1MB <strong>%2</strong> particiji. - + Clear flags on new partition. Obriši oznake na novoj particiji. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Označi particiju <strong>%1</strong> kao <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Označi %1MB <strong>%2</strong> particiju kao <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Označi novu particiju kao <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Brišem oznake na particiji <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Brišem oznake na %1MB <strong>%2</strong> particiji. - + Clearing flags on new partition. Brišem oznake na novoj particiji. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Postavljam oznake <strong>%2</strong> na particiji <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Postavljam oznake <strong>%3</strong> na %1MB <strong>%2</strong> particiji. - + Setting flags <strong>%1</strong> on new partition. Postavljam oznake <strong>%1</strong> na novoj particiji. @@ -1981,21 +2025,6 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.The installer failed to set flags on partition %1. Instalacijski program nije uspio postaviti oznake na particiji %1. - - - Could not open device '%1'. - Ne mogu otvoriti uređaj '%1'. - - - - Could not open partition table on device '%1'. - Ne mogu otvoriti particijsku tablicu na uređaju '%1'. - - - - Could not find partition '%1'. - Ne mogu pronaći particiju '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Sažetak + + TrackingInstallJob + + + Installation feedback + Povratne informacije o instalaciji + + + + Sending installation feedback. + Šaljem povratne informacije o instalaciji + + + + Internal error in install-tracking. + Interna pogreška prilikom praćenja instalacije. + + + + HTTP request timed out. + HTTP zahtjev je istekao + + + + TrackingMachineNeonJob + + + Machine feedback + Povratna informacija o uređaju + + + + Configuring machine feedback. + Konfiguriram povratnu informaciju o uređaju. + + + + + Error in machine feedback configuration. + Greška prilikom konfiguriranja povratne informacije o uređaju. + + + + Could not configure machine feedback correctly, script error %1. + Ne mogu ispravno konfigurirati povratnu informaciju o uređaju, greška skripte %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Ne mogu ispravno konfigurirati povratnu informaciju o uređaju, Calamares greška %1. + + + + TrackingPage + + + Form + Oblik + + + + Placeholder + Rezervirano mjesto + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Odabirom ove opcije <span style=" font-weight:600;">ne će se slati nikakve informacije</span>o vašoj instalaciji.</p></body></html> + + + + + + TextLabel + OznakaTeksta + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Klikni ovdje za više informacija o korisničkoj povratnoj informaciji</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Praćenje instalacije pomaže %1 da vidi koliko ima korisnika, na koji hardver instalira %1 i (s posljednjim opcijama ispod) da dobije kontinuirane informacije o preferiranim aplikacijama. Kako bi vidjeli što se šalje molimo vas da kliknete na ikonu pomoći pokraj svake opcije. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Odabirom ove opcije slat ćete informacije vezane za instalaciju i vaš hardver. Informacija <b>će biti poslana samo jednom</b>nakon što završi instalacija. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Odabirom ove opcije slat će se <b>periodična</b>informacija prema %1 o vašoj instalaciji, hardveru i aplikacijama. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Odabirom ove opcije slat će se <b>redovna</b>informacija prema %1 o vašoj instalaciji, hardveru, aplikacijama i uzorci upotrebe. + + + + TrackingViewStep + + + Feedback + Povratna informacija + + UsersPage diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index 5d7084c16..e0a6d5f58 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -4,7 +4,7 @@ The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - A rendszer <strong>indító környezete.<strong> <br><br>Régebbi x86 alapú rendszerek csak <strong>BIOS</strong><br>-t támogatják. A modern rendszerek gyakran <strong>EFI</strong>-t használnak, de lehet, hogy BIOS-ként látható ha kompatibilitási módban fut az indító környezet. + A rendszer <strong>indító környezete.</strong> <br><br>Régebbi x86 alapú rendszerek csak <strong>BIOS</strong><br>-t támogatják. A modern rendszerek gyakran <strong>EFI</strong>-t használnak, de lehet, hogy BIOS-ként látható ha kompatibilitási módban fut az indító környezet. @@ -123,12 +123,12 @@ Parancs futtatása %1 %2 - + External command crashed Külső parancs összeomlott - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Kimenet: %2 - + External command failed to start Külső parancsot nem sikerült elindítani - + Command %1 failed to start. A parancs %1 -et nem sikerült elindítani. - + Internal error when starting command Belső hiba parancs végrehajtásakor - + Bad parameters for process job call. Hibás paraméterek a folyamat hívásához. - + External command failed to finish Külső parancs nem fejeződött be - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Kimenet: %3 - + External command finished with errors Külső parancs hibával fejeződött be - + Command %1 finished with exit code %2. Output: %3 @@ -297,7 +297,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. The installation is complete. Close the installer. - A telepítés befejeződött, kattints a bezárásra. + A telepítés befejeződött, Bezárhatod a telepítőt. @@ -313,22 +313,22 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. CalamaresPython::Helper - + Unknown exception type Ismeretlen kivétel típus - + unparseable Python error nem egyeztethető Python hiba - + unparseable Python traceback nem egyeztethető Python visszakövetés - + Unfetchable Python error. Összehasonlíthatatlan Python hiba. @@ -531,6 +531,14 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Minden ideiglenes csatolás törölve + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -601,7 +609,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Mountpoint already in use. Please select another one. - A csatolási pont már használatban van. Kérem, válassz másikat. + A csatolási pont már használatban van. Kérlek, válassz másikat. @@ -931,7 +939,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Mountpoint already in use. Please select another one. - A csatolási pont már használatban van. Kérem, válassz másikat. + A csatolási pont már használatban van. Kérlek, válassz másikat. @@ -1087,21 +1095,17 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l InteractiveTerminalPage - - - + Konsole not installed Konsole nincs telepítve - - - - Please install the kde konsole and try again! - Telepítsd a KDE konzolt és próbáld újra! + + Please install KDE Konsole and try again! + Kérlek telepítsd a KDE Konsole-t és próbáld újra! - + Executing script: &nbsp;<code>%1</code> Script végrehajása: &nbsp;<code>%1</code> @@ -1155,7 +1159,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l &OK - + &OK @@ -1302,14 +1306,14 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Leírás - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Hálózati telepítés. (Kikapcsolva: A csomagokat nem lehet letölteni, ellenőrizd a hálózati kapcsolatot) - + Network Installation. (Disabled: Received invalid groups data) - + Hálózati Telepítés. (Letiltva: Hibás adat csoportok fogadva) @@ -1632,6 +1636,46 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Egy külön indító partíció lett beállítva egy titkosított root partícióval, de az indító partíció nincs titkosítva.br/><br/>Biztonsági aggályok merülnek fel ilyen beállítás mellet, mert fontos fájlok nem titkosított partíción vannak tárolva. <br/>Ha szeretnéd, folytathatod így, de a fájlrendszer zárolása meg fog történni az indítás után. <br/> Az indító partíció titkosításához lépj vissza és az újra létrehozáskor válaszd a <strong>Titkosít</strong> opciót. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Adatlap + + + + Placeholder + Helytartó + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1801,28 +1845,28 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l The screen is too small to display the installer. - A képernyő túl kicsi a telepítőnek. + A képernyőméret túl kicsi a telepítő megjelenítéséhez. ResizePartitionJob - + Resize partition %1. A %1 partíció átméretezése. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. <strong>%2MB</strong> partíció átméretezése <strong>%1</strong a következőre:<strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. %2MB partíció átméretezése %1 -ról/ -ről %3MB- ra/ -re. - + The installer failed to resize partition %1 on disk '%2'. A telepítő nem tudta átméretezni a(z) %1 partíciót a(z) '%2' lemezen. @@ -1903,77 +1947,77 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l SetPartFlagsJob - + Set flags on partition %1. Zászlók beállítása a partíción %1. - + Set flags on %1MB %2 partition. Jelzők beállítása a %1MB %2 partíción. - + Set flags on new partition. Jelzők beállítása az új partíción. - + Clear flags on partition <strong>%1</strong>. Zászlók törlése a partíción: <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Jelzők törlése a %1MB <strong>%2</strong> partíción. - + Clear flags on new partition. Jelzők törlése az új partíción. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Zászlók beállítása <strong>%1</strong> ,mint <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Jelzők beállítása %1MB <strong>%2</strong> a partíción mint <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Jelző beállítása mint <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Zászlók törlése a partíción: <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Jelzők törlése a %1MB <strong>%2</strong> partíción. - + Clearing flags on new partition. jelzők törlése az új partíción. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Zászlók beállítása <strong>%2</strong> a <strong>%1</strong> partíción. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Jelzők beállítása <strong>%3</strong> a %1MB <strong>%2</strong> partíción. - + Setting flags <strong>%1</strong> on new partition. Jelzők beállítása az új <strong>%1</strong> partíción. @@ -1982,21 +2026,6 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l The installer failed to set flags on partition %1. A telepítőnek nem sikerült a zászlók beállítása a partíción %1. - - - Could not open device '%1'. - Nem sikerült az eszköz megnyitása '%1'. - - - - Could not open partition table on device '%1'. - Nem sikerült a partíció megnyitása a következő eszközön '%1'. - - - - Could not find partition '%1'. - A '%1' partcíió nem található. - SetPasswordJob @@ -2095,6 +2124,124 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Összefoglalás + + TrackingInstallJob + + + Installation feedback + Visszajelzés a telepítésről + + + + Sending installation feedback. + Telepítési visszajelzés küldése. + + + + Internal error in install-tracking. + Hiba a telepítő nyomkövetésben. + + + + HTTP request timed out. + HTTP kérés ideje lejárt. + + + + TrackingMachineNeonJob + + + Machine feedback + Gépi visszajelzés + + + + Configuring machine feedback. + Gépi visszajelzés konfigurálása. + + + + + Error in machine feedback configuration. + Hiba a gépi visszajelzés konfigurálásában. + + + + Could not configure machine feedback correctly, script error %1. + Gépi visszajelzés konfigurálása nem megfelelő, script hiba %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Gépi visszajelzés konfigurálása nem megfelelő,. +Calamares hiba %1. + + + + TrackingPage + + + Form + Adatlap + + + + Placeholder + Helytartó + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Ezt kiválasztva te<span style=" font-weight:600;">nem tudsz küldeni információt</span>a telepítésről.</p></body></html> + + + + + + TextLabel + Szöveges címke + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;"> Kattints ide bővebb információért a felhasználói visszajelzésről </span></a></p></body><head/></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + A telepítés nyomkövetése %1 segít látni, hogy hány felhasználója van, milyen eszközre , %1 és (az alábbi utolsó két opcióval), folyamatosan kapunk információt az előnyben részesített alkalmazásokról. Hogy lásd mi lesz elküldve kérlek kattints a súgó ikonra a mező mellett. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Ezt kiválasztva információt fogsz küldeni a telepítésről és a számítógépről. Ez az információ <b>csak egyszer lesz </b>elküldve telepítés után. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Ezt kiválasztva információt fogsz küldeni <b>időközönként</b> a telepítésről, számítógépről, alkalmazásokról ide %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Ezt kiválasztva<b> rendszeresen</b> fogsz információt küldeni a telepítésről, számítógépről, alkalmazásokról és használatukról ide %1. + + + + TrackingViewStep + + + Feedback + Visszacsatolás + + UsersPage @@ -2131,12 +2278,12 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Password is too short - + Túl rövid jelszó Password is too long - + Túl hosszú jelszó diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index 8526ccb4a..f5595cb6b 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -123,12 +123,12 @@ Menjalankan perintah %1 %2 - + External command crashed Perintah eksternal mogok - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Keluaran: %2 - + External command failed to start Perintah eksternal gagal dijalankan - + Command %1 failed to start. Perintah %1 gagal dijalankan. - + Internal error when starting command Terjadi kesalahan internal saat menjalankan perintah - + Bad parameters for process job call. Parameter buruk untuk memproses panggilan tugas, - + External command failed to finish Perintah eksternal gagal diselesaikan - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Keluaran: %3 - + External command finished with errors Perintah eksternal diselesaikan dengan kesalahan - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Pemasangan akan ditutup dan semua perubahan akan hilang. CalamaresPython::Helper - + Unknown exception type Tipe pengecualian tidak dikenal - + unparseable Python error tidak dapat mengurai pesan kesalahan Python - + unparseable Python traceback tidak dapat mengurai penelusuran balik Python - + Unfetchable Python error. Tidak dapat mengambil pesan kesalahan Python. @@ -532,6 +532,14 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Semua kaitan sementara dilepas. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1088,21 +1096,17 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. InteractiveTerminalPage - - - + Konsole not installed Konsole tidak terpasang - - - - Please install the kde konsole and try again! - Mohon pasang konsole KDE dan coba lagi! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Mengeksekusi skrip: &nbsp;<code>%1</code> @@ -1303,12 +1307,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Deskripsi - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Pemasangan Jaringan. (Dinonfungsikan: Tak mampu menarik daftar paket, periksa sambungan jaringanmu) - + Network Installation. (Disabled: Received invalid groups data) @@ -1633,6 +1637,46 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Sebuah partisi tersendiri telah terset bersama dengan sebuah partisi root terenkripsi, tapi partisi boot tidak terenkripsi.<br/><br/>Ada kekhawatiran keamanan dengan jenis setup ini, karena file sistem penting tetap pada partisi tak terenkripsi.<br/>Kamu bisa melanjutkan jika kamu menghendaki, tapi filesystem unlocking akan terjadi nanti selama memulai sistem.<br/>Untuk mengenkripsi partisi boot, pergi mundur dan menciptakannya ulang, memilih <strong>Encrypt</strong> di jendela penciptaan partisi. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formulir + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1808,22 +1852,22 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. ResizePartitionJob - + Resize partition %1. Ubah ukuran partisi %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Ubah ukuran<strong>%2MB</strong> partisi <strong>%1</strong> menjadi <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Mengubah partisi %2MB %1 ke %3MB. - + The installer failed to resize partition %1 on disk '%2'. Pemasang gagal untuk merubah ukuran partisi %1 pada disk '%2'. @@ -1904,77 +1948,77 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. SetPartFlagsJob - + Set flags on partition %1. Setel bendera pada partisi %1. - + Set flags on %1MB %2 partition. Setel bendera pada partisi %2 %1MB. - + Set flags on new partition. Setel bendera pada partisi baru. - + Clear flags on partition <strong>%1</strong>. Bersihkan bendera pada partisi <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Bersihkan bendera pada partisi <strong>%2</strong> %1MB. - + Clear flags on new partition. Bersihkan bendera pada partisi baru. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Benderakan partisi <strong>%1</strong> sebagai <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Flag partisi <strong>%2</strong> %1MB sebagai <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Benderakan partisi baru sebagai <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Membersihkan bendera pada partisi <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Membersihkan bendera pada partisi <strong>%2</strong> %1MB. - + Clearing flags on new partition. Membersihkan bendera pada partisi baru. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Menyetel bendera <strong>%2</strong> pada partisi <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Menyetel bendera <strong>%3</strong> pada partisi <strong>%2</strong> %1MB. - + Setting flags <strong>%1</strong> on new partition. Menyetel bendera <strong>%1</strong> pada partisi baru. @@ -1983,21 +2027,6 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.The installer failed to set flags on partition %1. Pemasang gagal menetapkan bendera pada partisi %1. - - - Could not open device '%1'. - Tidak dapat membuka perangkat '%1'. - - - - Could not open partition table on device '%1'. - Tidak dapat membuka tabel partisi pada perangkat '%1'. - - - - Could not find partition '%1'. - Tidak dapat menemukan partisi '%1'. - SetPasswordJob @@ -2096,6 +2125,123 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Ikhtisar + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formulir + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index a0f787b78..96317f899 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -123,12 +123,12 @@ Keyri skipun %1 %2 - + External command crashed Ytri skipun hrundi - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Frálag: %2 - + External command failed to start Ytri skipun ræstist ekki - + Command %1 failed to start. Skipun %1 ræstist ekki. - + Internal error when starting command Innri villa við að ræsa skipun - + Bad parameters for process job call. - + External command failed to finish Ytri skipun lauk ekki - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Frálag: %3 - + External command finished with errors Ytri skipun kláruð með villum - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. CalamaresPython::Helper - + Unknown exception type Óþekkt tegund fráviks - + unparseable Python error óþáttanleg Python villa - + unparseable Python traceback óþáttanleg Python reki - + Unfetchable Python error. Ósækjanleg Python villa. @@ -530,6 +530,14 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Hreinsaði alla bráðabirgðatengipunkta. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. InteractiveTerminalPage - - - + Konsole not installed Konsole ekki uppsett - - - - Please install the kde konsole and try again! - Settu upp kde konsole og reyndu aftur! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Lýsing - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Eyðublað + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. ResizePartitionJob - + Resize partition %1. Breyti stærð disksneiðar %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Breyta stærð <strong>%2MB</strong> disksneiðar <strong>%1</strong> í <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Breyti stærð %2MB disksneiðar %1 í %3MB. - + The installer failed to resize partition %1 on disk '%2'. Uppsetningarforritinu mistókst að breyta stærð disksneiðar %1 á diski '%2'. @@ -1902,77 +1946,77 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. The installer failed to set flags on partition %1. Uppsetningarforritinu mistókst að setja flögg á disksneið %1. - - - Could not open device '%1'. - Gat ekki opnað tæki '%1'. - - - - Could not open partition table on device '%1'. - Gat ekki opnað disksneiðatöflu á tækinu '%1'. - - - - Could not find partition '%1'. - Gat ekki fundið disksneiðina '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Yfirlit + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Eyðublað + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 48b2b45b1..416863527 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -123,12 +123,12 @@ Comando in esecuzione %1 %2 - + External command crashed Il comando esterno si è arrestato - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Il comando esterno non si è avviato - + Command %1 failed to start. Il comando %1 non si è avviato - + Internal error when starting command Errore interno all'avvio del comando - + Bad parameters for process job call. Parametri errati per elaborare l'attività richiesta - + External command failed to finish Il comando esterno non è stato portato a termine - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Il comando esterno è terminato con errori - + Command %1 finished with exit code %2. Output: %3 @@ -267,7 +267,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno &Close - &Vicino + &Chiudi @@ -313,22 +313,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno CalamaresPython::Helper - + Unknown exception type Tipo di eccezione sconosciuto - + unparseable Python error Errore Python non definibile - + unparseable Python traceback Traceback Python non definibile - + Unfetchable Python error. Errore di Python non definibile. @@ -530,6 +530,14 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Rimossi tutti i punti di mount temporanei. + + ContextualProcessJob + + + Contextual Processes Job + Attività dei processi contestuali + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno InteractiveTerminalPage - - - + Konsole not installed Konsole non installato - - - - Please install the kde konsole and try again! - Si prega di installare kde konsole a riprovare! + + Please install KDE Konsole and try again! + Si prega di installare KDE Konsole e provare nuovamente! - + Executing script: &nbsp;<code>%1</code> Esecuzione script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Descrizione - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Installazione di rete. (Disabilitata: impossibile recuperare le liste dei pacchetti, controllare la connessione di rete) - + Network Installation. (Disabled: Received invalid groups data) Installazione di rete. (Disabilitata: Ricevuti dati non validi sui gruppi) @@ -1631,6 +1635,46 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno E' stata configurata una partizione di avvio non criptata assieme ad una partizione root criptata. <br/><br/>Ci sono problemi di sicurezza con questo tipo di configurazione perchè dei file di sistema importanti sono tenuti su una partizione non criptata.<br/>Si può continuare se lo si desidera ma dopo ci sarà lo sblocco del file system, durante l'avvio del sistema.<br/>Per criptare la partizione di avvio, tornare indietro e ricrearla, selezionando <strong>Criptare</strong> nella finestra di creazione della partizione. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Attività del tema di Plasma + + + + + Could not select KDE Plasma Look-and-Feel package + Impossibile selezionare il pacchetto del tema di KDE Plasma + + + + PlasmaLnfPage + + + Form + Modulo + + + + Placeholder + Segnaposto + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Si prega di scegliere un tema per il desktop KDE Plasma. È possibile saltare questo passaggio e configurare il tema una volta installato il sistema. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Tema + + QObject @@ -1806,22 +1850,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno ResizePartitionJob - + Resize partition %1. Ridimensionare la partizione %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Ridimensionare la partizione <strong>%1</strong> da <strong>%2MB</strong> a <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Ridimensionamento della partizione %1 da %2MB a %3MB. - + The installer failed to resize partition %1 on disk '%2'. Il programma di installazione non è riuscito a ridimensionare la partizione %1 sul disco '%2'. @@ -1902,77 +1946,77 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno SetPartFlagsJob - + Set flags on partition %1. Impostare i flag sulla partizione: %1. - + Set flags on %1MB %2 partition. Impostare i flag sulla partizione %1MB %2. - + Set flags on new partition. Impostare i flag sulla nuova partizione. - + Clear flags on partition <strong>%1</strong>. Rimuovere i flag sulla partizione <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Rimuovere i flag dalla partizione %1MB <strong>%2</strong>. - + Clear flags on new partition. Rimuovere i flag dalla nuova partizione. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Flag di partizione <strong>%1</strong> come <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Flag di partizione %1MB <strong>%2</strong> come <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Flag della nuova partizione come <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Rimozione dei flag sulla partizione <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Rimozione del flag dalla partizione %1MB <strong>%2</strong>. - + Clearing flags on new partition. Rimozione dei flag dalla nuova partizione. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Impostazione dei flag <strong>%2</strong> sulla partizione <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Impostazione dei flag <strong>%3</strong> sulla partizione %1MB <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. Impostazione dei flag <strong>%1</strong> sulla nuova partizione. @@ -1981,21 +2025,6 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno The installer failed to set flags on partition %1. Impossibile impostare i flag sulla partizione %1. - - - Could not open device '%1'. - Impossibile accedere al dispositivo '%1'. - - - - Could not open partition table on device '%1'. - Impossibile accedere alla tabella delle partizioni sul dispositivo '%1'. - - - - Could not find partition '%1'. - Impossibile trovare la partizione '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Riepilogo + + TrackingInstallJob + + + Installation feedback + Valutazione dell'installazione + + + + Sending installation feedback. + Invio in corso della valutazione dell'installazione + + + + Internal error in install-tracking. + Errore interno in install-tracking. + + + + HTTP request timed out. + La richiesta HTTP ha raggiunto il timeout. + + + + TrackingMachineNeonJob + + + Machine feedback + Valutazione automatica + + + + Configuring machine feedback. + Configurazione in corso della valutazione automatica. + + + + + Error in machine feedback configuration. + Errore nella configurazione della valutazione automatica. + + + + Could not configure machine feedback correctly, script error %1. + Non è stato possibile configurare correttamente la valutazione automatica, errore script %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Non è stato possibile configurare correttamente la valutazione automatica, errore Calamares %1. + + + + TrackingPage + + + Form + Modulo + + + + Placeholder + Segnaposto + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Selezionando questo, non verrà inviata <span style=" font-weight:600;">alcuna informazione</span> riguardo la propria installazione.</p></body></html> + + + + + + TextLabel + TextLabel + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Cliccare qui per maggiori informazioni riguardo la valutazione degli utenti</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Il tracciamento dell'installazione aiuta %1 a capire quanti utenti vengono serviti, su quale hardware installano %1 e (con le ultime due opzioni qui sotto), a ricevere continue informazioni riguardo le applicazioni preferite. Per vedere cosa verrà inviato, si prega di cliccare sull'icona di aiuto vicino ad ogni area. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Selezionando questa opzione verranno inviate informazioni riguardo l'installazione e l'hardware. Queste informazioni verranno <b>inviate solo una volta</b> dopo che l'installazione è terminata. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Selezionando questa opzione verranno inviate <b>periodicamente</b> informazioni riguardo l'installazione, l'hardware e le applicazioni, a %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Selezionando questa opzione verranno inviate <b>regolarmente</b> informazioni riguardo l'installazione, l'hardware, le applicazioni e il modo di utilizzo, a %1. + + + + TrackingViewStep + + + Feedback + Valutazione + + UsersPage diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 1b760733c..942c9b4c0 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -123,12 +123,12 @@ コマンド %1 %2 を実行中 - + External command crashed 外部コマンドのクラッシュ - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start 外部コマンドの開始に失敗 - + Command %1 failed to start. コマンド %1 の開始に失敗 - + Internal error when starting command コマンド開始時における内部エラー - + Bad parameters for process job call. ジョブ呼び出しにおける不正なパラメータ - + External command failed to finish 外部コマンドの完了に失敗 - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors 外部コマンドでエラー - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type 不明な例外型 - + unparseable Python error 解析不能なPythonエラー - + unparseable Python traceback 解析不能な Python トレースバック - + Unfetchable Python error. 取得不能なPythonエラー。 @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. すべての一時的なマウントを解除しました。 + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1087,21 +1095,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed Konsoleがインストールされていません - - - - Please install the kde konsole and try again! - kde konsoleをインストールして、再度試してください! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> スクリプトの実行: &nbsp;<code>%1</code> @@ -1302,12 +1306,12 @@ The installer will quit and all changes will be lost. 説明 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) ネットワークインストール。(無効: パッケージリストを取得できません。ネットワーク接続を確認してください。) - + Network Installation. (Disabled: Received invalid groups data) ネットワークインストール (不可: 無効なグループデータを受け取りました) @@ -1632,6 +1636,46 @@ The installer will quit and all changes will be lost. ブートパーティションは暗号化されたルートパーティションとともにセットアップされましたが、ブートパーティションは暗号化されていません。<br/><br/>重要なシステムファイルが暗号化されていないパーティションに残されているため、このようなセットアップは安全上の懸念があります。<br/>セットアップを続行することはできますが、後でシステムの起動中にファイルシステムが解除されるおそれがあります。<br/>ブートパーティションを暗号化させるには、前の画面に戻って、再度パーティションを作成し、パーティション作成ウィンドウ内で<strong>Encrypt</strong>(暗号化)を選択してください。 + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + フォーム + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1807,22 +1851,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. パーティション %1 のサイズを変更する。 - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. <strong>%2MB</strong> のパーティション <strong>%1</strong> を<strong>%3MB</strong> にサイズを変更。 - + Resizing %2MB partition %1 to %3MB. %2MB のパーティション %1 を %3MB にサイズ変更中。 - + The installer failed to resize partition %1 on disk '%2'. インストーラが、ディスク '%2' でのパーティション %1 のリサイズに失敗しました。 @@ -1903,77 +1947,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. パーティション %1 にフラグを設定。 - + Set flags on %1MB %2 partition. %1MB %2 パーティション上にフラグを設定。 - + Set flags on new partition. 新しいパーティション上にフラグを設定。 - + Clear flags on partition <strong>%1</strong>. パーティション <strong>%1</strong> 上のフラグを消去。 - + Clear flags on %1MB <strong>%2</strong> partition. %1MB <strong>%2</strong> パーティション上のフラグを消去。 - + Clear flags on new partition. 新しいパーティション上のフラグを消去。 - + Flag partition <strong>%1</strong> as <strong>%2</strong>. パーティション <strong>%1</strong> を<strong>%2</strong>のフラグとして設定。 - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. %1MB <strong>%2</strong> パーティションに <strong>%3</strong> のフラグを設定。 - + Flag new partition as <strong>%1</strong>. 新しいパーティションに <strong>%1</strong>のフラグを設定。 - + Clearing flags on partition <strong>%1</strong>. パーティション <strong>%1</strong> 上のフラグを消去中。 - + Clearing flags on %1MB <strong>%2</strong> partition. %1MB <strong>%2</strong> パーティション上のフラグを消去しています。 - + Clearing flags on new partition. 新しいパーティション上のフラグを消去しています。 - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. パーティション <strong>%1</strong> 上に フラグ<strong>%2</strong>を設定。 - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. %1MB <strong>%2</strong> パーティション上に <strong>%3</strong> フラグを設定しています。 - + Setting flags <strong>%1</strong> on new partition. 新しいパーティション上に <strong>%1</strong> フラグを設定しています。 @@ -1982,21 +2026,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. インストーラーはパーティション %1 上のフラグの設定に失敗しました。 - - - Could not open device '%1'. - デバイス '%1' を開けませんでした。 - - - - Could not open partition table on device '%1'. - デバイス '%1' 上のパーティションテーブルを開けませんでした。 - - - - Could not find partition '%1'. - パーティション '%1' が見つかりませんでした。 - SetPasswordJob @@ -2095,6 +2124,123 @@ The installer will quit and all changes will be lost. 要約 + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + フォーム + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 1ece5ce46..42a59148c 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index 1c040fd76..48a8dc01e 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -86,7 +86,7 @@ Tools - + ಉಪಕರಣಗಳು @@ -99,7 +99,7 @@ Install - + ಸ್ಥಾಪಿಸು @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -217,18 +217,18 @@ Output: &Back - + ಹಿಂದಿನ &Next - + ಮುಂದಿನ &Cancel - + ರದ್ದುಗೊಳಿಸು @@ -239,7 +239,7 @@ Output: Cancel installation? - + ಅನುಸ್ಥಾಪನೆಯನ್ನು ರದ್ದುಮಾಡುವುದೇ? @@ -250,17 +250,17 @@ The installer will quit and all changes will be lost. &Yes - + ಹೌದು &No - + ಇಲ್ಲ &Close - + ಮುಚ್ಚಿರಿ @@ -295,33 +295,33 @@ The installer will quit and all changes will be lost. Error - + ದೋಷ Installation Failed - + ಅನುಸ್ಥಾಪನೆ ವಿಫಲವಾಗಿದೆ CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -405,7 +405,7 @@ The installer will quit and all changes will be lost. Current: - + ಪ್ರಸಕ್ತ: @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -543,7 +551,7 @@ The installer will quit and all changes will be lost. &Primary - + ಪ್ರಾಥಮಿಕ @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1142,7 +1146,7 @@ The installer will quit and all changes will be lost. &Cancel - + ರದ್ದುಗೊಳಿಸು @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1586,7 +1590,7 @@ The installer will quit and all changes will be lost. Current: - + ಪ್ರಸಕ್ತ: @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index 745a5039a..265ef153b 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index 9f929615f..e8a084281 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -123,12 +123,12 @@ Vykdoma komanda %1 %2 - + External command crashed Išorinė komanda nepavyko - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Išvestis: %2 - + External command failed to start Nepavyko paleisti išorinės komandos - + Command %1 failed to start. Nepavyko paleisti %1 komandos - + Internal error when starting command Vidinė komandos klaida - + Bad parameters for process job call. Netinkamas proceso parametras - + External command failed to finish Nepavyko pabaigti išorinės komandos - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Išvestis: %3 - + External command finished with errors Išorinė komanda pabaigta su klaidomis - + Command %1 finished with exit code %2. Output: %3 @@ -210,12 +210,12 @@ Išvestis: Main script file %1 for python job %2 is not readable. - Pagrindinis skriptas %1 dėl python %2 užduoties yra neskaitomas + Pagrindinis scenarijus %1 dėl python %2 užduoties yra neskaitomas Boost.Python error in job "%1". - Boost.Python klaida darbe "%1". + Boost.Python klaida užduotyje "%1". @@ -313,22 +313,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. CalamaresPython::Helper - + Unknown exception type Nežinomas išimties tipas - + unparseable Python error Nepalyginama Python klaida - + unparseable Python traceback Nepalyginamas Python atsekimas - + Unfetchable Python error. Neatgaunama Python klaida. @@ -530,6 +530,14 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Visi laikinieji prijungimai išvalyti. + + ContextualProcessJob + + + Contextual Processes Job + Konteksto procesų užduotis + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. InteractiveTerminalPage - - - + Konsole not installed Konsole neįdiegta - - - - Please install the kde konsole and try again! - Prašome įdiegti kde programą konsole ir bandyti dar kartą! + + Please install KDE Konsole and try again! + Įdiekite KDE Konsole ir bandykite dar kartą! - + Executing script: &nbsp;<code>%1</code> Vykdomas scenarijus: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Aprašas - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Tinklo diegimas. (Išjungta: Nepavyksta gauti paketų sąrašus, patikrinkite savo tinklo ryšį) - + Network Installation. (Disabled: Received invalid groups data) Tinklo diegimas. (Išjungtas: Gauti neteisingi grupių duomenys) @@ -1631,6 +1635,46 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Kartu su užšifruotu šaknies skaidiniu, buvo nustatytas atskiras paleidimo skaidinys, tačiau paleidimo skaidinys nėra užšifruotas.<br/><br/>Dėl tokios sąrankos iškyla tam tikrų saugumo klausimų, kadangi svarbūs sisteminiai failai yra laikomi neužšifruotame skaidinyje.<br/>Jeigu norite, galite tęsti, tačiau failų sistemos atrakinimas įvyks vėliau, sistemos paleidimo metu.<br/>Norėdami užšifruoti paleidimo skaidinį, grįžkite atgal ir sukurkite jį iš naujo bei skaidinių kūrimo lange pažymėkite parinktį <strong>Užšifruoti</strong>. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Plasma išvaizdos ir turinio užduotis + + + + + Could not select KDE Plasma Look-and-Feel package + Nepavyko pasirinkti KDE Plasma išvaizdos ir turinio paketo + + + + PlasmaLnfPage + + + Form + Forma + + + + Placeholder + Vietaženklis + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Pasirinkite išvaizdą ir turinį, skirtą KDE Plasma darbalaukiui. Taip pat galite praleisti šį žingsnį ir konfigūruoti išvaizdą ir turinį, kai sistema bus įdiegta. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Išvaizda ir turinys + + QObject @@ -1806,22 +1850,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. ResizePartitionJob - + Resize partition %1. Keisti skaidinio %1 dydį. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Pakeisti <strong>%2MB</strong> skaidinio <strong>%1</strong> dydį iki <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Keičiamas %2MB skaidinio %1 dydis iki %3MB. - + The installer failed to resize partition %1 on disk '%2'. Diegimo programai nepavyko pakeisti skaidinio %1 dydį diske '%2'. @@ -1902,77 +1946,77 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. SetPartFlagsJob - + Set flags on partition %1. Nustatyti vėliavėles skaidinyje %1. - + Set flags on %1MB %2 partition. Nustatyti vėliavėles %1MB skaidinyje %2. - + Set flags on new partition. Nustatyti vėliavėles naujame skaidinyje. - + Clear flags on partition <strong>%1</strong>. Išvalyti vėliavėles skaidinyje <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Išvalyti vėliavėles %1MB skaidinyje <strong>%2</strong>. - + Clear flags on new partition. Išvalyti vėliavėles naujame skaidinyje. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Pažymėti vėliavėle skaidinį <strong>%1</strong> kaip <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Pažymėti vėliavėle %1MB skaidinį <strong>%2</strong> kaip <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Pažymėti vėliavėle naują skaidinį kaip <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Išvalomos vėliavėlės skaidinyje <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Išvalomos vėliavėlės %1MB skaidinyje <strong>%2</strong>. - + Clearing flags on new partition. Išvalomos vėliavėlės naujame skaidinyje. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Nustatomos <strong>%2</strong> vėliavėlės skaidinyje <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Nustatomos vėliavėlės <strong>%3</strong>, %1MB skaidinyje <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. Nustatomos vėliavėlės <strong>%1</strong> naujame skaidinyje. @@ -1981,21 +2025,6 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. The installer failed to set flags on partition %1. Diegimo programai nepavyko nustatyti vėliavėlių skaidinyje %1. - - - Could not open device '%1'. - Nepavyko atidaryti įrenginio "%1". - - - - Could not open partition table on device '%1'. - Nepavyko atidaryti skaidinių lentelės įrenginyje "%1". - - - - Could not find partition '%1'. - Nepavyko rasti skaidinio "%1". - SetPasswordJob @@ -2094,6 +2123,123 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Suvestinė + + TrackingInstallJob + + + Installation feedback + Grįžtamasis ryšys apie diegimą + + + + Sending installation feedback. + Siunčiamas grįžtamasis ryšys apie diegimą. + + + + Internal error in install-tracking. + Vidinė klaida diegimo sekime. + + + + HTTP request timed out. + Baigėsi HTTP užklausos laikas. + + + + TrackingMachineNeonJob + + + Machine feedback + Grįžtamasis ryšys apie kompiuterį + + + + Configuring machine feedback. + Konfigūruojamas grįžtamasis ryšys apie kompiuterį. + + + + + Error in machine feedback configuration. + Klaida grįžtamojo ryšio apie kompiuterį konfigūravime. + + + + Could not configure machine feedback correctly, script error %1. + Nepavyko teisingai sukonfigūruoti grįžtamojo ryšio apie kompiuterį, scenarijaus klaida %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Nepavyko teisingai sukonfigūruoti grįžtamojo ryšio apie kompiuterį, Calamares klaida %1. + + + + TrackingPage + + + Form + Forma + + + + Placeholder + Vietaženklis + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Tai pažymėdami, nesiųsite <span style=" font-weight:600;">visiškai jokios informacijos</span> apie savo diegimą.</p></body></html> + + + + + + TextLabel + Teksto etiketė + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Išsamesnei informacijai apie naudotojų grįžtamąjį ryšį, spustelėkite čia</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Diegimo sekimas padeda %1 matyti kiek jie turi naudotojų, į kokią aparatinę įrangą naudotojai diegia %1 ir (su paskutiniais dviejais parametrais žemiau), gauti tęstinę informaciją apie pageidaujamas programas. Norėdami matyti kas bus siunčiama, šalia kiekvienos srities spustelėkite žinyno piktogramą. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Tai pažymėdami, išsiųsite informaciją apie savo diegimą ir aparatinę įrangą. Ši informacija bus <b>išsiųsta tik vieną kartą</b>, užbaigus diegimą. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Tai pažymėdami, <b>periodiškai</b> siųsite informaciją apie savo diegimą, aparatinę įrangą ir programas į %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Tai pažymėdami, <b>reguliariai</b> siųsite informaciją apie savo diegimą, aparatinę įrangą, programas ir naudojimo būdus į %1. + + + + TrackingViewStep + + + Feedback + Grįžtamasis ryšys + + UsersPage diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index c578b2c5d..244531ca6 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -123,44 +123,44 @@ %1 %2 आज्ञा चालवला जातोय - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start बाह्य आज्ञा सुरु करण्यात अपयश - + Command %1 failed to start. %1 आज्ञा सुरु करण्यात अपयश - + Internal error when starting command आज्ञा सुरु करताना अंतर्गत त्रुटी - + Bad parameters for process job call. - + External command failed to finish बाह्य आज्ञा पूर्ण करताना अपयश - + Command %1 failed to finish in %2s. Output: %3 @@ -169,12 +169,12 @@ Output: %3 - + External command finished with errors बाह्य आज्ञा त्रुट्यांसहित पूर्ण झाली - + Command %1 finished with exit code %2. Output: %3 @@ -310,22 +310,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -527,6 +527,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1083,21 +1091,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1298,12 +1302,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1628,6 +1632,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + स्वरुप + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1803,22 +1847,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1899,77 +1943,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1978,21 +2022,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2091,6 +2120,123 @@ The installer will quit and all changes will be lost. सारांश + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + स्वरुप + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index ade6910e9..5617fb139 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -123,12 +123,12 @@ - + External command crashed Ekstern kommando feilet - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Ekstern kommando kunne ikke startes - + Command %1 failed to start. Kommando %1 kunne ikke startes - + Internal error when starting command Intern feil ved start av kommando - + Bad parameters for process job call. Ugyldige parametere for prosessens oppgavekall - + External command failed to finish Ekstern kommando kunne ikke fullføres - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Ekstern kommando fullført med feil - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. CalamaresPython::Helper - + Unknown exception type Ukjent unntakstype - + unparseable Python error Ikke-kjørbar Python feil - + unparseable Python traceback Ikke-kjørbar Python tilbakesporing - + Unfetchable Python error. Ukjent Python feil. @@ -530,6 +530,14 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Form + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1902,77 +1946,77 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Klarte ikke å åpne enheten '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.Oppsummering + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Form + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index b38b1b3d3..d1b987353 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -123,12 +123,12 @@ Uitvoeren van opdracht %1 %2 - + External command crashed Externe opdracht is vastgelopen - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Externe opdracht starten mislukt - + Command %1 failed to start. Opdracht %1 starten mislukt. - + Internal error when starting command Interne fout bij starten opdracht - + Bad parameters for process job call. Onjuiste parameters voor procestaak - + External command failed to finish Externe opdracht voltooiing mislukt - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Uitvoer: %3 - + External command finished with errors Externe opdracht voltooid met fouten - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. CalamaresPython::Helper - + Unknown exception type Onbekend uitzonderingstype - + unparseable Python error onuitvoerbare Python fout - + unparseable Python traceback onuitvoerbare Python traceback - + Unfetchable Python error. Onbekende Python fout. @@ -530,6 +530,14 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Alle tijdelijke aankoppelpunten zijn vrijgegeven. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. InteractiveTerminalPage - - - + Konsole not installed Konsole is niet geïnstalleerd - - - - Please install the kde konsole and try again! - Gelieve kde Konsole en probeer opnieuw! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Script uitvoeren: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Beschrijving - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Netwerkinstallatie. (Uitgeschakeld: kon de pakketlijsten niet binnenhalen, controleer de netwerkconnectie) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Een aparte bootpartitie was ingesteld samen met een versleutelde rootpartitie, maar de bootpartitie zelf is niet versleuteld.<br/><br/>Dit is niet volledig veilig, aangezien belangrijke systeembestanden bewaard worden op een niet-versleutelde partitie.<br/>Je kan doorgaan als je wil, maar het ontgrendelen van bestandssystemen zal tijdens het opstarten later plaatsvinden.<br/>Om de bootpartitie toch te versleutelen: keer terug en maak de bootpartitie opnieuw, waarbij je <strong>Versleutelen</strong> aanvinkt in het venster partitie aanmaken. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formulier + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. ResizePartitionJob - + Resize partition %1. Pas de grootte van partitie %1 aan. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Herschaal de <strong>%2MB</strong> partitie <strong>%1</strong> naar <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Pas de %2MB partitie %1 aan naar %3MB. - + The installer failed to resize partition %1 on disk '%2'. Installatieprogramma is er niet in geslaagd om de grootte van partitie %1 op schrijf %2 aan te passen. @@ -1902,77 +1946,77 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. SetPartFlagsJob - + Set flags on partition %1. Stel vlaggen in op partitie %1. - + Set flags on %1MB %2 partition. Stel vlaggen in op %1MB %2 partitie. - + Set flags on new partition. Stel vlaggen in op nieuwe partitie. - + Clear flags on partition <strong>%1</strong>. Wis vlaggen op partitie <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Wis vlaggen op %1MB <strong>%2</strong> partitie. - + Clear flags on new partition. Wis vlaggen op nieuwe partitie. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Partitie <strong>%1</strong> als <strong>%2</strong> vlaggen. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Vlag %1MB <strong>%2</strong> partitie als <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Vlag nieuwe partitie als <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Vlaggen op partitie <strong>%1</strong> wissen. - + Clearing flags on %1MB <strong>%2</strong> partition. Vlaggen op %1MB <strong>%2</strong> partitie wissen. - + Clearing flags on new partition. Vlaggen op nieuwe partitie wissen. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Vlaggen <strong>%2</strong> op partitie <strong>%1</strong> instellen. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Vlaggen <strong>%3</strong> op %1MB <strong>%2</strong> partitie instellen. - + Setting flags <strong>%1</strong> on new partition. Vlaggen <strong>%1</strong> op nieuwe partitie instellen. @@ -1981,21 +2025,6 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. The installer failed to set flags on partition %1. Het installatieprogramma kon geen vlaggen instellen op partitie %1. - - - Could not open device '%1'. - Kon apparaat '%1' niet openen. - - - - Could not open partition table on device '%1'. - Kon de partitietabel op apparaat '%1' niet openen. - - - - Could not find partition '%1'. - Kon partitie '%1' niet vinden. - SetPasswordJob @@ -2094,6 +2123,123 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Samenvatting + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formulier + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index d41cacf65..0ae79b322 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -123,12 +123,12 @@ Wykonywanie polecenia %1 %2 - + External command crashed Zewnętrzne polecenie nie powiodło się - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Wyjście: %2 - + External command failed to start Zewnętrzne polecenie nie uruchomiło się - + Command %1 failed to start. Polecenie %1 nie uruchomiło się. - + Internal error when starting command Wystąpił błąd wewnętrzny podczas uruchamiania polecenia - + Bad parameters for process job call. Błędne parametry wywołania zadania. - + External command failed to finish Nie udało się ukończyć zewnętrznego polecenia - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Wyjście: %3 - + External command finished with errors Zewnętrzne polecenie zakończone z błędami - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. CalamaresPython::Helper - + Unknown exception type Nieznany rodzaj wyjątku - + unparseable Python error nieparowalny błąd Pythona - + unparseable Python traceback nieparowalny traceback Pythona - + Unfetchable Python error. Nieosiągalny błąd Pythona. @@ -530,6 +530,14 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Wyczyszczono wszystkie tymczasowe montowania. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. InteractiveTerminalPage - - - + Konsole not installed Konsole jest niezainstalowany - - - - Please install the kde konsole and try again! - Prosimy o zainstalowanie konsole KDE i ponownie spróbować! + + Please install KDE Konsole and try again! + Zainstaluj KDE Konsole i spróbuj ponownie! - + Executing script: &nbsp;<code>%1</code> Wykonywanie skryptu: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Opis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalacja sieciowa. (Wyłączona: Nie można pobrać listy pakietów, sprawdź swoje połączenie z siecią) - + Network Installation. (Disabled: Received invalid groups data) Instalacja sieciowa. (Niedostępna: Otrzymano nieprawidłowe dane grupowe) @@ -1631,6 +1635,46 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Oddzielna partycja rozruchowa została skonfigurowana razem z zaszyfrowaną partycją roota, ale partycja rozruchowa nie jest szyfrowana.<br/><br/>Nie jest to najbezpieczniejsze rozwiązanie, ponieważ ważne pliki systemowe znajdują się na niezaszyfrowanej partycji.<br/>Możesz kontynuować, ale odblokowywanie systemu nastąpi później, w trakcie uruchamiania.<br/>Aby zaszyfrować partycję rozruchową, wróć i utwórz ją ponownie zaznaczając opcję <strong>Szyfruj</strong> w oknie tworzenia partycji. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formularz + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Zainstaluj motyw pulpitu KDE Plazmy. Możesz pominąć ten krok i wybrać, jak będzie wyglądał Twój system po zakończeniu instalacji. + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. ResizePartitionJob - + Resize partition %1. Zmień rozmiar partycji %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Zmień rozmiar partycji <strong>%2MB</strong> <strong>%1</strong> do <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Zmiana rozmiaru partycji %1 z %2MB do %3MB. - + The installer failed to resize partition %1 on disk '%2'. Instalator nie mógł zmienić rozmiaru partycji %1 na dysku '%2'. @@ -1902,77 +1946,77 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. SetPartFlagsJob - + Set flags on partition %1. Ustaw flagi na partycji %1. - + Set flags on %1MB %2 partition. Ustaw flagi na partycji %1MB %2. - + Set flags on new partition. Ustaw flagi na nowej partycji. - + Clear flags on partition <strong>%1</strong>. Usuń flagi na partycji <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Wyczyść flagi z partycji %1MB <strong>%2</strong>. - + Clear flags on new partition. Wyczyść flagi na nowej partycji. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Oflaguj partycję <strong>%1</strong> jako <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Oflaguj partycję %1MB <strong>%2</strong> jako <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Oflaguj nową partycję jako <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Usuwanie flag na partycji <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Czyszczenie flag partycji %1MB <strong>%2</strong>. - + Clearing flags on new partition. Czyszczenie flag na nowej partycji. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Ustawianie flag <strong>%2</strong> na partycji <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Ustawienie flag <strong>%3</strong> na partycji %1MB <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. Ustawianie flag <strong>%1</strong> na nowej partycji. @@ -1981,21 +2025,6 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.The installer failed to set flags on partition %1. Instalator nie mógł ustawić flag na partycji %1. - - - Could not open device '%1'. - Nie udało się otworzyć urządzenia '%1'. - - - - Could not open partition table on device '%1'. - Nie udało się otworzyć tablicy partycji na urządzeniu '%1'. - - - - Could not find partition '%1'. - Nie udało się odnaleźć partycji '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Podsumowanie + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formularz + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Jeżeli wybierzesz tą opcję, nie zostaną wysłane <span style=" font-weight:600;">żadne informacje</span> o Twojej instalacji.</p></body></html> + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Naciśnij, aby dowiedzieć się więcej o uzyskiwaniu informacji zwrotnych.</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Śledzenie instalacji pomoże %1 dowiedzieć się, ilu mają użytkowników, na jakim sprzęcie instalują %1 i (jeżeli wybierzesz dwie ostatnie opcje) uzyskać informacje o używanych aplikacjach. Jeżeli chcesz wiedzieć, jakie informacje będą wysyłane, naciśnij ikonę pomocy obok. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + Informacje zwrotne + + UsersPage diff --git a/lang/calamares_pl_PL.ts b/lang/calamares_pl_PL.ts index e15c2f4eb..1a1b5bd88 100644 --- a/lang/calamares_pl_PL.ts +++ b/lang/calamares_pl_PL.ts @@ -123,12 +123,12 @@ - + External command crashed Zewnętrzne polecenie nie powiodło się - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Wyjście: %2 - + External command failed to start Zewnętrzne polecenie nie uruchomiło się - + Command %1 failed to start. Polecenie %1 nie uruchomiło się. - + Internal error when starting command Błąd wewnętrzny podczas uruchamiania polecenia - + Bad parameters for process job call. Błędne parametry wywołania zadania. - + External command failed to finish Nie udało się zakończyć zewnętrznego polecenia - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Wyjście: %3 - + External command finished with errors Zewnętrzne polecenie zakończone z błędami - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. CalamaresPython::Helper - + Unknown exception type Nieznany wyjątek - + unparseable Python error Nieparsowalny błąd Pythona - + unparseable Python traceback nieparsowalny traceback Pythona - + Unfetchable Python error. Niepobieralny błąd Pythona. @@ -530,6 +530,14 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formularz + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. ResizePartitionJob - + Resize partition %1. Zmień rozmiar partycji %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. Instalator nie mógł zmienić rozmiaru partycji %1 na dysku '%2'. @@ -1902,77 +1946,77 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Nie można otworzyć urządzenia '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.Podsumowanie + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formularz + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index 0e72861d5..b1f7594ee 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -123,12 +123,12 @@ Executando comando %1 %2 - + External command crashed Comando externo falhou - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Saída: %2 - + External command failed to start Comando externo falhou ao inciar - + Command %1 failed to start. Comando %1 falhou ao iniciar. - + Internal error when starting command Erro interno ao iniciar comando - + Bad parameters for process job call. Parâmetros ruins para a chamada da tarefa do processo. - + External command failed to finish Comando externo falhou ao finalizar - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Saída: %3 - + External command finished with errors Comando externo terminou com erros - + Command %1 finished with exit code %2. Output: %3 @@ -267,7 +267,7 @@ O instalador será fechado e todas as alterações serão perdidas. &Close - &Fechar + Fe&char @@ -287,12 +287,12 @@ O instalador será fechado e todas as alterações serão perdidas. Go &back - Voltar + &Voltar &Done - Completo + Completa&do @@ -313,22 +313,22 @@ O instalador será fechado e todas as alterações serão perdidas. CalamaresPython::Helper - + Unknown exception type Tipo de exceção desconhecida - + unparseable Python error erro inanalisável do Python - + unparseable Python traceback rastreamento inanalisável do Python - + Unfetchable Python error. Erro inbuscável do Python. @@ -449,7 +449,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - Parece que não há um sistema operacional neste dispositivo. O que gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. + Parece que não há um sistema operacional neste dispositivo. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. @@ -462,7 +462,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - Este dispositivo de armazenamento possui %1 nele. O que gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. + Este dispositivo de armazenamento possui %1 nele. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. @@ -470,7 +470,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - <strong>Instalar lado a lado</strong><br/>O instalador irá reduzir uma partição para liberar espaço para %1. + <strong>Instalar lado a lado</strong><br/>O instalador reduzirá uma partição para liberar espaço para %1. @@ -483,12 +483,12 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - Já há um sistema operacional neste dispositivo de armazenamento. O que gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. + Já há um sistema operacional neste dispositivo de armazenamento. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - Há diversos sistemas operacionais neste dispositivo de armazenamento. O que gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. + Há diversos sistemas operacionais neste dispositivo de armazenamento. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. @@ -532,6 +532,14 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Pontos de montagens temporários limpos. + + ContextualProcessJob + + + Contextual Processes Job + Tarefa de Processos Contextuais + + CreatePartitionDialog @@ -562,7 +570,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. Fi&le System: - Sistema de Arquivos: + Sistema de &Arquivos: @@ -577,7 +585,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. Si&ze: - Tamanho: + &Tamanho: @@ -724,22 +732,22 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. Sudoers dir is not writable. - O diretório do superusuário não é gravável. + O diretório do sudoers não é gravável. Cannot create sudoers file for writing. - Não foi possível criar arquivo do superusuário para gravação. + Não foi possível criar arquivo sudoers para gravação. Cannot chmod sudoers file. - Não foi possível alterar permissões do arquivo do superusuário. + Não foi possível utilizar chmod no arquivo sudoers. Cannot open groups file for reading. - Não foi possível abrir arquivos do grupo para leitura. + Não foi possível abrir arquivo de grupos para leitura. @@ -892,7 +900,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. &Keep - Manter + &Manter @@ -912,7 +920,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. Si&ze: - Tamanho: + &Tamanho: @@ -922,7 +930,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. Fi&le System: - Sistema de Arquivos: + &Sistema de Arquivos: @@ -1088,21 +1096,17 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. InteractiveTerminalPage - - - + Konsole not installed Konsole não instalado - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! Por favor, instale o Konsole do KDE e tente novamente! - + Executing script: &nbsp;<code>%1</code> Executando script: &nbsp;<code>%1</code> @@ -1195,23 +1199,23 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - <strong>%1 driver</strong><br/>por %2 + <strong>driver %1</strong><br/>por %2 <strong>%1 graphics driver</strong><br/><font color="Grey">by %2</font> %1 is usually a vendor name, example: Nvidia graphics driver - <strong>%1 driver gráfico</strong><br/><font color="Grey">por %2</font> + <strong>driver gráfico %1</strong><br/><font color="Grey">por %2</font> <strong>%1 browser plugin</strong><br/><font color="Grey">by %2</font> - <strong>%1 plugin do navegador</strong><br/><font color="Grey">por %2</font> + <strong>plugin do navegador %1</strong><br/><font color="Grey">por %2</font> <strong>%1 codec</strong><br/><font color="Grey">by %2</font> - <strong>%1 codec</strong><br/><font color="Grey">por %2</font> + <strong>codec %1</strong><br/><font color="Grey">por %2</font> @@ -1303,14 +1307,14 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Descrição - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalação pela Rede. (Desabilitada: Não foi possível adquirir lista de pacotes, verifique sua conexão com a internet) - + Network Installation. (Disabled: Received invalid groups data) - Instalação de rede. (Desabilitado: dados de grupos recebidos inválidos) + Instalação pela Rede. (Desabilitado: Recebidos dados de grupos inválidos) @@ -1630,7 +1634,47 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - Uma partição de inicialização separada foi configurada juntamente com uma partição raiz criptografada, mas a partição de inicialização não é criptografada.<br/><br/>Há preocupações de segurança com este tipo de configuração, porque arquivos de sistema importantes são mantidos em uma partição não criptografada.<br/>Você pode continuar se quiser, mas o desbloqueio do sistema de arquivos acontecerá mais tarde durante a inicialização do sistema.<br/>Para criptografar a partição de inicialização, volte e recrie-a, selecionando <strong>Criptografar</strong> na janela de criação da partição. + Uma partição de inicialização separada foi configurada juntamente com uma partição raiz criptografada, mas a partição de inicialização não é criptografada.<br/><br/>Há preocupações de segurança quanto a este tipo de configuração, porque arquivos de sistema importantes são mantidos em uma partição não criptografada.<br/>Você pode continuar se quiser, mas o desbloqueio do sistema de arquivos acontecerá mais tarde durante a inicialização do sistema.<br/>Para criptografar a partição de inicialização, volte e recrie-a, selecionando <strong>Criptografar</strong> na janela de criação da partição. + + + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Tarefa de Tema do Plasma + + + + + Could not select KDE Plasma Look-and-Feel package + Não foi possível selecionar o pacote de tema do KDE Plasma + + + + PlasmaLnfPage + + + Form + Formulário + + + + Placeholder + Substituto + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Por favor, escolha o tema para o Desktop KDE Plasma. Você também pode pular esta etapa e configurar o tema assim que o sistema for instalado. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Tema @@ -1808,22 +1852,22 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. ResizePartitionJob - + Resize partition %1. Redimensionar partição %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensionar <strong>%2MB</strong> da partição <strong>%1</strong> para <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Redimensionando %2MB da partição %1 para %3MB. - + The installer failed to resize partition %1 on disk '%2'. O instalador falhou em redimensionar a partição %1 no disco '%2'. @@ -1904,77 +1948,77 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. SetPartFlagsJob - + Set flags on partition %1. Definir marcadores na partição %1. - + Set flags on %1MB %2 partition. Definir marcadores na partição %1MB %2. - + Set flags on new partition. Definir marcadores na nova partição. - + Clear flags on partition <strong>%1</strong>. Limpar marcadores na partição <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Limpar marcadores na partição %1MB <strong>%2</strong>. - + Clear flags on new partition. Limpar marcadores na nova partição. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Marcar partição <strong>%1</strong> como <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Marcar partição %1MB <strong>%2</strong> como <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Marcar nova partição como <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Limpando marcadores na partição <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Limpar marcadores na partição %1MB <strong>%2</strong>. - + Clearing flags on new partition. Limpando marcadores na nova partição. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Definindo marcadores <strong>%2</strong> na partição <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Definindo marcadores <strong>%3</strong> na partição %1MB <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. Definindo marcadores <strong>%1</strong> na nova partição. @@ -1983,21 +2027,6 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.The installer failed to set flags on partition %1. O instalador falhou em definir marcadores na partição %1. - - - Could not open device '%1'. - Não foi possível abrir o dispositivo '%1'. - - - - Could not open partition table on device '%1'. - Não foi possível abrir a tabela de partições no dispositivo '%1'. - - - - Could not find partition '%1'. - Não foi possível encontrar a partição '%1'. - SetPasswordJob @@ -2096,6 +2125,123 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Resumo + + TrackingInstallJob + + + Installation feedback + Feedback da instalação + + + + Sending installation feedback. + Enviando feedback da instalação. + + + + Internal error in install-tracking. + Erro interno no install-tracking. + + + + HTTP request timed out. + A solicitação HTTP expirou. + + + + TrackingMachineNeonJob + + + Machine feedback + Feedback da máquina + + + + Configuring machine feedback. + Configurando feedback da máquina. + + + + + Error in machine feedback configuration. + Erro na configuração de feedback da máquina. + + + + Could not configure machine feedback correctly, script error %1. + Não foi possível configurar o feedback da máquina corretamente, erro de script %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Não foi possível configurar o feedback da máquina corretamente, erro do Calamares %1. + + + + TrackingPage + + + Form + Formulário + + + + Placeholder + Substituto + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Ao selecionar isto, você <span style=" font-weight:600;">não enviará nenhuma informação</span> sobre sua instalação.</p></body></html> + + + + + + TextLabel + EtiquetaDeTexto + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Clique aqui para mais informações sobre o feedback do usuário</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + O rastreamento de instalação ajuda %1 a ver quantos usuários eles têm, em qual hardware eles instalam %1 e (com as duas últimas opções abaixo), adquirir informações sobre os aplicativos preferidos. Para ver o que será enviado, por favor, clique no ícone de ajuda perto de cada área. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Ao selecionar isto, você enviará informações sobre sua instalação e hardware. Esta informação <b>será enviada apenas uma vez</b> depois que a instalação terminar. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Ao selecionar isto, você enviará <b>periodicamente</b> informações sobre sua instalação, hardware e aplicativos para %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Ao selecionar isto, você enviará <b>regularmente</b> informações sobre sua instalação, hardware, aplicativos e padrões de uso para %1. + + + + TrackingViewStep + + + Feedback + Feedback + + UsersPage @@ -2178,7 +2324,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. &About - S&obre + &Sobre @@ -2198,7 +2344,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimentos: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Time de tradutores do Calamares</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> o desenvolvimento é patrocinado por <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>por %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimentos: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg e ao <a href="https://www.transifex.com/calamares/calamares/">time de tradutores do Calamares</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> o desenvolvimento é patrocinado por <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index cf07c2f15..9fcd66398 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -123,12 +123,12 @@ A executar comando %1 %2 - + External command crashed Comando externo crashou - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Saída: %2 - + External command failed to start Comando externo falhou ao iniciar - + Command %1 failed to start. Comando% 1 falhou ao iniciar. - + Internal error when starting command Erro interno ao iniciar comando - + Bad parameters for process job call. Maus parâmetros para chamada de processamento de tarefa. - + External command failed to finish Comando externo não conseguiu terminar - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Saída: %3 - + External command finished with errors Comando externo terminou com erros - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ O instalador será encerrado e todas as alterações serão perdidas. CalamaresPython::Helper - + Unknown exception type Tipo de exceção desconhecido - + unparseable Python error erro inanalisável do Python - + unparseable Python traceback rasto inanalisável do Python - + Unfetchable Python error. Erro inatingível do Python. @@ -530,6 +530,14 @@ O instalador será encerrado e todas as alterações serão perdidas.Clareadas todas as montagens temporárias. + + ContextualProcessJob + + + Contextual Processes Job + Tarefa de Processos Contextuais + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ O instalador será encerrado e todas as alterações serão perdidas. InteractiveTerminalPage - - - + Konsole not installed Konsole não instalado - - - - Please install the kde konsole and try again! - Por favor instale a konsola kde e tente novamente! + + Please install KDE Konsole and try again! + Por favor instale a consola KDE e tente novamente! - + Executing script: &nbsp;<code>%1</code> A executar script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ O instalador será encerrado e todas as alterações serão perdidas.Descrição - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalaçao de Rede. (Desativada: Incapaz de buscar listas de pacotes, verifique a sua ligação de rede) - + Network Installation. (Disabled: Received invalid groups data) Instalação de Rede. (Desativada: Recebeu dados de grupos inválidos) @@ -1631,6 +1635,46 @@ O instalador será encerrado e todas as alterações serão perdidas.Foi preparada uma partição de arranque separada juntamente com uma partição root encriptada, mas a partição de arranque não está encriptada.<br/><br/>Existem preocupações de segurança com este tipo de configuração, por causa de importantes ficheiros de sistema serem guardados numa partição não encriptada.<br/>Se desejar pode continuar, mas o destrancar do sistema de ficheiros irá ocorrer mais tarde durante o arranque do sistema.<br/>Para encriptar a partição de arranque, volte atrás e recrie-a, e selecione <strong>Encriptar</strong> na janela de criação de partições. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Tarefa de Aparência Plasma + + + + + Could not select KDE Plasma Look-and-Feel package + Não foi possível selecionar o pacote KDE Plasma Look-and-Feel + + + + PlasmaLnfPage + + + Form + Forma + + + + Placeholder + Espaço reservado + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Por favor escolha uma aparência para o Ambiente de Trabalho KDE Plasma. Também pode saltar este passo e configurar a aparência depois do sistema instalado. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Aparência + + QObject @@ -1806,22 +1850,22 @@ O instalador será encerrado e todas as alterações serão perdidas. ResizePartitionJob - + Resize partition %1. Redimensionar partição %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensionar <strong>%2MB</strong> partição <strong>%1</strong> para <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. A redimensionar %2MB partição %1 para %3MB. - + The installer failed to resize partition %1 on disk '%2'. O instalador falhou o redimensionamento da partição %1 no disco '%2'. @@ -1902,77 +1946,77 @@ O instalador será encerrado e todas as alterações serão perdidas. SetPartFlagsJob - + Set flags on partition %1. Definir flags na partição %1. - + Set flags on %1MB %2 partition. Definir flags na %1MB %2 partição. - + Set flags on new partition. Definir flags na nova partição. - + Clear flags on partition <strong>%1</strong>. Limpar flags na partitição <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Limpar flags na %1MB <strong>%2</strong> partição. - + Clear flags on new partition. Limpar flags na nova partição. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Definir flag da partição <strong>%1</strong> como <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Flag %1MB <strong>%2</strong> partição como <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Nova partição com flag <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. A limpar flags na partição <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. A limpar flags na %1MB <strong>%2</strong> partição. - + Clearing flags on new partition. A limpar flags na nova partição. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. A definir flags <strong>%2</strong> na partitição <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. A definir flags <strong>%3</strong> na %1MB <strong>%2</strong> partição. - + Setting flags <strong>%1</strong> on new partition. A definir flags <strong>%1</strong> na nova partição. @@ -1981,21 +2025,6 @@ O instalador será encerrado e todas as alterações serão perdidas.The installer failed to set flags on partition %1. O instalador falhou ao definir flags na partição %1. - - - Could not open device '%1'. - Não foi possível abrir o dispositvo '%1'. - - - - Could not open partition table on device '%1'. - Não foi possível abrir a tabela de partições no dispositivo '%1'. - - - - Could not find partition '%1'. - Não foi possível encontrar a partição '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ O instalador será encerrado e todas as alterações serão perdidas.Resumo + + TrackingInstallJob + + + Installation feedback + Relatório da Instalação + + + + Sending installation feedback. + A enviar relatório da instalação. + + + + Internal error in install-tracking. + Erro interno no rastreio da instalação. + + + + HTTP request timed out. + Expirou o tempo para o pedido de HTTP. + + + + TrackingMachineNeonJob + + + Machine feedback + Relatório da máquina + + + + Configuring machine feedback. + A configurar relatório da máquina. + + + + + Error in machine feedback configuration. + Erro na configuração do relatório da máquina. + + + + Could not configure machine feedback correctly, script error %1. + Não foi possível configurar corretamente o relatório da máquina, erro de script %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Não foi possível configurar corretamente o relatório da máquina, erro do Calamares %1. + + + + TrackingPage + + + Form + Forma + + + + Placeholder + Espaço reservado + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Ao selecionar isto, não estará a enviar <span style=" font-weight:600;">qualquer informação</span> sobre a sua instalação.</p></body></html> + + + + + + TextLabel + EtiquetaTexto + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Clique aqui para mais informação acerca do relatório do utilizador</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + O rastreio de instalação ajuda %1 a ver quanto utilizadores eles têm, qual o hardware que instalam %1 e (com a duas últimas opções abaixo), obter informação contínua sobre aplicações preferidas. Para ver o que será enviado, por favor clique no ícone de ajuda a seguir a cada área. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Ao selecionar isto estará a enviar informação acerca da sua instalação e hardware. Esta informação será <b>enviada apenas uma vez</b> depois da instalação terminar. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Ao selecionar isto irá <b>periodicamente</b> enviar informação sobre a instalação, hardware e aplicações, para %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Ao selecionar isto irá periodicamente enviar informação sobre a instalação, hardware, aplicações e padrões de uso, para %1. + + + + TrackingViewStep + + + Feedback + Relatório + + UsersPage diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index 967ea84bb..24b974aca 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -123,12 +123,12 @@ Se rulează comanda %1 %2 - + External command crashed Comandă externă a avut o pană - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Rezultat: %2 - + External command failed to start Comanda externă nu a pornit - + Command %1 failed to start. Comanda %1 nu a pornit. - + Internal error when starting command Eroare internă în pornirea comenzii - + Bad parameters for process job call. Parametri proști pentru apelul sarcinii de proces. - + External command failed to finish Comanda externă nu s-a terminat - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Rezultat: %3 - + External command finished with errors Comanda externă s-a terminat cu erori - + Command %1 finished with exit code %2. Output: %3 @@ -240,7 +240,7 @@ Rezultat: Cancel installation without changing the system. - + Anulează instalarea fără schimbarea sistemului. @@ -257,17 +257,17 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. &Yes - + &Da &No - + &Nu &Close - + În&chide @@ -292,12 +292,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. &Done - + &Gata The installation is complete. Close the installer. - + Instalarea este completă. Închide instalatorul. @@ -313,22 +313,22 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. CalamaresPython::Helper - + Unknown exception type Tip de excepție necunoscut - + unparseable Python error Eroare Python neanalizabilă - + unparseable Python traceback Traceback Python neanalizabil - + Unfetchable Python error. Eroare Python nepreluabilă @@ -530,6 +530,14 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.S-au eliminat toate montările temporare. + + ContextualProcessJob + + + Contextual Processes Job + Job de tip Contextual Process + + CreatePartitionDialog @@ -540,7 +548,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. MiB - + MiB @@ -915,7 +923,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. MiB - + MiB @@ -1019,7 +1027,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. - + <h1>Instalarea a eșuat</h1><br/>%1 nu a mai fost instalat pe acest calculator.<br/>Mesajul de eroare era: %2. @@ -1032,12 +1040,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. Installation Complete - + Instalarea s-a terminat The installation of %1 is complete. - + Instalarea este %1 completă. @@ -1086,21 +1094,17 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. InteractiveTerminalPage - - - + Konsole not installed Konsole nu este instalat - - - - Please install the kde konsole and try again! - Vă rugăm să instalați kde konsole și încercați din nou! + + Please install KDE Konsole and try again! + Trebuie să instalezi KDE Konsole și să încerci din nou! - + Executing script: &nbsp;<code>%1</code> Se execută scriptul: &nbsp;<code>%1</code> @@ -1154,7 +1158,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. &OK - + %Ok @@ -1301,14 +1305,14 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Despre - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalarea rețelei. (Dezactivat: Nu se pot obține listele de pachete, verificați conexiunea la rețea) - + Network Installation. (Disabled: Received invalid groups data) - + Instalare prin rețea. (Dezactivată: S-au recepționat grupuri de date invalide) @@ -1631,6 +1635,46 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.A fost creată o partiție de boot împreună cu o partiție root criptată, dar partiția de boot nu este criptată.<br/><br/>Sunt potențiale probleme de securitate cu un astfel de aranjament deoarece importante fișiere de sistem sunt păstrate pe o partiție necriptată.<br/>Puteți continua dacă doriți, dar descuierea sistemului se va petrece mai târziu în timpul pornirii.<br/>Pentru a cripta partiția de boot, reveniți și recreați-o, alegând opțiunea <strong>Criptează</strong> din fereastra de creare de partiții. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Job de tip Plasma Look-and-Feel + + + + + Could not select KDE Plasma Look-and-Feel package + Nu s-a putut selecta pachetul pentru KDE Plasma Look-and-Feel + + + + PlasmaLnfPage + + + Form + Formular + + + + Placeholder + Substituent + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Trebuie să alegi o interfață pentru KDE Plasma Desktop Poți sări acest pas și să configurezi interfața și după instalarea sistemului. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Interfață + + QObject @@ -1800,28 +1844,28 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. The screen is too small to display the installer. - + Ecranu este prea mic pentru a afișa instalatorul. ResizePartitionJob - + Resize partition %1. Redimensionează partiția %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Redimensionează partiția <strong>%1</strong> de la<strong>%2MB</strong> la <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Se redimensionează partiția %1 de la %2MG la %3MB. - + The installer failed to resize partition %1 on disk '%2'. Programul de instalare nu a redimensionat partiția %1 pe discul „%2”. @@ -1902,77 +1946,77 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. SetPartFlagsJob - + Set flags on partition %1. Setează flag-uri pentru partiția %1. - + Set flags on %1MB %2 partition. Setează flagurile pe partiția %2 de %1MB. - + Set flags on new partition. Setează flagurile pe noua partiție. - + Clear flags on partition <strong>%1</strong>. Șterge flag-urile partiției <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Elimină flagurile pe partiția <strong>%2</strong> de %1MB. - + Clear flags on new partition. Elimină flagurile pentru noua partiție. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Marchează partiția <strong>%1</strong> cu flag-ul <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Marchează partiția <strong>%2</strong> de %1MB ca <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Marchează noua partiție ca <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Se șterg flag-urile pentru partiția <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Se elimină flagurile pe partiția <strong>%2</strong> de %1MB. - + Clearing flags on new partition. Se elimină flagurile de pe noua partiție. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Se setează flag-urile <strong>%2</strong> pentru partiția <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Se setează flagurile <strong>%3</strong> pe partiția <strong>%2</strong> de %1MB. - + Setting flags <strong>%1</strong> on new partition. Se setează flagurile <strong>%1</strong> pe noua partiție. @@ -1981,21 +2025,6 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.The installer failed to set flags on partition %1. Programul de instalare a eșuat în setarea flag-urilor pentru partiția %1. - - - Could not open device '%1'. - Nu s-a putut deschide dispozitivul „%1”. - - - - Could not open partition table on device '%1'. - Nu s-a putut deschide tabela de partiții pentru dispozitivul „%1”. - - - - Could not find partition '%1'. - Nu a fost găsită partiția „%1”. - SetPasswordJob @@ -2094,6 +2123,123 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Sumar + + TrackingInstallJob + + + Installation feedback + Feedback pentru instalare + + + + Sending installation feedback. + Trimite feedback pentru instalare + + + + Internal error in install-tracking. + Eroare internă în gestionarea instalării. + + + + HTTP request timed out. + Requestul HTTP a atins time out. + + + + TrackingMachineNeonJob + + + Machine feedback + Feedback pentru mașină + + + + Configuring machine feedback. + Se configurează feedback-ul pentru mașină + + + + + Error in machine feedback configuration. + Eroare în configurația de feedback pentru mașină. + + + + Could not configure machine feedback correctly, script error %1. + Nu s-a putut configura feedback-ul pentru mașină în mod corect, eroare de script %1 + + + + Could not configure machine feedback correctly, Calamares error %1. + Nu s-a putut configura feedback-ul pentru mașină în mod corect, eroare Calamares %1. + + + + TrackingPage + + + Form + Formular + + + + Placeholder + Substituent + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Prin selectarea acestei opțiuni <span style=" font-weight:600;">nu vei trimite nicio informație</span> vei trimite informații despre instalare.</p></body></html> + + + + + + TextLabel + EtichetăText + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Clic aici pentru mai multe informații despre feedback-ul de la utilizatori</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Urmărirea instalărilor ajută %1 să măsoare numărul de utilizatori, hardware-ul pe care se instalează %1 și (cu ajutorul celor două opțiuni de mai jos) poate obține informații în mod continuu despre aplicațiile preferate. Pentru a vedea ce informații se trimit, clic pe pictograma de ajutor din dreptul fiecărei zone. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Alegând să trimiți aceste informații despre instalare și hardware vei trimite aceste informații <b>o singură dată</b> după finalizarea instalării. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Prin această alegere vei trimite informații despre instalare, hardware și aplicații în mod <b>periodic</b>. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Prin această alegere vei trimite informații în mod <b>regulat</b> despre instalare, hardware, aplicații și tipare de utilizare la %1. + + + + TrackingViewStep + + + Feedback + Feedback + + UsersPage @@ -2130,12 +2276,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. Password is too short - + Parola este prea scurtă Password is too long - + Parola este prea lungă @@ -2186,7 +2332,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Bun venit în programul de instalare Calamares pentru %1.</h1> @@ -2196,7 +2342,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>pentru %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Mulțumim: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg și <a href="https://www.transifex.com/calamares/calamares/">Echipei de translatori Calamares</a>.<br/><br/>Dezvoltarea<a href="http://calamares.io/">Calamares</a> este sponsorizată de <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 5f69ca3cd..398a3c7e6 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -123,12 +123,12 @@ Выполняется команда %1 %2 - + External command crashed Во внешней команде произошел сбой - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Невозможно запустить внешнюю команду - + Command %1 failed to start. Невозможно запустить команду %1. - + Internal error when starting command Внутрення ошибка при запуске команды - + Bad parameters for process job call. Неверные параметры для вызова процесса. - + External command failed to finish Невозможно завершить внешнюю команду - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Внешняя команда завершилась с ошибками - + Command %1 finished with exit code %2. Output: %3 @@ -240,7 +240,7 @@ Output: Cancel installation without changing the system. - + Отменить установку без изменения системы. @@ -291,7 +291,7 @@ The installer will quit and all changes will be lost. &Done - + &Готово @@ -312,22 +312,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Неизвестный тип исключения - + unparseable Python error неподдающаяся обработке ошибка Python - + unparseable Python traceback неподдающийся обработке traceback Python - + Unfetchable Python error. Неизвестная ошибка Python @@ -529,6 +529,14 @@ The installer will quit and all changes will be lost. Освобождены все временные точки монтирования. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -539,7 +547,7 @@ The installer will quit and all changes will be lost. MiB - + МиБ @@ -914,7 +922,7 @@ The installer will quit and all changes will be lost. MiB - + МиБ @@ -1031,12 +1039,12 @@ The installer will quit and all changes will be lost. Installation Complete - + Установка завершена The installation of %1 is complete. - + Установка %1 завершена. @@ -1085,21 +1093,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed Программа Konsole не установлена - - - - Please install the kde konsole and try again! - Пожалуйста, установите программу Konsole и попробуйте еще раз! + + Please install KDE Konsole and try again! + Установите KDE Konsole и попробуйте ещё раз! - + Executing script: &nbsp;<code>%1</code> Выполняется сценарий: &nbsp;<code>%1</code> @@ -1300,12 +1304,12 @@ The installer will quit and all changes will be lost. Описание - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Установка по сети. (Отключено: не удается получить список пакетов, проверьте сетевое подключение) - + Network Installation. (Disabled: Received invalid groups data) @@ -1630,6 +1634,46 @@ The installer will quit and all changes will be lost. Включено шифрование корневого раздела, но использован отдельный загрузочный раздел без шифрования.<br/><br/>При такой конфигурации возникают проблемы с безопасностью, потому что важные системные файлы хранятся на разделе без шифрования.<br/>Если хотите, можете продолжить, но файловая система будет разблокирована позднее во время загрузки системы.<br/>Чтобы включить шифрование загрузочного раздела, вернитесь назад и снова создайте его, отметив <strong>Шифровать</strong> в окне создания раздела. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Форма + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1805,22 +1849,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. Изменить размер раздела %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Изменить размер <strong>%2MB</strong> раздела <strong>%1</strong> на <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Изменяю размер раздела %1 с %2MB на %3MB. - + The installer failed to resize partition %1 on disk '%2'. Программе установки не удалось изменить размер раздела %1 на диске '%2'. @@ -1901,77 +1945,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. Установить флаги на разделе %1. - + Set flags on %1MB %2 partition. Установить флаги %1MB раздела %2. - + Set flags on new partition. Установить флаги нового раздела. - + Clear flags on partition <strong>%1</strong>. Очистить флаги раздела <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Очистить флаги %1MB раздела <strong>%2</strong>. - + Clear flags on new partition. Сбросить флаги нового раздела. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Отметить раздел <strong>%1</strong> флагом как <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Отметить %1MB раздел <strong>%2</strong> флагом как <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Отметить новый раздел флагом как <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Очистка флагов раздела <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Очистка флагов %1MB раздела <strong>%2</strong>. - + Clearing flags on new partition. Сброс флагов нового раздела. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Установка флагов <strong>%2</strong> на раздел <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Установка флагов <strong>%3</strong> %1MB раздела <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. Установка флагов <strong>%1</strong> нового раздела. @@ -1980,21 +2024,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. Установщик не смог установить флаги на раздел %1. - - - Could not open device '%1'. - Не удалось открыть устройство '%1'. - - - - Could not open partition table on device '%1'. - Не удалось открыть таблицу разделов устройства '%1'. - - - - Could not find partition '%1'. - Не удалось найти раздел '%1'. - SetPasswordJob @@ -2026,7 +2055,7 @@ The installer will quit and all changes will be lost. passwd terminated with error code %1. - + Команда passwd завершилась с кодом ошибки %1. @@ -2093,6 +2122,123 @@ The installer will quit and all changes will be lost. Итог + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Форма + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage @@ -2129,12 +2275,12 @@ The installer will quit and all changes will be lost. Password is too short - + Слишком короткий пароль Password is too long - + Слишком длинный пароль diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index 6ed445fbb..7780d2548 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -123,12 +123,12 @@ Spúšťa sa príkaz %1 %2 - + External command crashed Externý príkaz nečakane skončil - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Výstup: %2 - + External command failed to start Zlyhalo spustenie externého príkazu - + Command %1 failed to start. Zlyhalo spustenie príkazu %1. - + Internal error when starting command Vnútorná chyba pri spúšťaní príkazu - + Bad parameters for process job call. Nesprávne parametre pre volanie úlohy procesu. - + External command failed to finish Zlyhalo dokončenie externého príkazu - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Výstup: %3 - + External command finished with errors Externý príkaz bol dokončený s chybami - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. CalamaresPython::Helper - + Unknown exception type Neznámy typ výnimky - + unparseable Python error Neanalyzovateľná chyba jazyka Python - + unparseable Python traceback Neanalyzovateľný ladiaci výstup jazyka Python - + Unfetchable Python error. Nezískateľná chyba jazyka Python. @@ -530,6 +530,14 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Vymazané všetky dočasné pripojenia. + + ContextualProcessJob + + + Contextual Processes Job + Úloha kontextových procesov + + CreatePartitionDialog @@ -854,12 +862,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Write LUKS configuration for Dracut to %1 - Zápis konfigurácie LUKS pre nástroj Dracut do %1 + Zápis nastavenia LUKS pre nástroj Dracut do %1 Skip writing LUKS configuration for Dracut: "/" partition is not encrypted - Vynechanie zápisu konfigurácie LUKS pre nástroj Dracut: oddiel „/“ nie je zašifrovaný + Vynechanie zápisu nastavenia LUKS pre nástroj Dracut: oddiel „/“ nie je zašifrovaný @@ -1086,21 +1094,17 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. InteractiveTerminalPage - - - + Konsole not installed Aplikácia Konsole nie je nainštalovaná - - - - Please install the kde konsole and try again! - Prosím, nainštalujte aplikáciu kde konsole a skúste to znovu! + + Please install KDE Konsole and try again! + Prosím, nainštalujte Konzolu prostredia KDE a skúste to znovu! - + Executing script: &nbsp;<code>%1</code> Spúšťa sa skript: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Popis - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Sieťová inštalácia. (Zakázaná: Nie je možné získať zoznamy balíkov. Skontrolujte vaše sieťové pripojenie.) - + Network Installation. (Disabled: Received invalid groups data) Sieťová inštalácia. (Zakázaná: Boli prijaté neplatné údaje o skupinách) @@ -1603,12 +1607,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. No EFI system partition configured - Nie je nakonfigurovaný žiadny oddiel systému EFI + Nie je nastavený žiadny oddiel systému EFI An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a FAT32 filesystem with the <strong>esp</strong> flag enabled and mount point <strong>%2</strong>.<br/><br/>You can continue without setting up an EFI system partition but your system may fail to start. - Oddiel systému EFI je potrebný pre spustenie distribúcie %1.<br/><br/>Na konfiguráciu oddielu systému EFI prejdite späť a vyberte alebo vytvorte systém súborov FAT32 s povolenou značkou <strong>esp</strong> a bod pripojenia <strong>%2</strong>.<br/><br/>Môžete porkačovať bez nastavenia oddielu systému EFI, ale váš systém môže pri spustení zlyhať. + Oddiel systému EFI je potrebný pre spustenie distribúcie %1.<br/><br/>Na nastavenie oddielu systému EFI prejdite späť a vyberte alebo vytvorte systém súborov FAT32 s povolenou značkou <strong>esp</strong> a bod pripojenia <strong>%2</strong>.<br/><br/>Môžete pokračovať bez nastavenia oddielu systému EFI, ale váš systém môže pri spustení zlyhať. @@ -1618,7 +1622,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. An EFI system partition is necessary to start %1.<br/><br/>A partition was configured with mount point <strong>%2</strong> but its <strong>esp</strong> flag is not set.<br/>To set the flag, go back and edit the partition.<br/><br/>You can continue without setting the flag but your system may fail to start. - Oddiel systému EFI je potrebný pre spustenie distribúcie %1.<br/><br/>Oddiel bol nakonfigurovaný s bodom pripojenia <strong>%2</strong>, ale nemá nastavenú značku <strong>esp</strong>.<br/>Na nastavenie značky prejdite späť a upravte oddiel.<br/><br/>Môžete porkačovať bez nastavenia značky, ale váš systém môže pri spustení zlyhať. + Oddiel systému EFI je potrebný pre spustenie distribúcie %1.<br/><br/>Oddiel bol nastavený s bodom pripojenia <strong>%2</strong>, ale nemá nastavenú značku <strong>esp</strong>.<br/>Na nastavenie značky prejdite späť a upravte oddiel.<br/><br/>Môžete pokračovať bez nastavenia značky, ale váš systém môže pri spustení zlyhať. @@ -1631,6 +1635,46 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Spolu so zašifrovaným koreňovým oddielom bol nainštalovaný oddelený zavádzací oddiel, ktorý ale nie je zašifrovaný.<br/><br/>S týmto typom inštalácie je ohrozená bezpečnosť, pretože dôležité systémové súbory sú uchovávané na nezašifrovanom oddieli.<br/>Ak si to želáte, môžete pokračovať, ale neskôr, počas spúšťania systému sa vykoná odomknutie systému súborov.<br/>Na zašifrovanie zavádzacieho oddielu prejdite späť a vytvorte ju znovu vybraním voľby <strong>Zašifrovať</strong> v okne vytvárania oddielu. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Úloha vzhľadu a dojmu prostredia Plasma + + + + + Could not select KDE Plasma Look-and-Feel package + Nepodarilo sa vybrať balík vzhľadu a dojmu prostredia KDE Plasma + + + + PlasmaLnfPage + + + Form + Forma + + + + Placeholder + Zástupný text + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Prosím, zvoľte vzhľad a dojem pre pracovné prostredie KDE Plasma. Tento krok môžete preskočiť a nastaviť vzhľad a dojem po inštalácii systému. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Vzhľad a dojem + + QObject @@ -1806,22 +1850,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. ResizePartitionJob - + Resize partition %1. Zmena veľkosti oddielu %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Zmena veľkosti <strong>%2MB</strong> oddielu <strong>%1</strong> na <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Mení sa veľkosť %2MB oddielu %1 na %3MB. - + The installer failed to resize partition %1 on disk '%2'. Inštalátor zlyhal pri zmene veľkosti oddielu %1 na disku „%2“. @@ -1879,7 +1923,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Failed to write keyboard configuration for the virtual console. - Zlyhalo zapísanie konfigurácie klávesnice pre virtuálnu konzolu. + Zlyhalo zapísanie nastavenia klávesnice pre virtuálnu konzolu. @@ -1891,88 +1935,88 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Failed to write keyboard configuration for X11. - Zlyhalo zapísanie konfigurácie klávesnice pre server X11. + Zlyhalo zapísanie nastavenia klávesnice pre server X11. Failed to write keyboard configuration to existing /etc/default directory. - Zlyhalo zapísanie konfigurácie klávesnice do existujúceho adresára /etc/default. + Zlyhalo zapísanie nastavenia klávesnice do existujúceho adresára /etc/default. SetPartFlagsJob - + Set flags on partition %1. Nastavenie značiek na oddieli %1. - + Set flags on %1MB %2 partition. Nastavenie značiek na %1MB oddieli %2. - + Set flags on new partition. Nastavenie značiek na novom oddieli. - + Clear flags on partition <strong>%1</strong>. Vymazanie značiek na oddieli <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Vymazanie značiek na %1MB oddieli <strong>%2</strong>. - + Clear flags on new partition. Vymazanie značiek na novom oddieli. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Označenie oddielu <strong>%1</strong> ako <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Označenie %1MB oddielu <strong>%2</strong> ako <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. Označenie nového oddielu ako <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Vymazávajú sa značky na oddieli <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Vymazávajú sa značky na %1MB oddieli <strong>%2</strong>. - + Clearing flags on new partition. Vymazávajú sa značky na novom oddieli. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Nastavujú sa značky <strong>%2</strong> na oddieli <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Nastavujú sa značky <strong>%3</strong> na %1MB oddieli <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. Nastavujú sa značky <strong>%1</strong> na novom oddieli. @@ -1981,21 +2025,6 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. The installer failed to set flags on partition %1. Inštalátor zlyhal pri nastavovaní značiek na oddieli %1. - - - Could not open device '%1'. - Nepodarilo sa otvoriť zariadenie „%1“. - - - - Could not open partition table on device '%1'. - Nepodarilo sa otvoriť tabuľku oddielov na zariadení „%1“. - - - - Could not find partition '%1'. - Nepodarilo sa nájsť oddiel „%1“. - SetPasswordJob @@ -2094,6 +2123,123 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Súhrn + + TrackingInstallJob + + + Installation feedback + Spätná väzba inštalácie + + + + Sending installation feedback. + Odosiela sa spätná väzba inštalácie. + + + + Internal error in install-tracking. + Interná chyba príkazu install-tracking. + + + + HTTP request timed out. + Požiadavka HTTP vypršala. + + + + TrackingMachineNeonJob + + + Machine feedback + Spätná väzba počítača + + + + Configuring machine feedback. + Nastavuje sa spätná väzba počítača. + + + + + Error in machine feedback configuration. + Chyba pri nastavovaní spätnej väzby počítača. + + + + Could not configure machine feedback correctly, script error %1. + Nepodarilo sa správne nastaviť spätnú väzbu počítača. Chyba skriptu %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Nepodarilo sa správne nastaviť spätnú väzbu počítača. Chyba inštalátora Calamares %1. + + + + TrackingPage + + + Form + Forma + + + + Placeholder + Zástupný text + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Výberom tejto voľby neodošlete <span style=" font-weight:600;">žiadne informácie</span> o vašej inštalácii.</p></body></html> + + + + + + TextLabel + Textová menovka + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Kliknutím sem získate viac informácií o spätnej väzbe od používateľa</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Inštalácia sledovania pomáha distribúcii %1 vidieť, koľko používateľov ju používa, na akom hardvéri inštalujú distribúciu %1 a (s poslednými dvoma voľbami nižšie) získavať nepretržité informácie o uprednostňovaných aplikáciách. Na zobrazenie, čo bude odosielané, prosím, kliknite na ikonu pomocníka vedľa každej oblasti. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Vybraním tejto voľby odošlete informácie o vašej inštalácii a hardvéri. Tieto informácie budú <b>odoslané iba raz</b> po dokončení inštalácie. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Vybraním tejto voľby budete <b>pravidelne</b> odosielať informácie o vašej inštalácii, hardvéri a aplikáciách distribúcii %1. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Vybraním tejto voľby budete <b>neustále</b> odosielať informácie o vašej inštalácii, hardvéri, aplikáciách a charakteristike používania distribúcii %1. + + + + TrackingViewStep + + + Feedback + Spätná väzba + + UsersPage diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index 3dbca1d05..d8525f7b8 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -123,12 +123,12 @@ - + External command crashed Zunanji ukaz se je sesul - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Izpis: %2 - + External command failed to start Zunanjega ukaza ni bilo mogoče zagnati - + Command %1 failed to start. Ukaz %1 se ni zagnal. - + Internal error when starting command Notranja napaka ob zagonu ukaza - + Bad parameters for process job call. Nepravilni parametri za klic procesa opravila. - + External command failed to finish Zunanji ukaz se ni uspel zaključiti - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Izpis: %3 - + External command finished with errors Zunanji ukaz se je zaključil z napakami - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. CalamaresPython::Helper - + Unknown exception type Neznana vrsta izjeme - + unparseable Python error nerazčlenljiva napaka Python - + unparseable Python traceback - + Unfetchable Python error. @@ -530,6 +530,14 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Vsi začasni priklopi so bili počiščeni. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Oblika + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1902,77 +1946,77 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Ni mogoče odpreti naprave '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Povzetek + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Oblika + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index 95cd4e1f5..1764b01f2 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -123,12 +123,12 @@ Po xhirohet urdhri %1 %2 - + External command crashed Urdhri i jashtëm u vithis - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Mesazh: %2 - + External command failed to start Urdhri i jashtëm s’arriti të niset - + Command %1 failed to start. Urdhri %1 s’arriti të niset. - + Internal error when starting command Gabim i brendshëm teksa nisej urdhri - + Bad parameters for process job call. Parametra të gabuar për thirrje akti procesi. - + External command failed to finish Urdhri i jashtëm s’arriti të përfundohej - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Mesazh: %3 - + External command finished with errors Urdhri i jashtëm u plotësua me gabime - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. CalamaresPython::Helper - + Unknown exception type Lloj i panjohur përjashtimi - + unparseable Python error Gabim kodi Python të papërtypshëm dot - + unparseable Python traceback <i>Traceback</i> Python i papërtypshëm - + Unfetchable Python error. Gabim Python mosprurjeje kodi. @@ -530,6 +530,14 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. U hoqën krejt montimet e përkohshme. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. InteractiveTerminalPage - - - + Konsole not installed Konsol e painstaluar - - - - Please install the kde konsole and try again! - Ju lutemi, instaloni konsolën KDE dhe riprovoni! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Po përmbushet programthi: &nbsp;<code>%1</code> @@ -1118,12 +1122,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Set keyboard model to %1.<br/> - Si model tastiere cakto %1.<br/> + Si model tastiere do të caktohet %1.<br/> Set keyboard layout to %1/%2. - Si model tastiere cakto %1%2. + Si model tastiere do të caktohet %1%2. @@ -1266,7 +1270,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Set timezone to %1/%2.<br/> - Si zonë kohore cakto %1/%2.<br/> + Si zonë kohore do të caktohet %1/%2.<br/> @@ -1301,12 +1305,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Përshkrim - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Instalim Nga Rrjeti. (U çaktivizua: S’arrihet të sillen lista paketash, kontrolloni lidhjen tuaj në rrjet) - + Network Installation. (Disabled: Received invalid groups data) Instalim Nga Rrjeti. (U çaktivizua: U morën të dhëna të pavlefshme grupesh) @@ -1525,7 +1529,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Install boot &loader on: - Instalo &ngarkues nisjesh: + Instalo &ngarkues nisjesh në: @@ -1631,6 +1635,46 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Tok me ndarjen e fshehtëzuar <em>root</em> qe rregulluar edhe një ndarje <em>boot</em> veçmas, por ndarja <em>boot</em> s’është e fshehtëzuar.<br/><br/>Ka preokupime mbi sigurinë e këtij lloj rregullimi, ngaqë kartela të rëndësishme sistemi mbahen në një ndarje të pafshehtëzuar.<br/>Mund të vazhdoni nëse doni, por shkyçja e sistemit të kartelave do të ndodhë më vonë, gjatë nisjes së sistemit.<br/>Që të fshehtëzoni ndarjen <em>boot</em>, kthehuni mbrapsht dhe rikrijojeni, duke përzgjedhur te skena e krijimit të ndarjes <strong>Fshehtëzoje</strong>. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Formular + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. ResizePartitionJob - + Resize partition %1. Ripërmaso ndarjen %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Ripërmasoje ndarjen <strong>%2MB</strong> <strong>%1</strong> në <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Po ripërmasohet ndarja %2MB %1 në %3MB. - + The installer failed to resize partition %1 on disk '%2'. Instaluesi s’arriti të ripërmasojë ndarjen %1 në diskun '%2'. @@ -1874,7 +1918,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Set keyboard model to %1, layout to %2-%3 - Si model tastiere cakto %1, si skemë %2-%3 + Si model tastiere do të caktohet %1, si skemë %2-%3 @@ -1902,77 +1946,77 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. SetPartFlagsJob - + Set flags on partition %1. Caktoni flamurka në ndarjen %1. - + Set flags on %1MB %2 partition. Caktoni flamurka në ndarjen %1MB %2.` - + Set flags on new partition. Caktoni flamurka në ndarje të re. - + Clear flags on partition <strong>%1</strong>. Hiqi flamurkat te ndarja <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Hiqi flamurkat te ndarja %1MB <strong>%2</strong>. - + Clear flags on new partition. Hiqi flamurkat te ndarja e re. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. I vini shenjë ndarjes <strong>%1</strong> si <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. I vini shenjë ndarjes %1MB <strong>%2</strong> si <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. I vini shenjë ndarjes së re si <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. Po hiqen shenjat në ndarjen <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Po hiqen shenjat në ndarjen %1MB <strong>%2</strong>. - + Clearing flags on new partition. Po hiqen shenjat në ndarjen e re. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Po vihen flamurkat <strong>%2</strong> në ndarjen <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Po vihen flamurkat <strong>%3</strong> në ndarjen %1MB <strong>%2</strong>. - + Setting flags <strong>%1</strong> on new partition. Po vihen flamurkat <strong>%1</strong> në ndarjen e re. @@ -1981,21 +2025,6 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. The installer failed to set flags on partition %1. Instaluesi s’arriti të vërë flamurka në ndarjen %1. - - - Could not open device '%1'. - S’u hap dot pajisja '%1'. - - - - Could not open partition table on device '%1'. - S’u hap dot tabela e ndarjeve te pajisja '%1'. - - - - Could not find partition '%1'. - S’u gjet dot ndarjeve '%1'. - SetPasswordJob @@ -2045,7 +2074,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Set timezone to %1/%2 - Si zonë kohore cakto %1/%2 + Si zonë kohore do të caktohet %1/%2 @@ -2094,6 +2123,123 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Përmbledhje + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Formular + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 6997bee82..22c6501ff 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -123,12 +123,12 @@ Извршавам команду %1 %2 - + External command crashed Спољашња наредба се срушила - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Покретање спољашње наредбе није успело - + Command %1 failed to start. Покретање наредбе %1 није успело - + Internal error when starting command Интерна грешка при покретању наредбе - + Bad parameters for process job call. Лоши параметри при позиву посла процеса. - + External command failed to finish Спољашња наредба није завршила - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Спољашња наредба извршена уз грешке - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Непознат тип изузетка - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ The installer will quit and all changes will be lost. Опис - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Форма + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1902,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Није могуће отворити уређај '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ The installer will quit and all changes will be lost. Сажетак + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Форма + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index f5e0f6b68..41b43af63 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -123,12 +123,12 @@ - + External command crashed Izvršavanje eksterne komande nije uspjelo - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Povratna poruka: %2 - + External command failed to start Pokretanje komande nije uspjelo - + Command %1 failed to start. Neuspješno pokretanje komande %1. - + Internal error when starting command Interna greška kod pokretanja komande - + Bad parameters for process job call. Pogrešni parametri kod poziva funkcije u procesu. - + External command failed to finish Izvršavanje eksterne komande nije dovršeno - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Povratna poruka: %3 - + External command finished with errors Greška u izvršavanju eksterne komande - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. CalamaresPython::Helper - + Unknown exception type Nepoznat tip izuzetka - + unparseable Python error unparseable Python error - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Unfetchable Python error. @@ -530,6 +530,14 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. ResizePartitionJob - + Resize partition %1. Promjeni veličinu particije %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1902,77 +1946,77 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Nemoguće otvoriti uređaj '%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. Izveštaj + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index cc59caff7..bc8450041 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -123,12 +123,12 @@ Kör kommando %1 %2 - + External command crashed Externt kommando kraschade - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Utdata: %2 - + External command failed to start Externt kommando misslyckades med att starta - + Command %1 failed to start. Kommando %1 misslyckades med att starta. - + Internal error when starting command Internt fel under kommandostart - + Bad parameters for process job call. Ogiltiga parametrar för processens uppgiftsanrop. - + External command failed to finish Externt kommando misslyckades med att avsluta. - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Utdata: %3 - + External command finished with errors Externt kommando avslutade med fel - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Alla ändringar kommer att gå förlorade. CalamaresPython::Helper - + Unknown exception type Okänd undantagstyp - + unparseable Python error Otolkbart Pythonfel - + unparseable Python traceback Otolkbar Python-traceback - + Unfetchable Python error. Ohämtbart Pythonfel @@ -530,6 +530,14 @@ Alla ändringar kommer att gå förlorade. Rensade alla tillfälliga monteringspunkter + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ Alla ändringar kommer att gå förlorade. InteractiveTerminalPage - - - + Konsole not installed Konsole inte installerat - - - - Please install the kde konsole and try again! - Installera KDE:s Konsole och försök igen. + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Kör skript: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ Alla ändringar kommer att gå förlorade. Beskrivning - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Nätverksinstallation. (Inaktiverad: Kan inte hämta paketlistor, kontrollera nätverksanslutningen) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ Alla ändringar kommer att gå förlorade. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Form + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ Alla ändringar kommer att gå förlorade. ResizePartitionJob - + Resize partition %1. Ändra storlek på partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Ändrar storlek på %2 MB-partitionen %1 till %3 MB. - + The installer failed to resize partition %1 on disk '%2'. Installationsprogrammet misslyckades med att ändra storleken på partition %1 på disk '%2'. @@ -1902,77 +1946,77 @@ Alla ändringar kommer att gå förlorade. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ Alla ändringar kommer att gå förlorade. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - Kunde inte öppna enhet "%1'. - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ Alla ändringar kommer att gå förlorade. Översikt + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Form + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index d34fb8575..5400f28c4 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -123,12 +123,12 @@ กำลังเรียกใช้คำสั่ง %1 %2 - + External command crashed คำสั่งภายนอกล้มเหลว - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start การเริ่มต้นคำสั่งภายนอกล้มเหลว - + Command %1 failed to start. การเริ่มต้นคำสั่ง %1 ล้มเหลว - + Internal error when starting command เกิดข้อผิดพลาดภายในขณะเริ่มต้นคำสั่ง - + Bad parameters for process job call. พารามิเตอร์ไม่ถูกต้องสำหรับการเรียกการทำงาน - + External command failed to finish การจบคำสั่งภายนอกล้มเหลว - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors คำสั่งภายนอกจบพร้อมกับข้อผิดพลาด - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type ข้อผิดพลาดไม่ทราบประเภท - + unparseable Python error ข้อผิดพลาด unparseable Python - + unparseable Python traceback ประวัติย้อนหลัง unparseable Python - + Unfetchable Python error. ข้อผิดพลาด Unfetchable Python @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. จุดเชื่อมต่อชั่วคราวทั้งหมดถูกล้างแล้ว + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1631,6 +1635,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + ฟอร์ม + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. เปลี่ยนขนาดพาร์ทิชัน %1 - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. ตัวติดตั้งไม่สามารถเปลี่ยนขนาดพาร์ทิชัน %1 บนดิสก์ '%2' @@ -1902,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1981,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - ไม่สามารถเปิดอุปกรณ์ '%1' - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2094,6 +2123,123 @@ The installer will quit and all changes will be lost. สาระสำคัญ + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + ฟอร์ม + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 2a44099ad..fe7020d27 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -123,12 +123,12 @@ %1 Komutu çalışıyor %2 - + External command crashed Komut çöküş bildirdi - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Komut çalışmadı başarısız oldu - + Command %1 failed to start. Komut Başlamayamadı. %1 - + Internal error when starting command Dahili komut çalışırken hata oluştu - + Bad parameters for process job call. Çalışma adımları başarısız oldu. - + External command failed to finish Tamamlama komutu başarısız oldu - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Komut tamamlandı ancak hatalar oluştu - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. CalamaresPython::Helper - + Unknown exception type Bilinmeyen Özel Durum Tipi - + unparseable Python error Python hata ayıklaması - + unparseable Python traceback Python geri çekme ayıklaması - + Unfetchable Python error. Okunamayan Python hatası. @@ -533,6 +533,14 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Tüm geçici bağlar temizlendi. + + ContextualProcessJob + + + Contextual Processes Job + Bağlamsal Süreç İşleri + + CreatePartitionDialog @@ -1089,21 +1097,17 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. InteractiveTerminalPage - - - + Konsole not installed Konsole uygulaması yüklü değil - - - - Please install the kde konsole and try again! - Lütfen kde konsole uygulamasını yükleyin ve tekrar deneyin! + + Please install KDE Konsole and try again! + Lütfen KDE Konsole yükle ve tekrar dene! - + Executing script: &nbsp;<code>%1</code> Komut durumu: &nbsp;<code>%1</code> @@ -1304,12 +1308,12 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Açıklama - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Ağ Üzerinden Kurulum. (Devre Dışı: Paket listeleri alınamıyor, ağ bağlantısını kontrol ediniz) - + Network Installation. (Disabled: Received invalid groups data) Ağ Kurulum. (Devre dışı: Geçersiz grup verileri alındı) @@ -1635,6 +1639,46 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Plazma Look-and-Feel İşleri + + + + + Could not select KDE Plasma Look-and-Feel package + KDE Plazma Look-and-Feel paketi seçilemedi + + + + PlasmaLnfPage + + + Form + Biçim + + + + Placeholder + Yer tutucu + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + Lütfen KDE Plazma Masaüstü için bir look-and-feel paketi seçin. Sistem kurulduktan sonra bu adımı atlayabilir ve look-and-feel paketi ile yapılandırabilirsiniz. + + + + PlasmaLnfViewStep + + + Look-and-Feel + Look-and-Feel + + QObject @@ -1811,22 +1855,22 @@ Sistem güç kaynağına bağlı değil. ResizePartitionJob - + Resize partition %1. %1 bölümünü yeniden boyutlandır. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. <strong>%2MB</strong> <strong>%1</strong> disk bölümünü <strong>%3MB</strong> olarak yeniden boyutlandır. - + Resizing %2MB partition %1 to %3MB. %1 disk bölümü %2 boyutundan %3 boyutuna ayarlanıyor. - + The installer failed to resize partition %1 on disk '%2'. Yükleyici %1 bölümünü '%2' diski üzerinde yeniden boyutlandırılamadı. @@ -1907,77 +1951,77 @@ Sistem güç kaynağına bağlı değil. SetPartFlagsJob - + Set flags on partition %1. %1 bölüm bayrağını ayarla. - + Set flags on %1MB %2 partition. %1MB %2 Disk bölümüne bayrak ayarla. - + Set flags on new partition. Yeni disk bölümüne bayrak ayarla. - + Clear flags on partition <strong>%1</strong>. <strong>%1</strong> bölüm bayrağını kaldır. - + Clear flags on %1MB <strong>%2</strong> partition. %1MB <strong>%2</strong> disk bölümünden bayrakları temizle. - + Clear flags on new partition. Yeni disk bölümünden bayrakları temizle. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Bayrak bölüm <strong>%1</strong> olarak <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. %1MB <strong>%2</strong> disk bölüm bayrağı <strong>%3</strong> olarak belirlendi. - + Flag new partition as <strong>%1</strong>. Yeni disk bölümü <strong>%1</strong> olarak belirlendi. - + Clearing flags on partition <strong>%1</strong>. <strong>%1</strong> bölümünden bayraklar kaldırılıyor. - + Clearing flags on %1MB <strong>%2</strong> partition. %1MB <strong>%2</strong> disk bölümünden bayraklar temizleniyor. - + Clearing flags on new partition. Yeni disk bölümünden bayraklar temizleniyor. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. <strong>%2</strong> bayrakları <strong>%1</strong> bölümüne ayarlandı. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. <strong>%3</strong> bayrağı %1MB <strong>%2</strong> disk bölümüne ayarlanıyor. - + Setting flags <strong>%1</strong> on new partition. Yeni disk bölümüne <strong>%1</strong> bayrağı ayarlanıyor. @@ -1986,21 +2030,6 @@ Sistem güç kaynağına bağlı değil. The installer failed to set flags on partition %1. Yükleyici %1 bölüm bayraklarını ayarlamakta başarısız oldu. - - - Could not open device '%1'. - '%1' aygıtı açılamadı. - - - - Could not open partition table on device '%1'. - '%1' aygıtında bölümleme tablosu açılamadı. - - - - Could not find partition '%1'. - '%1' bölümü bulunamadı. - SetPasswordJob @@ -2099,6 +2128,123 @@ Sistem güç kaynağına bağlı değil. Kurulum Bilgileri + + TrackingInstallJob + + + Installation feedback + Kurulum geribildirimi + + + + Sending installation feedback. + Kurulum geribildirimi gönderiliyor. + + + + Internal error in install-tracking. + Kurulum izlemede dahili hata. + + + + HTTP request timed out. + HTTP isteği zaman aşımına uğradı. + + + + TrackingMachineNeonJob + + + Machine feedback + Makine geri bildirimi + + + + Configuring machine feedback. + Makine geribildirimini yapılandırma. + + + + + Error in machine feedback configuration. + Makine geri bildirim yapılandırmasında hata var. + + + + Could not configure machine feedback correctly, script error %1. + Makine geribildirimi doğru yapılandırılamadı, betik hatası %1. + + + + Could not configure machine feedback correctly, Calamares error %1. + Makine geribildirimini doğru bir şekilde yapılandıramadı, Calamares hata %1. + + + + TrackingPage + + + Form + Biçim + + + + Placeholder + Yer tutucu + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>Bunu seçerseniz <span style=" font-weight:600;">kurulum hakkında</span> hiçbir bilgi gönderemezsiniz.</p></body></html> + + + + + + TextLabel + MetinEtiketi + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Kullanıcı geri bildirimi hakkında daha fazla bilgi için burayı tıklayın</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + Yükleme takibi, sahip oldukları kaç kullanıcının, hangi donanımın %1'e kurulduğunu ve (son iki seçenekle birlikte) tercih edilen uygulamalar hakkında sürekli bilgi sahibi olmasını sağlamak için %1'e yardımcı olur. Ne gönderileceğini görmek için, lütfen her alanın yanındaki yardım simgesini tıklayın. + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + Bunu seçerseniz kurulum ve donanımınız hakkında bilgi gönderirsiniz. Bu bilgi, <b>kurulum tamamlandıktan sonra</b> yalnızca bir kez gönderilecektir. + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + Bunu seçerek <b>kurulum, donanım ve uygulamalarınızla ilgili bilgileri</b> düzenli olarak %1'e gönderirsiniz. + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + Bunu seçerek <b>kurulum, donanım ve uygulamalarınızla ilgili bilgileri </b> düzenli olarak %1 adresine gönderirsiniz. + + + + TrackingViewStep + + + Feedback + Geribildirim + + UsersPage diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 63d95f7f9..0a24767ed 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -123,12 +123,12 @@ Запуск команди %1 %2 - + External command crashed Зовнішня команда завершилася аварією - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start Не вдалося запустити зовнішню команду - + Command %1 failed to start. Не вдалося запустити команду %1. - + Internal error when starting command Внутрішня помилка під час запуску команди - + Bad parameters for process job call. Неправильні параметри визову завдання обробки. - + External command failed to finish Не вдалося завершити зовнішню команду - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors Зовнішня програма завершилася з помилками - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Невідомий тип виключної ситуації - + unparseable Python error нерозбірлива помилка Python - + unparseable Python traceback нерозбірливе відстеження помилки Python - + Unfetchable Python error. Помилка Python, інформацію про яку неможливо отримати. @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. Очищено всі тимчасові точки підключення. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed Konsole не встановлено - - - - Please install the kde konsole and try again! - Будь-ласка встановіть KDE Konsole та спробуйте знов! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> Виконується скрипт: &nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ The installer will quit and all changes will be lost. Опис - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) Встановлення через мережу. (Вимкнено: Неможливо отримати список пакетів, перевірте ваше підключення до мережі) - + Network Installation. (Disabled: Received invalid groups data) Встановлення через мережу. (Вимкнено: Отримано неправильні дані про групи) @@ -1631,6 +1635,46 @@ The installer will quit and all changes will be lost. Було налаштовано окремий завантажувальний розділ поряд із зашифрованим кореневим розділом, але завантажувальний розділ незашифрований.<br/><br/>Існують проблеми з безпекою такого типу, оскільки важливі системні файли зберігаються на незашифрованому розділі.<br/>Ви можете продовжувати, якщо бажаєте, але розблокування файлової системи відбудеться пізніше під час запуску системи.<br/>Щоб зашифрувати завантажувальний розділ, поверніться і створіть його знов, обравши <strong>Зашифрувати</strong> у вікні створення розділів. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + Форма + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1806,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. Змінити розмір розділу %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. Змінити розділ <strong>%1</strong> розміром <strong>%2MB</strong> до розміру <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. Змінюємо розділ %1 розміром %2MB до розміру %3MB. - + The installer failed to resize partition %1 on disk '%2'. Установник зазнав невдачі під час зміни розміру розділу %1 на диску '%2'. @@ -1902,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. Встановити прапорці на розділі %1. - + Set flags on %1MB %2 partition. Встановити прапорці на розділі %2 розміром %1 Мб. - + Set flags on new partition. Встановити прапорці на новому розділі. - + Clear flags on partition <strong>%1</strong>. Очистити прапорці на розділі <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. Очистити прапорці на розділі <strong>%2</strong> розміром %1 Мб. - + Clear flags on new partition. Очистити прапорці на новому розділі. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. Встановити прапорці <strong>%2</strong> для розділу <strong>%1</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. Встановити прапорці <strong>%3</strong> для розділу <strong>%2</strong> розміром %1 Мб. - + Flag new partition as <strong>%1</strong>. Встановити прапорці <strong>%1</strong> для нового розділу. - + Clearing flags on partition <strong>%1</strong>. Очищуємо прапорці для розділу <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. Очищуємо прапорці для розділу <strong>%2</strong> розміром %1 Мб. - + Clearing flags on new partition. Очищуємо прапорці для нового розділу. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. Встановлюємо прапорці <strong>%2</strong> для розділу <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. Встановлюємо прапорці <strong>%3</strong> для розділу <strong>%2</strong> розміром %1 Мб. - + Setting flags <strong>%1</strong> on new partition. Встановлюємо прапорці <strong>%1</strong> для нового розділу. @@ -1981,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. Установник зазнав невдачі під час встановлення прапорців для розділу %1. - - - Could not open device '%1'. - Не можу відкрити пристрій '%1'. - - - - Could not open partition table on device '%1'. - Не можу відкрити таблицю розділів на пристрої '%1'. - - - - Could not find partition '%1'. - Не можу знайти розділ '%1'. - SetPasswordJob @@ -2094,6 +2123,123 @@ The installer will quit and all changes will be lost. Огляд + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + Форма + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index 1a5cdca52..83b9f157f 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index feb247138..809e13b9b 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -123,56 +123,56 @@ - + External command crashed - + Command %1 crashed. Output: %2 - + External command failed to start - + Command %1 failed to start. - + Internal error when starting command - + Bad parameters for process job call. - + External command failed to finish - + Command %1 failed to finish in %2s. Output: %3 - + External command finished with errors - + Command %1 finished with exit code %2. Output: %3 @@ -306,22 +306,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type - + unparseable Python error - + unparseable Python traceback - + Unfetchable Python error. @@ -523,6 +523,14 @@ The installer will quit and all changes will be lost. + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1079,21 +1087,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed - - - - Please install the kde konsole and try again! + + Please install KDE Konsole and try again! - + Executing script: &nbsp;<code>%1</code> @@ -1294,12 +1298,12 @@ The installer will quit and all changes will be lost. - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) - + Network Installation. (Disabled: Received invalid groups data) @@ -1624,6 +1628,46 @@ The installer will quit and all changes will be lost. + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1799,22 +1843,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. - + Resizing %2MB partition %1 to %3MB. - + The installer failed to resize partition %1 on disk '%2'. @@ -1895,77 +1939,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. - + Set flags on %1MB %2 partition. - + Set flags on new partition. - + Clear flags on partition <strong>%1</strong>. - + Clear flags on %1MB <strong>%2</strong> partition. - + Clear flags on new partition. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. - + Clearing flags on %1MB <strong>%2</strong> partition. - + Clearing flags on new partition. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. - + Setting flags <strong>%1</strong> on new partition. @@ -1974,21 +2018,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. - - - Could not open device '%1'. - - - - - Could not open partition table on device '%1'. - - - - - Could not find partition '%1'. - - SetPasswordJob @@ -2087,6 +2116,123 @@ The installer will quit and all changes will be lost. + + TrackingInstallJob + + + Installation feedback + + + + + Sending installation feedback. + + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + + + UsersPage diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 96cd351fc..62e444feb 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -124,12 +124,12 @@ 正在运行命令 %1 %2 - + External command crashed 外部命令崩溃 - + Command %1 crashed. Output: %2 @@ -138,32 +138,32 @@ Output: %2 - + External command failed to start 外部命令启动失败 - + Command %1 failed to start. 命令 %1 启动失败。 - + Internal error when starting command 启动命令时出现内部错误 - + Bad parameters for process job call. 呼叫进程任务出现错误参数 - + External command failed to finish 外部命令结束失败 - + Command %1 failed to finish in %2s. Output: %3 @@ -172,12 +172,12 @@ Output: %3 - + External command finished with errors 外部命令完成且有错误信息 - + Command %1 finished with exit code %2. Output: %3 @@ -314,22 +314,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type 未知异常类型 - + unparseable Python error 无法解析的 Python 错误 - + unparseable Python traceback 无法解析的 Python 回溯 - + Unfetchable Python error. 无法获取的 Python 错误。 @@ -531,6 +531,14 @@ The installer will quit and all changes will be lost. 所有临时挂载点都已经清除。 + + ContextualProcessJob + + + Contextual Processes Job + + + CreatePartitionDialog @@ -1034,12 +1042,12 @@ The installer will quit and all changes will be lost. Installation Complete - + 安装完成 The installation of %1 is complete. - + %1 的安装操作已完成。 @@ -1088,21 +1096,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed 未安装 Konsole - - - - Please install the kde konsole and try again! - 请安装 KDE Konsole 然后重试! + + Please install KDE Konsole and try again! + - + Executing script: &nbsp;<code>%1</code> 正在运行脚本:&nbsp;<code>%1</code> @@ -1156,7 +1160,7 @@ The installer will quit and all changes will be lost. &OK - + &确定 @@ -1303,14 +1307,14 @@ The installer will quit and all changes will be lost. 描述 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) 网络安装。(已禁用:无法获取软件包列表,请检查网络连接) - + Network Installation. (Disabled: Received invalid groups data) - + 联网安装。(已禁用:收到无效组数据) @@ -1633,6 +1637,46 @@ The installer will quit and all changes will be lost. 您尝试用单独的引导分区配合已加密的根分区使用,但引导分区未加密。<br/><br/>这种配置方式可能存在安全隐患,因为重要的系统文件存储在了未加密的分区上。<br/>您可以继续保持此配置,但是系统解密将在系统启动时而不是引导时进行。<br/>要加密引导分区,请返回上一步并重新创建此分区,并在分区创建窗口选中 <strong>加密</strong> 选项。 + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + + + + + + Could not select KDE Plasma Look-and-Feel package + + + + + PlasmaLnfPage + + + Form + 表单 + + + + Placeholder + + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + + + + + PlasmaLnfViewStep + + + Look-and-Feel + + + QObject @@ -1808,22 +1852,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. 调整分区 %1 大小。 - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. 正将 <strong>%2MB</strong> 的分区<strong>%1</strong>为 <strong>%3MB</strong>。 - + Resizing %2MB partition %1 to %3MB. 正将 %2MB 的分区%1为 %3MB。 - + The installer failed to resize partition %1 on disk '%2'. 安装程序调整磁盘“%2”上的分区 %1 大小失败。 @@ -1904,77 +1948,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. 设置分区 %1 的标记. - + Set flags on %1MB %2 partition. 设置 %1MB %2 分区的标记. - + Set flags on new partition. 设置新分区的标记. - + Clear flags on partition <strong>%1</strong>. 清空分区 <strong>%1</strong> 上的标记. - + Clear flags on %1MB <strong>%2</strong> partition. 删除 %1MB <strong>%2</strong> 分区的标记. - + Clear flags on new partition. 删除新分区的标记. - + Flag partition <strong>%1</strong> as <strong>%2</strong>. 将分区 <strong>%2</strong> 标记为 <strong>%1</strong>。 - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. 将 %1MB <strong>%2</strong> 分区标记为 <strong>%3</strong>. - + Flag new partition as <strong>%1</strong>. 将新分区标记为 <strong>%1</strong>. - + Clearing flags on partition <strong>%1</strong>. 正在清理分区 <strong>%1</strong> 上的标记。 - + Clearing flags on %1MB <strong>%2</strong> partition. 正在删除 %1MB <strong>%2</strong> 分区的标记. - + Clearing flags on new partition. 正在删除新分区的标记. - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. 正在为分区 <strong>%1</strong> 设置标记 <strong>%2</strong>。 - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. 正在将 %1MB <strong>%2</strong> 分区标记为 <strong>%3</strong>. - + Setting flags <strong>%1</strong> on new partition. 正在将新分区标记为 <strong>%1</strong>. @@ -1983,21 +2027,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. 安装程序没有成功设置分区 %1 的标记. - - - Could not open device '%1'. - 无法打开设备 '%1'. - - - - Could not open partition table on device '%1'. - 无法打开设备 '%1' 的分区表。 - - - - Could not find partition '%1'. - 无法找到分区 '%1'。 - SetPasswordJob @@ -2096,6 +2125,123 @@ The installer will quit and all changes will be lost. 摘要 + + TrackingInstallJob + + + Installation feedback + 安装反馈 + + + + Sending installation feedback. + 发送安装反馈。 + + + + Internal error in install-tracking. + + + + + HTTP request timed out. + HTTP 请求超时。 + + + + TrackingMachineNeonJob + + + Machine feedback + + + + + Configuring machine feedback. + + + + + + Error in machine feedback configuration. + + + + + Could not configure machine feedback correctly, script error %1. + + + + + Could not configure machine feedback correctly, Calamares error %1. + + + + + TrackingPage + + + Form + 表单 + + + + Placeholder + + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + + + + + + + TextLabel + + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + + + + + TrackingViewStep + + + Feedback + 反馈 + + UsersPage @@ -2132,12 +2278,12 @@ The installer will quit and all changes will be lost. Password is too short - + 密码太短 Password is too long - + 密码太长 diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index 5b234a0d1..cb669cf02 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -123,12 +123,12 @@ 正在執行命令 %1 %2 - + External command crashed 外部指令崩潰 - + Command %1 crashed. Output: %2 @@ -137,32 +137,32 @@ Output: %2 - + External command failed to start 無法開始外部指令 - + Command %1 failed to start. 無法開始指令 %1 - + Internal error when starting command 開始指令時發生內部錯誤 - + Bad parameters for process job call. 呼叫程序的參數無效。 - + External command failed to finish 無法完成外部指令 - + Command %1 failed to finish in %2s. Output: %3 @@ -171,12 +171,12 @@ Output: %3 - + External command finished with errors 外部指令以錯誤方式完成 - + Command %1 finished with exit code %2. Output: %3 @@ -313,22 +313,22 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type 未知的例外型別 - + unparseable Python error 無法解析的 Python 錯誤 - + unparseable Python traceback 無法解析的 Python 回溯紀錄 - + Unfetchable Python error. 無法讀取的 Python 錯誤。 @@ -530,6 +530,14 @@ The installer will quit and all changes will be lost. 已清除所有暫時掛載。 + + ContextualProcessJob + + + Contextual Processes Job + 情境處理程序工作 + + CreatePartitionDialog @@ -1086,21 +1094,17 @@ The installer will quit and all changes will be lost. InteractiveTerminalPage - - - + Konsole not installed 未安裝 Konsole - - - - Please install the kde konsole and try again! - 請安裝 kde konsole 然後再試一次! + + Please install KDE Konsole and try again! + 請安裝 KDE Konsole 並再試一次! - + Executing script: &nbsp;<code>%1</code> 正在執行指令稿:&nbsp;<code>%1</code> @@ -1301,12 +1305,12 @@ The installer will quit and all changes will be lost. 描述 - + Network Installation. (Disabled: Unable to fetch package lists, check your network connection) 網路安裝。(已停用:無法擷取軟體包清單,請檢查您的網路連線) - + Network Installation. (Disabled: Received invalid groups data) 網路安裝。(已停用:收到無效的群組資料) @@ -1631,6 +1635,46 @@ The installer will quit and all changes will be lost. 單獨的開機分割區會與加密的根分割區一起設定,但是開機分割區並不會被加密。<br/><br/>這種設定可能會造成安全性問題,因為系統檔案放在未加密的分割區中。<br/>若您想要,您可以繼續,但是檔案系統的解鎖會在系統啟動後才發生。<br/>要加密開機分割區,回到上一頁並重新建立它,在分割區建立視窗中選取<strong>加密</strong>。 + + PlasmaLnfJob + + + Plasma Look-and-Feel Job + Plasma 外觀與感覺工作 + + + + + Could not select KDE Plasma Look-and-Feel package + 無法選取 KDE Plasma 外觀與感覺軟體包 + + + + PlasmaLnfPage + + + Form + 形式 + + + + Placeholder + 佔位符 + + + + Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. + 請為 KDE Plasma 桌面環境選擇一組外觀與感覺。您也可以略過此步驟並在系統安裝完成後再行設定。 + + + + PlasmaLnfViewStep + + + Look-and-Feel + 外觀與感覺 + + QObject @@ -1806,22 +1850,22 @@ The installer will quit and all changes will be lost. ResizePartitionJob - + Resize partition %1. 調整分割區 %1 大小。 - + Resize <strong>%2MB</strong> partition <strong>%1</strong> to <strong>%3MB</strong>. 重新調整 <strong>%2MB</strong> 的分割區 <strong>%1</strong> 到 <strong>%3MB</strong>。 - + Resizing %2MB partition %1 to %3MB. 調整 %2MB 分割區 %1 至 %3MB。 - + The installer failed to resize partition %1 on disk '%2'. 安裝程式調整在磁碟 '%2' 上的分割區 %1 的大小失敗。 @@ -1902,77 +1946,77 @@ The installer will quit and all changes will be lost. SetPartFlagsJob - + Set flags on partition %1. 在分割區 %1 上設定旗標。 - + Set flags on %1MB %2 partition. 在 %1MB 的 %2 分割區上設定旗標。 - + Set flags on new partition. 在新分割區上設定旗標。 - + Clear flags on partition <strong>%1</strong>. 在分割區 <strong>%1</strong> 上清除旗標。 - + Clear flags on %1MB <strong>%2</strong> partition. 清除在 %1MB 的 <strong>%2</strong> 分割區上的旗標。 - + Clear flags on new partition. 清除在新分割區上的旗標。 - + Flag partition <strong>%1</strong> as <strong>%2</strong>. 將分割區 <strong>%1</strong> 的旗標設定為 <strong>%2</strong>。 - + Flag %1MB <strong>%2</strong> partition as <strong>%3</strong>. 將 %1MB 的 <strong>%2</strong> 分割區旗標設定為 <strong>%3</strong>。 - + Flag new partition as <strong>%1</strong>. 將新割區旗標設定為 <strong>%1</strong>。 - + Clearing flags on partition <strong>%1</strong>. 正在分割區 <strong>%1</strong> 上清除旗標。 - + Clearing flags on %1MB <strong>%2</strong> partition. 清除在 %1MB 的 <strong>%2</strong> 分割區上的旗標。 - + Clearing flags on new partition. 清除在新分割區上的旗標。 - + Setting flags <strong>%2</strong> on partition <strong>%1</strong>. 正在分割區 <strong>%1</strong> 上設定旗標。 - + Setting flags <strong>%3</strong> on %1MB <strong>%2</strong> partition. 正在 %1MB 的 <strong>%2</strong> 分割區上設定旗標 <strong>%3</strong>。 - + Setting flags <strong>%1</strong> on new partition. 正在新分割區上設定旗標 <strong>%1</strong>。 @@ -1981,21 +2025,6 @@ The installer will quit and all changes will be lost. The installer failed to set flags on partition %1. 安裝程式在分割區 %1 上設定旗標失敗。 - - - Could not open device '%1'. - 無法開啟裝置「%1」。 - - - - Could not open partition table on device '%1'. - 無法開啟在裝置「%1」上的分割區表格。 - - - - Could not find partition '%1'. - 找不到分割區「%1」。 - SetPasswordJob @@ -2094,6 +2123,123 @@ The installer will quit and all changes will be lost. 總覽 + + TrackingInstallJob + + + Installation feedback + 安裝回饋 + + + + Sending installation feedback. + 傳送安裝回饋 + + + + Internal error in install-tracking. + 在安裝追蹤裡的內部錯誤。 + + + + HTTP request timed out. + HTTP 請求逾時。 + + + + TrackingMachineNeonJob + + + Machine feedback + 機器回饋 + + + + Configuring machine feedback. + 設定機器回饋。 + + + + + Error in machine feedback configuration. + 在機器回饋設定中的錯誤。 + + + + Could not configure machine feedback correctly, script error %1. + 無法正確設定機器回饋,指令稿錯誤 %1。 + + + + Could not configure machine feedback correctly, Calamares error %1. + 無法正確設定機器回饋,Calamares 錯誤 %1。 + + + + TrackingPage + + + Form + 形式 + + + + Placeholder + 佔位符 + + + + <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> + <html><head/><body><p>選取這個,您不會傳送 <span style=" font-weight:600;">任何關於</span> 您安裝的資訊。</p></body></html> + + + + + + TextLabel + 文字標籤 + + + + + + ... + ... + + + + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">點選這裡來取得更多關於使用者回饋的資訊</span></a></p></body></html> + + + + Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. + 安裝追蹤協助 %1 看見他們有多少使用者,用什麼硬體安裝 %1 ,以及(下面的最後兩個選項)取得持續性的資訊,如偏好的應用程式等。要檢視傳送了哪些東西,請點選在每個區域旁邊的說明按鈕。 + + + + By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. + 選取這個後,您將會傳送關於您的安裝與硬體的資訊。這個資訊將<b>只會傳送一次</b>,且在安裝完成後。 + + + + By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. + 選取這個後,您將會<b>週期性地</b>傳送關於您的安裝、硬體與應用程式的資訊給 %1。 + + + + By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. + 選取這個後,您將會<b>經常</b>傳送關於您的安裝、硬體、應用程式與使用模式的資訊給 %1。 + + + + TrackingViewStep + + + Feedback + 回饋 + + UsersPage From 5cf5a8e562702d88c8ace96af18f4de0ee0c45fc Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 15 Jan 2018 10:55:41 -0500 Subject: [PATCH 123/178] [desktop] Automatic merge of Transifex translations --- calamares.desktop | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/calamares.desktop b/calamares.desktop index b55eb4667..ee39992fc 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -17,6 +17,8 @@ Categories=Qt;System; + + Name[ca]=Calamares Icon[ca]=calamares GenericName[ca]=Instal·lador de sistema @@ -65,6 +67,10 @@ Name[is]=Calamares Icon[is]=calamares GenericName[is]=Kerfis uppsetning Comment[is]=Calamares — Kerfis uppsetning +Name[cs_CZ]=Calamares +Icon[cs_CZ]=calamares +GenericName[cs_CZ]=Instalátor systému +Comment[cs_CZ]=Calamares – instalátor operačních systémů Name[ja]=Calamares Icon[ja]=calamares GenericName[ja]=システムインストーラー @@ -93,10 +99,10 @@ Name[pt_BR]=Calamares Icon[pt_BR]=calamares GenericName[pt_BR]=Instalador de Sistema Comment[pt_BR]=Calamares — Instalador de Sistema -Name[cs_CZ]=Calamares -Icon[cs_CZ]=calamares -GenericName[cs_CZ]=Instalátor systému -Comment[cs_CZ]=Calamares – instalátor operačních systémů +Name[ro]=Calamares +Icon[ro]=calamares +GenericName[ro]=Instalator de sistem +Comment[ro]=Calamares — Instalator de sistem Name[ru]=Calamares Icon[ru]=calamares GenericName[ru]=Установщик системы @@ -109,6 +115,8 @@ Name[sq]=Calamares Icon[sq]=calamares GenericName[sq]=Instalues Sistemi Comment[sq]=Calamares — Instalues Sistemi +GenericName[fi_FI]=Järjestelmän Asennusohjelma +Comment[fi_FI]=Calamares — Järjestelmän Asentaja Name[sv]=Calamares Icon[sv]=calamares GenericName[sv]=Systeminstallerare From 8f1f397c9579e899afc281545d27830fca3ff93c Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 15 Jan 2018 10:55:42 -0500 Subject: [PATCH 124/178] [dummypythonqt] Automatic merge of Transifex translations --- .../dummypythonqt/lang/dummypythonqt.pot | 18 +++++++++--------- .../lang/fi_FI/LC_MESSAGES/dummypythonqt.mo | Bin 437 -> 539 bytes .../lang/fi_FI/LC_MESSAGES/dummypythonqt.po | 5 +++-- .../lang/it_IT/LC_MESSAGES/dummypythonqt.mo | Bin 967 -> 970 bytes .../lang/it_IT/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/pt_BR/LC_MESSAGES/dummypythonqt.mo | Bin 1019 -> 998 bytes .../lang/pt_BR/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/ro/LC_MESSAGES/dummypythonqt.mo | Bin 937 -> 1001 bytes .../lang/ro/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/tr_TR/LC_MESSAGES/dummypythonqt.mo | Bin 976 -> 991 bytes .../lang/tr_TR/LC_MESSAGES/dummypythonqt.po | 4 ++-- 11 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot index aabe14ac3..fa45ba91d 100644 --- a/src/modules/dummypythonqt/lang/dummypythonqt.pot +++ b/src/modules/dummypythonqt/lang/dummypythonqt.pot @@ -2,41 +2,41 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-28 06:46-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" -msgstr "" +msgstr "Click me!" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "" +msgstr "A new QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "" +msgstr "The Dummy PythonQt Job" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "" +msgstr "This is the Dummy PythonQt Job. The dummy job says: {}" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." -msgstr "" +msgstr "A status message for Dummy PythonQt Job." diff --git a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.mo index 65215e4b3f0e24d1da852f5fe4a9a941ebabace7..f703a8ccc18bd36271c8ce30f82a9ca26899d9af 100644 GIT binary patch delta 186 zcmdnWJewuzo)F7a1|VPpVi_RT0b*7lwgF-g2moSEAPxlL4U7y7(LkCHh4gL5oXq5Gh1^udi54MzhDN$Zh6;veRwgFe28I)7=^7Q6=!O&}<`w58mgE;%DL57v xCjyzq3O0#QmP2}OVrGtBa(=Fzj)IYaq4~rkANjp=GPAQ26BTkZ^GXvH835WPCU5`% delta 86 zcmbQuvX$B5o)F7a1|VPrVi_P-0b*t#)&XJ=umIv}prj>`2C0F8iBTbZ29~-8CJF`? RR)%Ik#>73kljRuS0RWdB3z7f; diff --git a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po index 34d69c2f6..7ed768c4b 100644 --- a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po @@ -8,8 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-04 08:16-0400\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Assalat3 , 2017\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,7 +20,7 @@ msgstr "" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" -msgstr "" +msgstr "Klikkaa minua!" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." diff --git a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.mo index 4440c352d85fcf14ac79f7e6e20181d360c27f4d..14d83f4892241afb32aee1a8c69b5ee5b3c93ee7 100644 GIT binary patch delta 82 zcmX@keu{lUiKr9<14A4$1A{1#t_0FnK)Qcpr#2(6k*<-Uf}xp}iHWv>;pT&ka~Y)q iDoZl*^8!m0!ZK6KgG*8i6x=dPN;0c5^Cy=w2LS*8M-~zQ delta 79 zcmX@bew=+miKsXO14A4$1A{1#E(6k5K)PpRr#2(6p{{|Mf`OTpfsw9(>E?rsa~Z{5 fN^^576#^, 2017\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" @@ -28,7 +28,7 @@ msgstr "Una nuova QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "Dummy PythonQt ViewStep" +msgstr "PythonQt ViewStep Fittizio" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo index 657f514f95a1fe777eee60356ef37b92bee0034d..2c1d077a0b9826d9dd24aa5d74f8b5644a32b38f 100644 GIT binary patch delta 190 zcmey({)~M>imE9C1A{&@0|OtBP6g7^K)M7nJIomz~1hDN$Zh6;veRwgFe z28NptGIlZYB`Sm@7Nw>oD){E7q~=VHVOCEAv+@-JDoZl*^8!m49AQdQQX#64T, 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" @@ -28,16 +28,16 @@ msgstr "Uma nova QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "ViewStep do PythonQt fictício" +msgstr "ViewStep do Modelo PythonQt" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "O trabalho de modelo do PythonQt" +msgstr "A Tarefa de Modelo PythonQt" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "Este é o trabalho do modelo PythonQt. O trabalho fictício diz: {}" +msgstr "Esta é a Tarefa Modelo PythonQt. A tarefa modelo diz: {}" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." -msgstr "Uma mensagem de status para Trabalho Fictício PythonQt." +msgstr "Uma mensagem de status para a Tarefa Modelo PythonQt." diff --git a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.mo index f881f640c2bde4c73df3bfe6d044366de455721e..18713b51c31f8678158aa8e7d14f3b907f20aad3 100644 GIT binary patch delta 234 zcmZ3<{*t}^o)F7a1|VPuVi_O~0b*_-?g3&D*a5`6K)e%(HGudy5OV_Y2Ot&);$J{4 z2E;;)3=C#KS`$cL1mXlB<^%GLm>C%KfwUu#<^s}%KpLd421rYRgr)!)mOz2^6DyTD z*?ev3=9{6*aC?8fP5}y1_pf~EeWK#fV3x&mIBftK-v;W=L2b=(uw`DoUA}D$a;o} iTU{p$F)rjYu+%j$Q82KuGBg7+HXmf%%{X}qb0`40p%!%j diff --git a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po index 0e927e99d..de24075a7 100644 --- a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-04 08:16-0400\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Baadur Jobava , 2016\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" @@ -28,7 +28,7 @@ msgstr "Un nou QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.mo index effc6f65e7140fcf716f1fc0473d47176633573b..12c4645f65f7e37608731a4b5759232956ab5261 100644 GIT binary patch delta 103 zcmcb>exH3pi0NKN28IM67GPjtkYi?GFa^^3K$;IorvhndAYB5a#enn#AZ-q$mv8LU uV&pS4(ls(vFf_9=G0`?KoP3bch3`?roRZRIK$;IohXHA6Ae{=N#ej4pkTwU>Gd6Z= dG4dH$>Kd3R7+6>tngJP;4>G!J7GXNg2mmPa4haAN diff --git a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po index ab62ec545..316907674 100644 --- a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-04 08:16-0400\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Demiray Muhterem , 2016\n" +"Last-Translator: Demiray “tulliana” Muhterem , 2016\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" From 83eaaf04aa7b3724e2461469805f5524510cdc0f Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 15 Jan 2018 10:55:42 -0500 Subject: [PATCH 125/178] [python] Automatic merge of Transifex translations --- lang/python.pot | 58 +++++++++---------- lang/python/ar/LC_MESSAGES/python.mo | Bin 503 -> 503 bytes lang/python/ar/LC_MESSAGES/python.po | 64 ++++++++++----------- lang/python/ast/LC_MESSAGES/python.mo | Bin 668 -> 668 bytes lang/python/ast/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/bg/LC_MESSAGES/python.mo | Bin 423 -> 423 bytes lang/python/bg/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/ca/LC_MESSAGES/python.mo | Bin 1098 -> 1098 bytes lang/python/ca/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/cs_CZ/LC_MESSAGES/python.mo | Bin 1261 -> 1261 bytes lang/python/cs_CZ/LC_MESSAGES/python.po | 52 ++++++++--------- lang/python/da/LC_MESSAGES/python.mo | Bin 1067 -> 1067 bytes lang/python/da/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/de/LC_MESSAGES/python.mo | Bin 835 -> 1059 bytes lang/python/de/LC_MESSAGES/python.po | 50 ++++++++-------- lang/python/el/LC_MESSAGES/python.mo | Bin 568 -> 568 bytes lang/python/el/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/en_GB/LC_MESSAGES/python.mo | Bin 444 -> 444 bytes lang/python/en_GB/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/es/LC_MESSAGES/python.mo | Bin 1095 -> 1095 bytes lang/python/es/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/es_ES/LC_MESSAGES/python.mo | Bin 435 -> 435 bytes lang/python/es_ES/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/es_MX/LC_MESSAGES/python.mo | Bin 436 -> 436 bytes lang/python/es_MX/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/es_PR/LC_MESSAGES/python.mo | Bin 441 -> 441 bytes lang/python/es_PR/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/et/LC_MESSAGES/python.mo | Bin 422 -> 422 bytes lang/python/et/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/eu/LC_MESSAGES/python.mo | Bin 420 -> 420 bytes lang/python/eu/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/fa/LC_MESSAGES/python.mo | Bin 414 -> 414 bytes lang/python/fa/LC_MESSAGES/python.po | 44 +++++++------- lang/python/fi_FI/LC_MESSAGES/python.mo | Bin 437 -> 437 bytes lang/python/fi_FI/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/fr/LC_MESSAGES/python.mo | Bin 716 -> 719 bytes lang/python/fr/LC_MESSAGES/python.po | 52 ++++++++--------- lang/python/fr_CH/LC_MESSAGES/python.mo | Bin 439 -> 439 bytes lang/python/fr_CH/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/gl/LC_MESSAGES/python.mo | Bin 422 -> 422 bytes lang/python/gl/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/gu/LC_MESSAGES/python.mo | Bin 422 -> 422 bytes lang/python/gu/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/he/LC_MESSAGES/python.mo | Bin 1144 -> 1144 bytes lang/python/he/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/hi/LC_MESSAGES/python.mo | Bin 419 -> 419 bytes lang/python/hi/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/hr/LC_MESSAGES/python.mo | Bin 1195 -> 1195 bytes lang/python/hr/LC_MESSAGES/python.po | 52 ++++++++--------- lang/python/hu/LC_MESSAGES/python.mo | Bin 863 -> 863 bytes lang/python/hu/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/id/LC_MESSAGES/python.mo | Bin 645 -> 645 bytes lang/python/id/LC_MESSAGES/python.po | 44 +++++++------- lang/python/is/LC_MESSAGES/python.mo | Bin 1093 -> 1093 bytes lang/python/is/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/it_IT/LC_MESSAGES/python.mo | Bin 1110 -> 1110 bytes lang/python/it_IT/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/ja/LC_MESSAGES/python.mo | Bin 1095 -> 1095 bytes lang/python/ja/LC_MESSAGES/python.po | 44 +++++++------- lang/python/kk/LC_MESSAGES/python.mo | Bin 413 -> 413 bytes lang/python/kk/LC_MESSAGES/python.po | 44 +++++++------- lang/python/kn/LC_MESSAGES/python.mo | Bin 414 -> 414 bytes lang/python/kn/LC_MESSAGES/python.po | 44 +++++++------- lang/python/lo/LC_MESSAGES/python.mo | Bin 410 -> 410 bytes lang/python/lo/LC_MESSAGES/python.po | 44 +++++++------- lang/python/lt/LC_MESSAGES/python.mo | Bin 1207 -> 1205 bytes lang/python/lt/LC_MESSAGES/python.po | 54 ++++++++--------- lang/python/mr/LC_MESSAGES/python.mo | Bin 421 -> 421 bytes lang/python/mr/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/nb/LC_MESSAGES/python.mo | Bin 616 -> 616 bytes lang/python/nb/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/nl/LC_MESSAGES/python.mo | Bin 658 -> 658 bytes lang/python/nl/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/pl/LC_MESSAGES/python.mo | Bin 1357 -> 1370 bytes lang/python/pl/LC_MESSAGES/python.po | 58 +++++++++---------- lang/python/pl_PL/LC_MESSAGES/python.mo | Bin 581 -> 581 bytes lang/python/pl_PL/LC_MESSAGES/python.po | 56 +++++++++--------- lang/python/pt_BR/LC_MESSAGES/python.mo | Bin 1105 -> 1097 bytes lang/python/pt_BR/LC_MESSAGES/python.po | 40 ++++++------- lang/python/pt_PT/LC_MESSAGES/python.mo | Bin 1095 -> 1095 bytes lang/python/pt_PT/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/ro/LC_MESSAGES/python.mo | Bin 463 -> 1198 bytes lang/python/ro/LC_MESSAGES/python.po | 59 +++++++++---------- lang/python/ru/LC_MESSAGES/python.mo | Bin 559 -> 559 bytes lang/python/ru/LC_MESSAGES/python.po | 56 +++++++++--------- lang/python/sk/LC_MESSAGES/python.mo | Bin 1092 -> 1092 bytes lang/python/sk/LC_MESSAGES/python.po | 52 ++++++++--------- lang/python/sl/LC_MESSAGES/python.mo | Bin 475 -> 475 bytes lang/python/sl/LC_MESSAGES/python.po | 56 +++++++++--------- lang/python/sq/LC_MESSAGES/python.mo | Bin 1073 -> 1073 bytes lang/python/sq/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/sr/LC_MESSAGES/python.mo | Bin 495 -> 495 bytes lang/python/sr/LC_MESSAGES/python.po | 52 ++++++++--------- lang/python/sr@latin/LC_MESSAGES/python.mo | Bin 517 -> 517 bytes lang/python/sr@latin/LC_MESSAGES/python.po | 52 ++++++++--------- lang/python/sv/LC_MESSAGES/python.mo | Bin 421 -> 421 bytes lang/python/sv/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/th/LC_MESSAGES/python.mo | Bin 411 -> 411 bytes lang/python/th/LC_MESSAGES/python.po | 44 +++++++------- lang/python/tr_TR/LC_MESSAGES/python.mo | Bin 1039 -> 1054 bytes lang/python/tr_TR/LC_MESSAGES/python.po | 46 +++++++-------- lang/python/uk/LC_MESSAGES/python.mo | Bin 497 -> 497 bytes lang/python/uk/LC_MESSAGES/python.po | 52 ++++++++--------- lang/python/ur/LC_MESSAGES/python.mo | Bin 418 -> 418 bytes lang/python/ur/LC_MESSAGES/python.po | 48 ++++++++-------- lang/python/uz/LC_MESSAGES/python.mo | Bin 412 -> 412 bytes lang/python/uz/LC_MESSAGES/python.po | 44 +++++++------- lang/python/zh_CN/LC_MESSAGES/python.mo | Bin 668 -> 1033 bytes lang/python/zh_CN/LC_MESSAGES/python.po | 46 +++++++-------- lang/python/zh_TW/LC_MESSAGES/python.mo | Bin 1052 -> 1052 bytes lang/python/zh_TW/LC_MESSAGES/python.po | 44 +++++++------- 111 files changed, 1374 insertions(+), 1373 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index 23df18b18..35c230b63 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -2,53 +2,53 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-28 06:46-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Dummy python job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Dummy python step {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." -msgstr "" +msgstr "Generate machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Processing packages (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Install packages." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Installing one package." +msgstr[1] "Installing %(num)d packages." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Removing one package." +msgstr[1] "Removing %(num)d packages." diff --git a/lang/python/ar/LC_MESSAGES/python.mo b/lang/python/ar/LC_MESSAGES/python.mo index 9c7ebc66db0941f2f9e672e567dc24565e846168..7446ffe32ce10448a93d1be84cb62175365b6d01 100644 GIT binary patch delta 24 fcmey){GEA1FRziVk)eX2nU#r&wt?ZsS+R@&W8w!t delta 24 fcmey){GEA1FR!7lftiAVnU#T&u7T;sS+R@&W7`Kn diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index c4a5f929c..8915b5706 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" "MIME-Version: 1.0\n" @@ -17,37 +17,6 @@ msgstr "" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" -msgstr[5] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" -msgstr[5] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -59,3 +28,34 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" diff --git a/lang/python/ast/LC_MESSAGES/python.mo b/lang/python/ast/LC_MESSAGES/python.mo index 5c46dc1a85a28d825ac9c4d110c6e1fbf38b7aca..437f08bb07d7e87f81bbbaa01e16ed2659ae55e4 100644 GIT binary patch delta 26 hcmbQkI)`-wBO|You92aFp_!G5iMD~^Wc diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index daa365d98..16d568532 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: enolp , 2017\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: ast\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Trabayu maniquín de python." @@ -52,3 +29,26 @@ msgstr "Pasu maniquín de python {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Xenerar machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/bg/LC_MESSAGES/python.mo b/lang/python/bg/LC_MESSAGES/python.mo index 3b8cf67be0002382eae24b5f8e6bbefee673ea4c..d3976d1273b1cbb0dbdef9361abf63000d697844 100644 GIT binary patch delta 24 fcmZ3^yqtMLFRziVk)eX2nU#r&wt?ZsS-gw@RN@9t delta 24 fcmZ3^yqtMLFR!7lftiAVnU#T&u7T;sS-gw@RNDqn diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index cc05910c5..57e5a0057 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/ca/LC_MESSAGES/python.mo b/lang/python/ca/LC_MESSAGES/python.mo index 092d0794e7f5971dd91334081637669bd42c7ff3..12e16c68dc7d248f03de58e8d7d3fa62ce7bef6a 100644 GIT binary patch delta 26 hcmX@baf)NZUq)UdT_ZyULo+KA6Kw;-&0I_lOaO0|2G{@q delta 26 hcmX@baf)NZUq)U-T>~=(12ZcFBV7a2&0I_lOaO0?2H5}r diff --git a/lang/python/ca/LC_MESSAGES/python.po b/lang/python/ca/LC_MESSAGES/python.po index d55662daf..635f10392 100644 --- a/lang/python/ca/LC_MESSAGES/python.po +++ b/lang/python/ca/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Davidmp , 2017\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Processant paquets (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Instal·lant un paquet." -msgstr[1] "Instal·lant %(num)d paquets." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Eliminant un paquet." -msgstr[1] "Eliminant %(num)d paquets." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Instal·la els paquets." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tasca de python fictícia." @@ -52,3 +29,26 @@ msgstr "Pas de python fitctici {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generació de l'id. de la màquina." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Processant paquets (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Instal·la els paquets." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instal·lant un paquet." +msgstr[1] "Instal·lant %(num)d paquets." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Eliminant un paquet." +msgstr[1] "Eliminant %(num)d paquets." diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.mo b/lang/python/cs_CZ/LC_MESSAGES/python.mo index 60284acdcaec0c1c398a630c6ab76655edcd3202..951bfdeed6b034f6445c213ffe341cf3f78e0503 100644 GIT binary patch delta 26 hcmaFM`Id9TUq)UdT_ZyULo+KA6Kw;-&0I{6nE-d<2g3jW delta 26 hcmaFM`Id9TUq)U-T>~=(12ZcFBV7a2&0I{6nE-d(2gCpX diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index deb18c3a5..08744d306 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Pavel Borecki , 2017\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" @@ -18,31 +18,6 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Zpracovávání balíčků (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Je instalován jeden balíček." -msgstr[1] "Jsou instalovány %(num)d balíčky." -msgstr[2] "Je instalováno %(num)d balíčků." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Odebírá se jeden balíček." -msgstr[1] "Odebírají se %(num)d balíčky." -msgstr[2] "Odebírá se %(num)d balíčků." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Instalovat balíčky." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Testovací úloha python." @@ -54,3 +29,28 @@ msgstr "Testovací krok {} python." #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Vytvořit identifikátor stroje." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Zpracovávání balíčků (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Instalovat balíčky." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Je instalován jeden balíček." +msgstr[1] "Jsou instalovány %(num)d balíčky." +msgstr[2] "Je instalováno %(num)d balíčků." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Odebírá se jeden balíček." +msgstr[1] "Odebírají se %(num)d balíčky." +msgstr[2] "Odebírá se %(num)d balíčků." diff --git a/lang/python/da/LC_MESSAGES/python.mo b/lang/python/da/LC_MESSAGES/python.mo index 63560cee4ad4b39d070bec63dc14cb69ad678cd6..a9bb3c4cdefde8162dbd64d5fd69b294488d34f5 100644 GIT binary patch delta 26 hcmZ3@v6^GUUq)UdT_ZyULo+KA6Kw;-&0I{1OaN(0273Si delta 26 hcmZ3@v6^GUUq)U-T>~=(12ZcFBV7a2&0I{1OaN&_27CYj diff --git a/lang/python/da/LC_MESSAGES/python.po b/lang/python/da/LC_MESSAGES/python.po index 235619c3f..3433c2515 100644 --- a/lang/python/da/LC_MESSAGES/python.po +++ b/lang/python/da/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Dan Johansen (Strit) , 2017\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Forarbejder pakker (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Installerer én pakke." -msgstr[1] "Installerer %(num)d pakker." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Fjerner én pakke." -msgstr[1] "Fjerne %(num)d pakker." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Installér pakker." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python-job." @@ -52,3 +29,26 @@ msgstr "Dummy python-trin {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generere maskine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Forarbejder pakker (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Installér pakker." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Installerer én pakke." +msgstr[1] "Installerer %(num)d pakker." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Fjerner én pakke." +msgstr[1] "Fjerne %(num)d pakker." diff --git a/lang/python/de/LC_MESSAGES/python.mo b/lang/python/de/LC_MESSAGES/python.mo index 14241330cc5a6a6251ada68667de9472ba940ce9..5358088eb02b7bbf653c75f025a6434cc1e0ff0d 100644 GIT binary patch delta 437 zcmX@iwwR;-o)F7a1|Z-7Vi_Qg0b*_-o&&@nZ~}-0f%qg4ivaO$DE$FQgTz@G85m4} zv^bE~2GTx2+5kvb0O|Qayb_27fP7D8pc)_@1*AoRbP8ez z)&kN$fHY7q13M720x^)wzy`!DK+G|5YLb>`UU5lcPEKZCx*P*m$N004ykWuE{5 delta 224 zcmZ3?ahR?Co)F7a1|VPqVi_Rz0b*_-t^r~YSOLU>K)e!&MSyrWl)eC@LE=w=SR07H z1Mxye1_osy767u3GBGfS1LBWPC1VJ$p{{|Mf`OTpfsw9(>0~Y@8#(8UqRirw%)~r};DSUTX_H==o?7gX Uo?D@pms+wpiOHIA@;PQL0Pou)kpKVy diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index b073fbdd6..ba7013f0b 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Christian Spaan , 2017\n" +"Last-Translator: Dirk Hein , 2017\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" @@ -18,29 +18,6 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Verarbeite Pakete (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Pakete installieren " - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy Python-Job" @@ -52,3 +29,26 @@ msgstr "Dummy Python-Schritt {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generiere Computer-ID" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Verarbeite Pakete (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Pakete installieren " + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Installiere ein Paket" +msgstr[1] "Installiere %(num)dPakete " + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Entferne ein Paket" +msgstr[1] "Entferne %(num)dPakete." diff --git a/lang/python/el/LC_MESSAGES/python.mo b/lang/python/el/LC_MESSAGES/python.mo index 992427a1635a53f69f0d2a372966ee45c7ab0f29..8f32b3c2f8dc0e6c4d17e55126b1f67165f2eb3b 100644 GIT binary patch delta 24 fcmdnNvV c3vZ0BSQs4Gb~I diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index 461d910a8..66e167336 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "εγκατάσταση πακέτων." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -52,3 +29,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "εγκατάσταση πακέτων." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/en_GB/LC_MESSAGES/python.mo b/lang/python/en_GB/LC_MESSAGES/python.mo index f16bd586301af2a9f24a5ddbfcd074eb32de3272..791dfd16f2eeb95e2d91eccba3c582c46c78dfab 100644 GIT binary patch delta 24 fcmdnPyoY&0FRziVk)eX2nU#r&wt?ZsSxSrmSkeZL delta 24 fcmdnPyoY&0FR!7lftiAVnU#T&u7T;sSxSrmSjz^F diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index 2a1336037..b4573c785 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/es/LC_MESSAGES/python.mo b/lang/python/es/LC_MESSAGES/python.mo index 0e68e8738f8a6a21bc9b5105362a2bca90282f70..ea1111fa9610cb0dcfba57670b4ea442a104406a 100644 GIT binary patch delta 26 hcmX@kahzkrUq)UdT_ZyULo+KA6Kw;-&0I{jOaN~B2G0Nh delta 26 hcmX@kahzkrUq)U-T>~=(12ZcFBV7a2&0I{jOaN~52G9Ti diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index 59d5c53e2..49b016627 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: strel , 2017\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Procesando paquetes (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Instalando un paquete." -msgstr[1] "Instalando %(num)d paquetes." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Eliminando un paquete." -msgstr[1] "Eliminando %(num)d paquetes." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Instalar paquetes." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tarea de python ficticia." @@ -52,3 +29,26 @@ msgstr "Paso {} de python ficticio" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generar identificación-de-maquina." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Procesando paquetes (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Instalar paquetes." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instalando un paquete." +msgstr[1] "Instalando %(num)d paquetes." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Eliminando un paquete." +msgstr[1] "Eliminando %(num)d paquetes." diff --git a/lang/python/es_ES/LC_MESSAGES/python.mo b/lang/python/es_ES/LC_MESSAGES/python.mo index b305b77c17009b6374834d2ef8f94bd7c7d1e16f..272ac6a96661fd9c3d7a6cb3a610ba21618901e3 100644 GIT binary patch delta 24 fcmdnYyqS4IFRziVk)eX2nU#r&wt?ZsS(1zZS0V;; delta 24 fcmdnYyqS4IFR!7lftiAVnU#T&u7T;sS(1zZR~rU& diff --git a/lang/python/es_ES/LC_MESSAGES/python.po b/lang/python/es_ES/LC_MESSAGES/python.po index c85ddbed7..a5a409c99 100644 --- a/lang/python/es_ES/LC_MESSAGES/python.po +++ b/lang/python/es_ES/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/calamares/teams/20061/es_ES/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: es_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/es_MX/LC_MESSAGES/python.mo b/lang/python/es_MX/LC_MESSAGES/python.mo index 49c9c23d473a3cbfc1331ed58bc517c99288071b..07093fbe9aecfe7c45e17dbcef82759aa193c804 100644 GIT binary patch delta 24 fcmdnOyoGr}FRziVk)eX2nU#r&wt?ZsSyGGuS5gLc delta 24 fcmdnOyoGr}FR!7lftiAVnU#T&u7T;sSyGGuS4#$W diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index 62f9dc28e..54ef4ff9b 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/es_PR/LC_MESSAGES/python.mo b/lang/python/es_PR/LC_MESSAGES/python.mo index 4e31ffc3dcdfa57ac6752d8035f4fc3aaa089d79..baea10f62611af8897a87601a257a4c01626f0fd 100644 GIT binary patch delta 24 fcmdnVypwrCFRziVk)eX2nU#r&wt?ZsS@MhkSV9Jc delta 24 fcmdnVypwrCFR!7lftiAVnU#T&u7T;sS@MhkSUU!W diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index cfaa787dd..cbdc5e139 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: es_PR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/et/LC_MESSAGES/python.mo b/lang/python/et/LC_MESSAGES/python.mo index 72c0b8718856bc60d8f7e7c02bd420b039ae04da..74b5c19c8df3ee2cfbcf6073f19d730a6f3b81db 100644 GIT binary patch delta 24 fcmZ3+yo`B5FRziVk)eX2nU#r&wt?ZsSv-sYRI&z4 delta 24 fcmZ3+yo`B5FR!7lftiAVnU#T&u7T;sSv-sYRI3I} diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index 72be28cb9..903d0a937 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/eu/LC_MESSAGES/python.mo b/lang/python/eu/LC_MESSAGES/python.mo index 8f7b661201a0c432cfe5f7bc9b3dd0f5952d1d21..027f022c840c44e1d6b8809d4221e8933bfb918b 100644 GIT binary patch delta 24 fcmZ3&yo7l|FRziVk)eX2nU#r&wt?ZsSzL?&R8j^; delta 24 fcmZ3&yo7l|FR!7lftiAVnU#T&u7T;sSzL?&R7(a& diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index d4c16a4ce..c21fca637 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/fa/LC_MESSAGES/python.mo b/lang/python/fa/LC_MESSAGES/python.mo index 1548fe23660db7d1773e95b57bfbc199be5ceb03..1746c2b73edddcfc81aff80e172538f6e5f3ffe3 100644 GIT binary patch delta 24 fcmbQoJdb%oFRziVk)eX2nU#r&wt?ZsSuBhIQ!)lL delta 24 fcmbQoJdb%oFR!7lftiAVnU#T&u7T;sSuBhIQ!55F diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index 8f33110b1..b9fabdfc9 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" @@ -17,27 +17,6 @@ msgstr "" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -49,3 +28,24 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.mo b/lang/python/fi_FI/LC_MESSAGES/python.mo index dc9db6d9cee5c7227beac2f7f0f2fc0c0434c70f..a39a043bc4256688965a6628f2878bc56e7e1a28 100644 GIT binary patch delta 24 fcmdnWyp?%EFRziVk)eX2nU#r&wt?ZsS<;LESAqt4 delta 24 fcmdnWyp?%EFR!7lftiAVnU#T&u7T;sS<;LES9=C} diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index 209978e42..4787933c3 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/fr/LC_MESSAGES/python.mo b/lang/python/fr/LC_MESSAGES/python.mo index d445899e4be6d07691c17be8caa0ccdace82afae..1a16c0167f431e3867a7d2051f7fc5084f027d49 100644 GIT binary patch delta 121 zcmX@ZdY*NHjqD;u28JUH3=E1uoX*6+AO@s6fwUfwUNA9oKd+Ilk)eX2nU#r&wt?Yf zRYn^z$E1|RoSeiA1t$fYq{NKG;^NG_)WpfPjDHm}Q&RIvGSe~>^GXzQ6O%K55_$}t SdBr6_4XH&6Ig=+cSpxw79wK-E delta 118 zcmX@ldWLm^jqD0W28JUH3=9%LoXf<(AO@t{fV3Wvo;xveKd+&#ftiAVnU#T&u7T-f zRYn_`fW*=q1?T+Sq{JKro5ZC2yu8%h)Vz}70-*Tha>l>nxrxacnR%(YnJIb, 2017\n" +"Last-Translator: Abdallah B , 2017\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,29 +18,6 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Traitement des paquets (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Installer des paquets." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,4 +28,27 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." -msgstr "Générer un machine-id." +msgstr "Générer un identifiant machine." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Traitement des paquets (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Installer les paquets." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.mo b/lang/python/fr_CH/LC_MESSAGES/python.mo index 2376cf71af8f369abeeb67013334119e9a9250a0..1207efb478e3c00e3e65a7bb2cf462b945c334e4 100644 GIT binary patch delta 24 fcmdnayq$SMFRziVk)eX2nU#r&wt?ZsS+a}(SK 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/gl/LC_MESSAGES/python.mo b/lang/python/gl/LC_MESSAGES/python.mo index 756d2c6fd80275a603f18b417683139675e6cfc7..56fdf05e663237c5a52dce148c5f8f6c1ad0aea5 100644 GIT binary patch delta 24 fcmZ3+yo`B5FRziVk)eX2nU#r&wt?ZsSv-sYRI&z4 delta 24 fcmZ3+yo`B5FR!7lftiAVnU#T&u7T;sSv-sYRI3I} diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index 4b4a68e4f..6fb4f66da 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/gu/LC_MESSAGES/python.mo b/lang/python/gu/LC_MESSAGES/python.mo index 222bb40c49302a605a6e5fee85bd8ccaab702cbe..376739570a887608592b49352923c9d5cfa88221 100644 GIT binary patch delta 24 fcmZ3+yo`B5FRziVk)eX2nU#r&wt?ZsSv-sYRI&z4 delta 24 fcmZ3+yo`B5FR!7lftiAVnU#T&u7T;sSv-sYRI3I} diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 6b8b36b22..0531a5a18 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/he/LC_MESSAGES/python.mo b/lang/python/he/LC_MESSAGES/python.mo index 7de028de2402364e622f01300edf89b6006904d8..f6f1404ad524352ac881ec6f89b87cf091f85472 100644 GIT binary patch delta 26 hcmeyt@q=T-Uq)UdT_ZyULo+KA6Kw;-&0I`*OaOT92VwvK delta 26 hcmeyt@q=T-Uq)U-T>~=(12ZcFBV7a2&0I`*OaOT32V(#L diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index c34a6884c..391f13cd4 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Eli Shleifer , 2017\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "מעבד חבילות (%(count)d/%(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "מתקין חבילה אחת." -msgstr[1] "מתקין %(num)d חבילות." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "מסיר חבילה אחת." -msgstr[1] "מסיר %(num)d חבילות." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "התקן חבילות." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "משימת דמה של Python." @@ -52,3 +29,26 @@ msgstr "צעד דמה של Python {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "חולל מספר סידורי של המכונה." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "מעבד חבילות (%(count)d/%(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "התקן חבילות." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "מתקין חבילה אחת." +msgstr[1] "מתקין %(num)d חבילות." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "מסיר חבילה אחת." +msgstr[1] "מסיר %(num)d חבילות." diff --git a/lang/python/hi/LC_MESSAGES/python.mo b/lang/python/hi/LC_MESSAGES/python.mo index 836d811f84028e91232dc8b5335e9afda3909cbd..a861929c54dd2dca47525c1954544d9ee9f33bf2 100644 GIT binary patch delta 24 fcmZ3?yqI}HFRziVk)eX2nU#r&wt?ZsS)7ajR3ZjL delta 24 fcmZ3?yqI}HFR!7lftiAVnU#T&u7T;sS)7ajR2v3F diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index 8c9f0c160..b9d04cb2c 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/hr/LC_MESSAGES/python.mo b/lang/python/hr/LC_MESSAGES/python.mo index 7d5c0500200d565fbaa1aed6a77b4a28df5b3fe8..a2ea859562794643283ae7a3b9efb604c96e19f9 100644 GIT binary patch delta 26 hcmZ3@xtepsUq)UdT_ZyULo+KA6Kw;-&0I_inE+~f2K@j4 delta 26 hcmZ3@xtepsUq)U-T>~=(12ZcFBV7a2&0I_inE+~Z2L1p5 diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index e94b500af..7217db828 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Lovro Kudelić , 2017\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" @@ -18,31 +18,6 @@ msgstr "" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Obrađujem pakete (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Instaliram paket." -msgstr[1] "Instaliram %(num)d pakete." -msgstr[2] "Instaliram %(num)d pakete." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Uklanjam paket." -msgstr[1] "Uklanjam %(num)d pakete." -msgstr[2] "Uklanjam %(num)d pakete." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Instaliraj pakete." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Testni python posao." @@ -54,3 +29,28 @@ msgstr "Testni python korak {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generiraj ID računala." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Obrađujem pakete (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Instaliraj pakete." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instaliram paket." +msgstr[1] "Instaliram %(num)d pakete." +msgstr[2] "Instaliram %(num)d pakete." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Uklanjam paket." +msgstr[1] "Uklanjam %(num)d pakete." +msgstr[2] "Uklanjam %(num)d pakete." diff --git a/lang/python/hu/LC_MESSAGES/python.mo b/lang/python/hu/LC_MESSAGES/python.mo index bbeb37e9eb7f33705af7724344ffd0b4ecc76caf..93de1562cfd7db3c585ea987da0e24a0813be461 100644 GIT binary patch delta 26 hcmcc5cAsrSIU}!;u92aFp_!G5iMD~^<`%}=i~wtF2a5mz delta 26 hcmcc5cAsrSIU}#3u7R0?fti(ok*, 2017\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Csomagok feldolgozása (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Csomagok telepítése." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Hamis PythonQt Job." @@ -52,3 +29,26 @@ msgstr "Hamis PythonQt {} lépés" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Számítógép azonosító generálása." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Csomagok feldolgozása (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Csomagok telepítése." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/id/LC_MESSAGES/python.mo b/lang/python/id/LC_MESSAGES/python.mo index 1ee3bf77db077f95af85a2a602ca7b494deee7b2..75b46388ab8dc39f6c6450432bbe9ceb1b5d3253 100644 GIT binary patch delta 26 hcmZo=ZDrlS$jED?Yh, 2017\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" @@ -18,27 +18,6 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -50,3 +29,24 @@ msgstr "Dummy python step {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generate machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" diff --git a/lang/python/is/LC_MESSAGES/python.mo b/lang/python/is/LC_MESSAGES/python.mo index e4924cd0ffce5848f4b876d48ce67b782e022df3..d4f7171e7ea4ef851ab3143b94e07e17cc5e948f 100644 GIT binary patch delta 26 hcmX@gag<}jUq)UdT_ZyULo+KA6Kw;-&0I{@OaN|@2FU;b delta 26 hcmX@gag<}jUq)U-T>~=(12ZcFBV7a2&0I{@OaN|-2Fd^c diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index 86bcb008f..d7cad78dc 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kristján Magnússon , 2017\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Vinnslupakkar (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Setja upp einn pakka." -msgstr[1] "Setur upp %(num)d pakka." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Fjarlægi einn pakka." -msgstr[1] "Fjarlægi %(num)d pakka." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Setja upp pakka." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -52,3 +29,26 @@ msgstr "Dummy python step {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generate machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Vinnslupakkar (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Setja upp pakka." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Setja upp einn pakka." +msgstr[1] "Setur upp %(num)d pakka." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Fjarlægi einn pakka." +msgstr[1] "Fjarlægi %(num)d pakka." diff --git a/lang/python/it_IT/LC_MESSAGES/python.mo b/lang/python/it_IT/LC_MESSAGES/python.mo index 6f58a2742a7a6d2c0f1a2e599078fca63d45adfd..196365a9e5f6dba10e51519093cc9e5ca4a2ea1f 100644 GIT binary patch delta 26 hcmcb{agAfcUq)UdT_ZyULo+KA6Kw;-&0I`AOaO8Q2K)d3 delta 26 hcmcb{agAfcUq)U-T>~=(12ZcFBV7a2&0I`AOaO8K2K@j4 diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index b756343fa..000ddaa63 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Pietro Francesco Fontana , 2017\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: it_IT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Elaborando i pacchetti (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Installando un pacchetto." -msgstr[1] "Installando %(num)d pacchetti." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Rimuovendo un pacchetto." -msgstr[1] "Rimuovendo %(num)d pacchetti." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Installa pacchetti." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -52,3 +29,26 @@ msgstr "Dummy python step {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Genera machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Elaborando i pacchetti (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Installa pacchetti." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Installando un pacchetto." +msgstr[1] "Installando %(num)d pacchetti." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Rimuovendo un pacchetto." +msgstr[1] "Rimuovendo %(num)d pacchetti." diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index bbb312e848c4e33870dc3bd2fff4681382d14276..0d3e629a783326be817432e7fd770c958d9a6934 100644 GIT binary patch delta 26 hcmX@kahzkrUq)UdT_ZyULo+KA6Kw;-&0I{jOaN~B2G0Nh delta 26 hcmX@kahzkrUq)U-T>~=(12ZcFBV7a2&0I{jOaN~52G9Ti diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index bfd4c966a..a48cc2105 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Takefumi Nagata , 2017\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" @@ -18,27 +18,6 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "パッケージの処理中 (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] " %(num)d パッケージのインストール中。" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] " %(num)d パッケージの削除中。" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "パッケージのインストール" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -50,3 +29,24 @@ msgstr "Dummy python step {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "machine-id の生成" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "パッケージの処理中 (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "パッケージのインストール" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] " %(num)d パッケージのインストール中。" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] " %(num)d パッケージの削除中。" diff --git a/lang/python/kk/LC_MESSAGES/python.mo b/lang/python/kk/LC_MESSAGES/python.mo index db303b0844f90a801aac4787abcf2470729a12ad..41ce88c427f3d3c82c08b05e4511311cf4ab3f45 100644 GIT binary patch delta 24 fcmbQsJePSwFRziVk)eX2nU#r&wt?ZsSGIx113Y diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 5036945ef..43929fff6 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Moo , 2017\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" @@ -18,34 +18,9 @@ msgstr "" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Apdorojami paketai (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Įdiegiamas %(num)d paketas." -msgstr[1] "Įdiegiami %(num)d paketai." -msgstr[2] "Įdiegiama %(num)d paketų." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Šalinamas %(num)d paketas." -msgstr[1] "Šalinami %(num)d paketai." -msgstr[2] "Šalinama %(num)d paketų." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Įdiegti paketus." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "Fiktyvi python užduotis." +msgstr "Fiktyvi python užduotis." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" @@ -54,3 +29,28 @@ msgstr "Fiktyvus python žingsnis {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generuoti machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Apdorojami paketai (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Įdiegti paketus." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Įdiegiamas %(num)d paketas." +msgstr[1] "Įdiegiami %(num)d paketai." +msgstr[2] "Įdiegiama %(num)d paketų." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Šalinamas %(num)d paketas." +msgstr[1] "Šalinami %(num)d paketai." +msgstr[2] "Šalinama %(num)d paketų." diff --git a/lang/python/mr/LC_MESSAGES/python.mo b/lang/python/mr/LC_MESSAGES/python.mo index 064459649aa296dc90baee39b3b1363af93b4d46..26a66a6c828d6885d89538927b4e59008bd95102 100644 GIT binary patch delta 24 fcmZ3=yp(xDFRziVk)eX2nU#r&wt?ZsS=@{ORDuRc delta 24 fcmZ3=yp(xDFR!7lftiAVnU#T&u7T;sS=@{ORC@+W diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index af0a34a0a..6825e79be 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/nb/LC_MESSAGES/python.mo b/lang/python/nb/LC_MESSAGES/python.mo index e06c41b4f73fe36c1e27e1c521113937986d8ee3..e6e209ead460198baccf3d8862b881fd15451ad7 100644 GIT binary patch delta 24 fcmaFC@`7c;9bO|{BSQs4Gb, 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Installer pakker." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -52,3 +29,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generer maskin-ID." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Installer pakker." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/nl/LC_MESSAGES/python.mo b/lang/python/nl/LC_MESSAGES/python.mo index 3f91f71954c43036a835bd3b9eb4d924da118240..8a1180c89d37dfbcdb744a6f7f908fcf0981c97c 100644 GIT binary patch delta 26 hcmbQlI*D}yBO|You92aFp_!G5iMD~^W, 2017\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Voorbeeld Python-taak" @@ -52,3 +29,26 @@ msgstr "Voorbeeld Python-stap {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Genereer machine-id" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/pl/LC_MESSAGES/python.mo b/lang/python/pl/LC_MESSAGES/python.mo index 68d9992772d3d2e03b1a302cbee974e50ac25bed..5044c481473dc884f8b4c3a99d55cea761d1df4a 100644 GIT binary patch delta 115 zcmX@hb&G34jI9k51H(#21_lWR28L(M3=HBx`ah5s2GZgz5Lz2Z*8utUKw2M2?*Y=e zK>E$bnJJ9CM!H6Z3WjD@CMMbjhLgFNY=nIii;^?*6nrzY^N%(qW+hi8W^eXkVq^vY DX|oqe delta 102 zcmcb`b(U*FjIBNs1H(#21_lWR28Nr=3=HBx`V){A2GU$C5LymM*8urOKw2M2uLsh( qK>Gg1nJJ9ChPno33I=9Y21dFDrjxmtY}j&5in9&#Hb*isG6MiJ$q_pM diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index 9652c674b..c3abb0120 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: m4sk1n , 2017\n" +"Last-Translator: Marcin Mikołajczak , 2017\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,33 +18,6 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Przetwarzanie pakietów (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Instalowanie jednego pakietu." -msgstr[1] "Instalowanie %(num)d pakietów." -msgstr[2] "Instalowanie %(num)d pakietów." -msgstr[3] "Instalowanie%(num)d pakietów." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Usuwanie jednego pakietu." -msgstr[1] "Usuwanie %(num)d pakietów." -msgstr[2] "Usuwanie %(num)d pakietów." -msgstr[3] "Usuwanie %(num)d pakietów." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Zainstaluj pakiety." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Zadanie fikcyjne Python." @@ -56,3 +29,30 @@ msgstr "Krok fikcyjny Python {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generuj machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Przetwarzanie pakietów (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Zainstaluj pakiety." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instalowanie jednego pakietu." +msgstr[1] "Instalowanie %(num)d pakietów." +msgstr[2] "Instalowanie %(num)d pakietów." +msgstr[3] "Instalowanie%(num)d pakietów." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Usuwanie jednego pakietu." +msgstr[1] "Usuwanie %(num)d pakietów." +msgstr[2] "Usuwanie %(num)d pakietów." +msgstr[3] "Usuwanie %(num)d pakietów." diff --git a/lang/python/pl_PL/LC_MESSAGES/python.mo b/lang/python/pl_PL/LC_MESSAGES/python.mo index 2561bb63e173f8257dd100d78593b9f994a38e8a..4ab528ca48af320b0a0da50800f95ce0971b6eef 100644 GIT binary patch delta 24 fcmX@ga+GC4FRziVk)eX2nU#r&wt?ZsS*sZVTdoHy delta 24 fcmX@ga+GC4FR!7lftiAVnU#T&u7T;sS*sZVTc-ys diff --git a/lang/python/pl_PL/LC_MESSAGES/python.po b/lang/python/pl_PL/LC_MESSAGES/python.po index 95ee21588..85d06d200 100644 --- a/lang/python/pl_PL/LC_MESSAGES/python.po +++ b/lang/python/pl_PL/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Polish (Poland) (https://www.transifex.com/calamares/teams/20061/pl_PL/)\n" "MIME-Version: 1.0\n" @@ -17,33 +17,6 @@ msgstr "" "Language: pl_PL\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -55,3 +28,30 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.mo b/lang/python/pt_BR/LC_MESSAGES/python.mo index d523872edc83075c26fff89d31a11262f9999d91..3dcb1bbf07ac189c163e29f2adc3c88baa56c3a2 100644 GIT binary patch delta 121 zcmcb}agt*~im50A149-w1A`clZUEAPKzcfqUJ0ZPf&AS-S{q2e1=9LJT5{ve6h>Yn zT_ZyULo+KA6Kw;-&0I{0jEadxscDG{x%nxnIr$0&l_eSZd3p@4C5Z(v!O2sY_W}S2 Cw;LY- delta 129 zcmX@fagk#}im4O>149-w1A`=xZUxeUKzcru-Uy@(f&9ZjS{q1z1=9LJT5;pd6h>Y{ zT>~=(12ZcFBV7a2&0I{0jG9G>Nr^cb`3h;7$t8!^CTHd=6jYXE, 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" @@ -18,37 +18,37 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: src/modules/packages/main.py:59 +#: src/modules/dummypython/main.py:44 +msgid "Dummy python job." +msgstr "Tarefa modelo python." + +#: src/modules/dummypython/main.py:97 +msgid "Dummy python step {}" +msgstr "Etapa modelo python {}" + +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Gerar machine-id." + +#: src/modules/packages/main.py:60 #, python-format msgid "Processing packages (%(count)d / %(total)d)" msgstr "Processando pacotes (%(count)d / %(total)d)" -#: src/modules/packages/main.py:61 +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Instalar pacotes." + +#: src/modules/packages/main.py:65 #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." msgstr[0] "Instalando um pacote." msgstr[1] "Instalando %(num)d pacotes." -#: src/modules/packages/main.py:64 +#: src/modules/packages/main.py:68 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." msgstr[0] "Removendo um pacote." msgstr[1] "Removendo %(num)d pacotes." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Instalar pacotes." - -#: src/modules/dummypython/main.py:44 -msgid "Dummy python job." -msgstr "Trabalho fictício python." - -#: src/modules/dummypython/main.py:97 -msgid "Dummy python step {}" -msgstr "Etapa fictícia python {}" - -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Gerar machine-id." diff --git a/lang/python/pt_PT/LC_MESSAGES/python.mo b/lang/python/pt_PT/LC_MESSAGES/python.mo index f9a8df0f35328207b78cdb62143c30b8c0cc4903..a3e9eae712ff5f8c7ba82841e7caf55ceb30c67b 100644 GIT binary patch delta 26 hcmX@kahzkrUq)UdT_ZyULo+KA6Kw;-&0I{jOaN~B2G0Nh delta 26 hcmX@kahzkrUq)U-T>~=(12ZcFBV7a2&0I{jOaN~52G9Ti diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index 056043e06..f6841677a 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ricardo Simões , 2017\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "A processar pacotes (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "A instalar um pacote." -msgstr[1] "A instalar %(num)d pacotes." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "A remover um pacote." -msgstr[1] "A remover %(num)d pacotes." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Instalar pacotes." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tarefa Dummy python." @@ -52,3 +29,26 @@ msgstr "Passo Dummy python {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Gerar id-máquina" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "A processar pacotes (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Instalar pacotes." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "A instalar um pacote." +msgstr[1] "A instalar %(num)d pacotes." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "A remover um pacote." +msgstr[1] "A remover %(num)d pacotes." diff --git a/lang/python/ro/LC_MESSAGES/python.mo b/lang/python/ro/LC_MESSAGES/python.mo index c219a7e59f7adb384675bfc67fba35520d5bc21b..454cb52320c085f8c65b594d33c6a1e7d2e9a623 100644 GIT binary patch literal 1198 zcmah{J#*7Q5EYOBV=5R18j7QEMk1UgnM?=@N^lY<7~EQ9x3@aI-`B=I7_cq_ZUJ5at^hs)^7RdH z74RK!9q_Bqe}MD&_&LLv0=@}63A_sI0Pg|+1bhbMbq5!E`uD&$VE?JlUw}7Y{{uMJ z-5E2C0Qe;^NR3N?aR8)^ivS3BX9Y6O=a0c!%93OsrTe-gINBDQC1WI_G)>XLTVsWC zDv72jAz_Dcidj@LYFud&$0#M?Ytp7_7-77P1gC?mEX9%@z=pH^0?XuTRdt2NdN z0ZoO}xUSkP!V6hj;g;}Fq1kBRMM;SU5nh6i_fXk!?_;-&%Pw-Ky{V~5$8{Vi!~xx5 zdGmhVMzs>)dIK+2(BpVK-QC@i&U>>hx|b{Mki;Y* zk}6w+M%iV@nRaa{Y^zYO)vHJM;g+1jqTrfx7;is?@6>cp+i6S~pG9GZNJX{(ytRyH zj_UHGwy4Ba9*PM5h=*o2nI6vRAt?&YIFlsC%R(l~Lp<$nm49y*^~DPEu_h)=ejC`b=F6UIS+j*vfBwg@l)U-+?iA1V;^4Lp)ikC9gZ9E1 z&wU7)lJSfp)-`!AbIe}3@XUPFwf?Xq?Hc@_Gtaa*oJnJrFbT USs57V8kkPzV$$7Q%*4S60Kb(A)&Kwi diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index 51cee8bdb..86cc8286c 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -8,8 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Baadur Jobava , 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,39 +18,39 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Dummy python job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Dummy python step {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." -msgstr "" +msgstr "Generează machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Se procesează pachetele (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Instalează pachetele." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instalează un pachet." +msgstr[1] "Se instalează %(num)d pachete." +msgstr[2] "Se instalează %(num)d de pachete." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Se elimină un pachet." +msgstr[1] "Se elimină %(num)d pachet." +msgstr[2] "Se elimină %(num)d de pachete." diff --git a/lang/python/ru/LC_MESSAGES/python.mo b/lang/python/ru/LC_MESSAGES/python.mo index 6503a2f4cac7a6a46c17c03cb5effaa87d824c6c..51168d28b97b7ac69a68840605fe566ba505f2f8 100644 GIT binary patch delta 24 fcmZ3_vYur^FRziVk)eX2nU#r&wt?ZsSyLGSSB?hh delta 24 fcmZ3_vYur^FR!7lftiAVnU#T&u7T;sSyLGSSBD1b diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 0d2d623f7..3c4311fc0 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" "MIME-Version: 1.0\n" @@ -17,33 +17,6 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -55,3 +28,30 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" diff --git a/lang/python/sk/LC_MESSAGES/python.mo b/lang/python/sk/LC_MESSAGES/python.mo index c9e8e6912fec47fdd59d06df1e591834191d8748..7f309069efa0a8362d0e08e5f25ca9f2d5c408e1 100644 GIT binary patch delta 26 hcmX@YafD;TW=38kT_ZyULo+KA6Kw;-%?B7;m;h_F2YUbj delta 26 hcmX@YafD;TW=38^T>~=(12ZcFBV7a2%?B7;m;h_92Ydhk diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 86b9c17ab..9c6c4487e 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Dušan Kazik , 2017\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" @@ -18,31 +18,6 @@ msgstr "" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Spracovávajú sa balíky (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Inštaluje sa jeden balík." -msgstr[1] "Inštalujú sa %(num)d balíky." -msgstr[2] "Inštaluje sa %(num)d balíkov." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Odstraňuje sa jeden balík." -msgstr[1] "Odstraňujú sa %(num)d balíky." -msgstr[2] "Odstraňuje sa %(num)d balíkov." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Inštalácia balíkov." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Fiktívna úloha jazyka python." @@ -54,3 +29,28 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Spracovávajú sa balíky (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Inštalácia balíkov." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Inštaluje sa jeden balík." +msgstr[1] "Inštalujú sa %(num)d balíky." +msgstr[2] "Inštaluje sa %(num)d balíkov." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Odstraňuje sa jeden balík." +msgstr[1] "Odstraňujú sa %(num)d balíky." +msgstr[2] "Odstraňuje sa %(num)d balíkov." diff --git a/lang/python/sl/LC_MESSAGES/python.mo b/lang/python/sl/LC_MESSAGES/python.mo index 4963999f6d3f84dfd0687ce6c2c7bb3088cd07ac..96d564319490bc5bd2194ff113f9087a5db8b6a4 100644 GIT binary patch delta 24 fcmcc3e4BYfFRziVk)eX2nU#r&wt?ZsS&obVUZMu; delta 24 fcmcc3e4BYfFR!7lftiAVnU#T&u7T;sS&obVUYiE& diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index da7a7eb55..bdf3ef57d 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" @@ -17,33 +17,6 @@ msgstr "" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -55,3 +28,30 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" diff --git a/lang/python/sq/LC_MESSAGES/python.mo b/lang/python/sq/LC_MESSAGES/python.mo index b9026f8b365f3663e5a05d8a50a1dfef3d9376a3..ef1962977a89b6b18c1d638459da1e1a97e95505 100644 GIT binary patch delta 26 hcmdnUv5{lLUq)UdT_ZyULo+KA6Kw;-&0I|COaN+v28{p! delta 26 hcmdnUv5{lLUq)U-T>~=(12ZcFBV7a2&0I|COaN+p295v# diff --git a/lang/python/sq/LC_MESSAGES/python.po b/lang/python/sq/LC_MESSAGES/python.po index 2f2cb140a..fb08db5de 100644 --- a/lang/python/sq/LC_MESSAGES/python.po +++ b/lang/python/sq/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Besnik , 2017\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" @@ -18,29 +18,6 @@ msgstr "" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Po përpunohen paketat (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "Po instalohet një paketë." -msgstr[1] "Po instalohen %(num)d paketa." - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "Po hiqet një paketë." -msgstr[1] "Po hiqen %(num)d paketa." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Instalo paketa." - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Akt python dummy." @@ -52,3 +29,26 @@ msgstr "Hap python {} dummy" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Prodho machine-id." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Po përpunohen paketat (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Instalo paketa." + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Po instalohet një paketë." +msgstr[1] "Po instalohen %(num)d paketa." + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Po hiqet një paketë." +msgstr[1] "Po hiqen %(num)d paketa." diff --git a/lang/python/sr/LC_MESSAGES/python.mo b/lang/python/sr/LC_MESSAGES/python.mo index 442234ae5951ef1dc826a105cd6a96fdcf6e0dc3..6d0b5d88297d6a70f4f409a054aacce103f79bdc 100644 GIT binary patch delta 24 fcmaFQ{GNG2FRziVk)eX2nU#r&wt?ZsS)q&oVqym; delta 24 fcmaFQ{GNG2FR!7lftiAVnU#T&u7T;sS)q&oVp|6& diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 57c316342..9be56abad 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" "MIME-Version: 1.0\n" @@ -17,31 +17,6 @@ msgstr "" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -53,3 +28,28 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" diff --git a/lang/python/sr@latin/LC_MESSAGES/python.mo b/lang/python/sr@latin/LC_MESSAGES/python.mo index bd44894e5a84771442315c0a7124d480fc595982..c306e0b24dfda90fecb1d0da005288f1ac154056 100644 GIT binary patch delta 24 fcmZo=X=Rzv%WI@-WT;?hW@TccZD6=@RyHF5Pp$@Q delta 24 fcmZo=X=Rzv%WJ4>V5VSTW@TWcYhb!@RyHF5Pp1ZK diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index 02679fdfa..108ac58de 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr%40latin/)\n" "MIME-Version: 1.0\n" @@ -17,31 +17,6 @@ msgstr "" "Language: sr@latin\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -53,3 +28,28 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" diff --git a/lang/python/sv/LC_MESSAGES/python.mo b/lang/python/sv/LC_MESSAGES/python.mo index 92a48352a459be7b1ca62dd8784fe9467555850b..e510961117dbb32c721e6de674a3600f89ed527d 100644 GIT binary patch delta 24 fcmZ3=yp(xDFRziVk)eX2nU#r&wt?ZsS=@{ORDuRc delta 24 fcmZ3=yp(xDFR!7lftiAVnU#T&u7T;sS=@{ORC@+W diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 6d445ebab..44b91330d 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/th/LC_MESSAGES/python.mo b/lang/python/th/LC_MESSAGES/python.mo index 5516c50d9edb1de071274180b27eeec958d2f294..928119ab4dd6cd592bbfb454214778935a94f492 100644 GIT binary patch delta 24 fcmbQuJezq!FRziVk)eX2nU#r&wt?ZsS&WPTQlbVc delta 24 fcmbQuJezq!FR!7lftiAVnU#T&u7T;sS&WPTQkw=W diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index dd6d28e9c..89a94bd32 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" @@ -17,27 +17,6 @@ msgstr "" "Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -49,3 +28,24 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.mo b/lang/python/tr_TR/LC_MESSAGES/python.mo index 42dc9f1aa41e452ee39f00acada4bb09285b8ffc..1b5380c8af98216c3e8a1de91c276849d85e348a 100644 GIT binary patch delta 110 zcmeC@n8z_8#&$0w1H(!n7Gz*xNM~kX5CPJaKw1(=_W@}EAiV<0-wC9(f&9xrS`JA6 w-#9ack=IDq$WX!1%*w<>+rV%#7n2L$qlP&pr8zm7iFt{S8s={HWje$N0PnXKasU7T delta 95 zcmbQo(a$j<#&#Ve1H(!n7Gz*xh+t-55CPIzKw1(=*8^z*AUzYxUj?MKf&3#tS`J8m g*f=wVk=Ibyz)Zow%*wz>*T8f#7n958Sf+!F0HKQyr2qf` diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 430eea0b8..7319de05e 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Demiray Muhterem , 2017\n" +"Last-Translator: Demiray “tulliana” Muhterem , 2017\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,27 +18,6 @@ msgstr "" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Paketler işleniyor (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "%(num)d paket yükleniyor" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "%(num)d paket kaldırılıyor." - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "Paketleri yükle" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -50,3 +29,24 @@ msgstr "Dummy python step {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Makine kimliği oluştur." + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Paketler işleniyor (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "Paketleri yükle" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "%(num)d paket yükleniyor" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "%(num)d paket kaldırılıyor." diff --git a/lang/python/uk/LC_MESSAGES/python.mo b/lang/python/uk/LC_MESSAGES/python.mo index 639a1f7dba0731b4bcdd6e637e64d77a0ac051e8..bfcf70aed8b71102191731f4b15ba6e2a4a181b0 100644 GIT binary patch delta 24 fcmey!{E>M=FRziVk)eX2nU#r&wt?ZsS>cQTV!{V4 delta 24 fcmey!{E>M=FR!7lftiAVnU#T&u7T;sS>cQTV!H<} diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 77f668d05..d20957af7 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" "MIME-Version: 1.0\n" @@ -17,31 +17,6 @@ msgstr "" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -53,3 +28,28 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" diff --git a/lang/python/ur/LC_MESSAGES/python.mo b/lang/python/ur/LC_MESSAGES/python.mo index 01c42a2c44890c9dc488d1a6b47b31e4b5ca4cb7..c7e65df546e8126107503dab9dae61ffece7f41d 100644 GIT binary patch delta 24 fcmZ3)yoh;1FRziVk)eX2nU#r&wt?ZsSsaW2Q}PBt delta 24 fcmZ3)yoh;1FR!7lftiAVnU#T&u7T;sSsaW2Q|ksn diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index 7a6fcf70e..e6e8a0179 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" @@ -17,29 +17,6 @@ msgstr "" "Language: ur\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -51,3 +28,26 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/lang/python/uz/LC_MESSAGES/python.mo b/lang/python/uz/LC_MESSAGES/python.mo index c84057d05f87ebd6db4018d8d04668de4aaeaf02..8938a4717e428e52f81cb5860abe2a811d78aa05 100644 GIT binary patch delta 24 fcmbQkJcoHgFRziVk)eX2nU#r&wt?ZsSxk%oQql%4 delta 24 fcmbQkJcoHgFR!7lftiAVnU#T&u7T;sSxk%oQp*M} diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index cb4d813fb..0358a00c7 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" @@ -17,27 +17,6 @@ msgstr "" "Language: uz\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -49,3 +28,24 @@ msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.mo b/lang/python/zh_CN/LC_MESSAGES/python.mo index 1c96d9224fef7bbe2be537fe01cebf1617958e33..f4b1fcc7b44514a792a8a07af39939a275a94fc7 100644 GIT binary patch delta 537 zcmbQk+R0IWPl#nI0}yZku?!H$05LZZ&jDf(I03|hKztI2MS%D=l>PvuLE@~83=Aef zS{z7g18E;1Z2+Vzfb?=8UJ1nFKz<-Igw6!gAafdlv=9S>6T>thLlP*k5=es#I1J^# z2hu>j4D3M63dBGz0~-*t05Qn1AixA7CT6oGt@GV{_E z^7B$*5-8%T8hNF;nkg_jpr(ML{N&W)Vvr`7NeUXO8p-*kc_l!F`ULwy%b><9!<6eGgwai(xH^p2NY}_v!O+ag#6;V`a55jGjZ8sKVqQsZVxEFcd1_`x zVqQ*WoV!Z delta 171 zcmeC=n8TWRPl#nI0}!wPu?!H~05K~N#{e-16acXx5ElZm2oN_z=@~$JB_jjFS|BYB z#NkX3Iv+@b)U^X?pfm$B5QEHSnt0G<@=C@KUPE02GX(=PD+4241JlV|Og3`9nR)5S i`FZIIPKlWcHd(1@X-SEh4vG22$$Ax)RhyHTOc(*unH&B9 diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index 29f4ad9f1..c260affd4 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Mingcong Bai , 2017\n" +"Last-Translator: plantman , 2017\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,27 +18,6 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "占位 Python 任务。" @@ -50,3 +29,24 @@ msgstr "占位 Python 步骤 {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "生成 machine-id。" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "软件包处理中(%(count)d/%(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "安装软件包。" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "安装%(num)d软件包。" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "移除%(num)d软件包。" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.mo b/lang/python/zh_TW/LC_MESSAGES/python.mo index 80165ebd259127660d7b3e3da685c3f0a6ea0dd8..8aabcf737717f2cf5488a09c3d98214c010666af 100644 GIT binary patch delta 26 hcmbQkF^6NrUq)UdT_ZyULo+KA6Kw;-&0I`EOaNv+22KC~ delta 26 hcmbQkF^6NrUq)U-T>~=(12ZcFBV7a2&0I`EOaNv$22TJ0 diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 19111eebb..0ac48fe99 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2017-12-21 16:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Jeff Huang , 2017\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" @@ -18,27 +18,6 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: src/modules/packages/main.py:59 -#, python-format -msgid "Processing packages (%(count)d / %(total)d)" -msgstr "正在處理軟體包 (%(count)d / %(total)d)" - -#: src/modules/packages/main.py:61 -#, python-format -msgid "Installing one package." -msgid_plural "Installing %(num)d packages." -msgstr[0] "正在安裝 %(num)d 軟體包。" - -#: src/modules/packages/main.py:64 -#, python-format -msgid "Removing one package." -msgid_plural "Removing %(num)d packages." -msgstr[0] "正在移除 %(num)d 軟體包。" - -#: src/modules/packages/main.py:68 -msgid "Install packages." -msgstr "安裝軟體包。" - #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "假的 python 工作。" @@ -50,3 +29,24 @@ msgstr "假的 python step {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "生成 machine-id。" + +#: src/modules/packages/main.py:60 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "正在處理軟體包 (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:62 src/modules/packages/main.py:72 +msgid "Install packages." +msgstr "安裝軟體包。" + +#: src/modules/packages/main.py:65 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "正在安裝 %(num)d 軟體包。" + +#: src/modules/packages/main.py:68 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "正在移除 %(num)d 軟體包。" From 66c03b40550ae6435468c413e717c14f639cf395 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 22:27:56 +0100 Subject: [PATCH 126/178] CMake: fix broken logic around Python --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e3c4ee7fe..6ba0e3e73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,10 +180,12 @@ if ( PYTHONLIBS_FOUND ) ) endif() -if( PYTHONLIBS_NOTFOUND OR NOT CALAMARES_BOOST_PYTHON3_FOUND ) +if( NOT PYTHONLIBS_FOUND OR NOT CALAMARES_BOOST_PYTHON3_FOUND ) + message(STATUS "Disabling Boost::Python modules") set( WITH_PYTHON OFF ) endif() -if( PYTHONLIBS_NOTFOUND OR NOT PYTHONQT_FOUND ) +if( NOT PYTHONLIBS_FOUND OR NOT PYTHONQT_FOUND ) + message(STATUS "Disabling PythonQt modules") set( WITH_PYTHONQT OFF ) endif() From 4630008fa139b69875faf027ad290b985b694373 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 15 Jan 2018 22:41:06 +0100 Subject: [PATCH 127/178] CMake: don't copy over modules with unsupported interfaces. If Python isn't found, or PythonQt isn't found, there is no point in copying over the modules into the build tree; this may even be misleading because the files are there, but won't work and this will be noticed at runtime only. Instead, skip the modules and explain why. --- .../CalamaresAddModuleSubdirectory.cmake | 104 ++++++++++-------- 1 file changed, 61 insertions(+), 43 deletions(-) diff --git a/CMakeModules/CalamaresAddModuleSubdirectory.cmake b/CMakeModules/CalamaresAddModuleSubdirectory.cmake index f85de36e9..2d891a6bb 100644 --- a/CMakeModules/CalamaresAddModuleSubdirectory.cmake +++ b/CMakeModules/CalamaresAddModuleSubdirectory.cmake @@ -24,61 +24,79 @@ function( calamares_add_module_subdirectory ) set( SKIPPED_MODULES ) set( MODULE_CONFIG_FILES "" ) + set( _mod_dir "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}" ) # If this subdirectory has a CMakeLists.txt, we add_subdirectory it... - if( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/CMakeLists.txt" ) + if( EXISTS "${_mod_dir}/CMakeLists.txt" ) add_subdirectory( ${SUBDIRECTORY} ) - file( GLOB MODULE_CONFIG_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY} "${SUBDIRECTORY}/*.conf" ) + file( GLOB MODULE_CONFIG_FILES RELATIVE ${_mod_dir} "${SUBDIRECTORY}/*.conf" ) # Module has indicated it should be skipped, show that in # the calling CMakeLists (which is src/modules/CMakeLists.txt normally). if ( SKIPPED_MODULES ) set( SKIPPED_MODULES ${SKIPPED_MODULES} PARENT_SCOPE ) endif() # ...otherwise, we look for a module.desc. - elseif( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/module.desc" ) + elseif( EXISTS "${_mod_dir}/module.desc" ) set( MODULES_DIR ${CMAKE_INSTALL_LIBDIR}/calamares/modules ) set( MODULE_DESTINATION ${MODULES_DIR}/${SUBDIRECTORY} ) - # We glob all the files inside the subdirectory, and we make sure they are - # synced with the bindir structure and installed. - file( GLOB MODULE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY} "${SUBDIRECTORY}/*" ) - foreach( MODULE_FILE ${MODULE_FILES} ) - if( NOT IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/${MODULE_FILE} ) - configure_file( ${SUBDIRECTORY}/${MODULE_FILE} ${SUBDIRECTORY}/${MODULE_FILE} COPYONLY ) - - get_filename_component( FLEXT ${MODULE_FILE} EXT ) - if( "${FLEXT}" STREQUAL ".conf" AND INSTALL_CONFIG) - install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIRECTORY}/${MODULE_FILE} - DESTINATION ${MODULE_DATA_DESTINATION} ) - list( APPEND MODULE_CONFIG_FILES ${MODULE_FILE} ) - else() - install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIRECTORY}/${MODULE_FILE} - DESTINATION ${MODULE_DESTINATION} ) - endif() - endif() - endforeach() - - message( "-- ${BoldYellow}Found ${CALAMARES_APPLICATION_NAME} module: ${BoldRed}${SUBDIRECTORY}${ColorReset}" ) - if( NOT CMAKE_BUILD_TYPE STREQUAL "Release" ) - message( " ${Green}TYPE:${ColorReset} jobmodule" ) -# message( " ${Green}FILES:${ColorReset} ${MODULE_FILES}" ) - message( " ${Green}MODULE_DESTINATION:${ColorReset} ${MODULE_DESTINATION}" ) - if( MODULE_CONFIG_FILES ) - if ( INSTALL_CONFIG ) - message( " ${Green}CONFIGURATION_FILES:${ColorReset} ${MODULE_CONFIG_FILES} => ${MODULE_DATA_DESTINATION}" ) - else() - message( " ${Green}CONFIGURATION_FILES:${ColorReset} ${MODULE_CONFIG_FILES} => [Skipping installation]" ) - endif() - endif() - message( "" ) + # Read module.desc, check that the interface type is supported. + file(STRINGS "${_mod_dir}/module.desc" MODULE_INTERFACE REGEX "^interface") + if ( MODULE_INTERFACE MATCHES "pythonqt" ) + set( _mod_enabled ${WITH_PYTHONQT} ) + set( _mod_reason "No PythonQt support" ) + elseif ( MODULE_INTERFACE MATCHES "python" ) + set( _mod_enabled ${WITH_PYTHON} ) + set( _mod_reason "No Python support" ) + else() + set( _mod_enabled ON ) + set( _mod_reason "" ) endif() - # We copy over the lang directory, if any - if( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/lang" ) - install_calamares_gettext_translations( - ${SUBDIRECTORY} - SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/lang" - FILENAME ${SUBDIRECTORY}.mo - RENAME calamares-${SUBDIRECTORY}.mo - ) + + if ( _mod_enabled ) + # We glob all the files inside the subdirectory, and we make sure they are + # synced with the bindir structure and installed. + file( GLOB MODULE_FILES RELATIVE ${_mod_dir} "${SUBDIRECTORY}/*" ) + foreach( MODULE_FILE ${MODULE_FILES} ) + if( NOT IS_DIRECTORY ${_mod_dir}/${MODULE_FILE} ) + configure_file( ${SUBDIRECTORY}/${MODULE_FILE} ${SUBDIRECTORY}/${MODULE_FILE} COPYONLY ) + + get_filename_component( FLEXT ${MODULE_FILE} EXT ) + if( "${FLEXT}" STREQUAL ".conf" AND INSTALL_CONFIG) + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIRECTORY}/${MODULE_FILE} + DESTINATION ${MODULE_DATA_DESTINATION} ) + list( APPEND MODULE_CONFIG_FILES ${MODULE_FILE} ) + else() + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIRECTORY}/${MODULE_FILE} + DESTINATION ${MODULE_DESTINATION} ) + endif() + endif() + endforeach() + + message( "-- ${BoldYellow}Found ${CALAMARES_APPLICATION_NAME} module: ${BoldRed}${SUBDIRECTORY}${ColorReset}" ) + if( NOT CMAKE_BUILD_TYPE STREQUAL "Release" ) + message( " ${Green}TYPE:${ColorReset} jobmodule" ) + message( " ${Green}MODULE_DESTINATION:${ColorReset} ${MODULE_DESTINATION}" ) + if( MODULE_CONFIG_FILES ) + if ( INSTALL_CONFIG ) + message( " ${Green}CONFIGURATION_FILES:${ColorReset} ${MODULE_CONFIG_FILES} => ${MODULE_DATA_DESTINATION}" ) + else() + message( " ${Green}CONFIGURATION_FILES:${ColorReset} ${MODULE_CONFIG_FILES} => [Skipping installation]" ) + endif() + endif() + message( "" ) + endif() + # We copy over the lang directory, if any + if( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/lang" ) + install_calamares_gettext_translations( + ${SUBDIRECTORY} + SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/lang" + FILENAME ${SUBDIRECTORY}.mo + RENAME calamares-${SUBDIRECTORY}.mo + ) + endif() + else() + # Module disabled due to missing dependencies / unsupported interface + set( SKIPPED_MODULES "${SUBDIRECTORY} (${_mod_reason})" PARENT_SCOPE ) endif() else() message( "-- ${BoldYellow}Warning:${ColorReset} tried to add module subdirectory ${BoldRed}${SUBDIRECTORY}${ColorReset} which has no CMakeLists.txt or module.desc." ) From a2bdc12f2574e2a129d1a931f8bda173f02491fa Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 16 Jan 2018 10:42:46 +0100 Subject: [PATCH 128/178] [libcalamares] Drop unused plugin defines - Remove some superfluous intermediate defines - baseFactory was not used (always Calamares::PluginFactory) - Move DECLARATION and DEFINITIONS apart - CALAMARES_PLUGIN_FACTORY_DEFINITION was redefined (identically) - CALAMARES_PLUGIN_FACTORY_DECLARATION was redefined (identically) - __VA_ARGS__ was constant --- src/libcalamares/utils/PluginFactory.h | 85 ++++++-------------------- 1 file changed, 18 insertions(+), 67 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 8e6704a20..456802555 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -37,71 +37,6 @@ class PluginFactoryPrivate; #define CalamaresPluginFactory_iid "io.calamares.PluginFactory" -#define CALAMARES_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY_SKEL(name, baseFactory, ...) \ - class name : public Calamares::PluginFactory \ - { \ - Q_OBJECT \ - Q_INTERFACES(Calamares::PluginFactory) \ - __VA_ARGS__ \ - public: \ - explicit name(); \ - ~name(); \ - private: \ - void init(); \ - }; - -#define CALAMARES_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY(name, baseFactory) \ - CALAMARES_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY_SKEL(name, baseFactory, Q_PLUGIN_METADATA(IID CalamaresPluginFactory_iid)) - -#define CALAMARES_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY(name, baseFactory, pluginRegistrations) \ - name::name() \ - { \ - pluginRegistrations \ - } \ - name::~name() {} - -#define CALAMARES_PLUGIN_FACTORY_WITH_BASEFACTORY(name, baseFactory, pluginRegistrations) \ - CALAMARES_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY(name, baseFactory) \ - CALAMARES_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY(name, baseFactory, pluginRegistrations) - -#define CALAMARES_PLUGIN_FACTORY_DECLARATION(name) CALAMARES_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY(name, Calamares::PluginFactory) -#define CALAMARES_PLUGIN_FACTORY_DEFINITION(name, pluginRegistrations) CALAMARES_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY(name, Calamares::PluginFactory, pluginRegistrations) - -/** - * \relates PluginFactory - * - * Create a PluginFactory subclass and export it as the root plugin object. - * - * \param name The name of the PluginFactory derived class. - * - * \param pluginRegistrations Code to be inserted into the constructor of the - * class. Usually a series of registerPlugin() calls. - * - * Example: - * \code - * #include - * #include - * - * class MyPlugin : public PluginInterface - * { - * public: - * MyPlugin(QObject *parent, const QVariantList &args) - * : PluginInterface(parent) - * {} - * }; - * - * CALAMARES_PLUGIN_FACTORY(MyPluginFactory, - * registerPlugin(); - * ) - * - * #include - * \endcode - * - * \see CALAMARES_PLUGIN_FACTORY_DECLARATION - * \see CALAMARES_PLUGIN_FACTORY_DEFINITION - */ -#define CALAMARES_PLUGIN_FACTORY(name, pluginRegistrations) CALAMARES_PLUGIN_FACTORY_WITH_BASEFACTORY(name, Calamares::PluginFactory, pluginRegistrations) - /** * \relates PluginFactory * @@ -113,7 +48,18 @@ class PluginFactoryPrivate; * \see CALAMARES_PLUGIN_FACTORY * \see CALAMARES_PLUGIN_FACTORY_DEFINITION */ -#define CALAMARES_PLUGIN_FACTORY_DECLARATION(name) CALAMARES_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY(name, Calamares::PluginFactory) +#define CALAMARES_PLUGIN_FACTORY_DECLARATION(name) \ + class name : public Calamares::PluginFactory \ + { \ + Q_OBJECT \ + Q_INTERFACES(Calamares::PluginFactory) \ + Q_PLUGIN_METADATA(IID CalamaresPluginFactory_iid) \ + public: \ + explicit name(); \ + ~name(); \ + private: \ + void init(); \ + }; /** * \relates PluginFactory @@ -128,7 +74,12 @@ class PluginFactoryPrivate; * \see CALAMARES_PLUGIN_FACTORY * \see CALAMARES_PLUGIN_FACTORY_DECLARATION */ -#define CALAMARES_PLUGIN_FACTORY_DEFINITION(name, pluginRegistrations) CALAMARES_PLUGIN_FACTORY_DEFINITION_WITH_BASEFACTORY(name, Calamares::PluginFactory, pluginRegistrations) +#define CALAMARES_PLUGIN_FACTORY_DEFINITION(name, pluginRegistrations) \ + name::name() \ + { \ + pluginRegistrations \ + } \ + name::~name() {} namespace Calamares { From 0020fd885c0391498adfa0665d357c5f5ee38744 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 16 Jan 2018 11:00:39 +0100 Subject: [PATCH 129/178] [libcalamares] Remove unused extern declaration --- src/libcalamares/utils/PluginFactory.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index 1096ed343..26db804b0 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -29,8 +29,6 @@ Q_GLOBAL_STATIC( QObjectCleanupHandler, factorycleanup ) -extern int kLibraryDebugArea(); - namespace Calamares { From 510af704d8e2f0c65b7d5895148ed397320e39a6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 16 Jan 2018 11:05:30 +0100 Subject: [PATCH 130/178] [libcalamares] Improve documentation - reference to _WITH_JSON is bogus copy-replace from other code - fix style of sample code. --- src/libcalamares/utils/PluginFactory.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 456802555..7a55cc711 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -111,13 +111,11 @@ namespace Calamares * T(QObject *parent, const QVariantList &args) * \endcode * - * You should typically use either CALAMARES_PLUGIN_FACTORY() or - * CALAMARES_PLUGIN_FACTORY_WITH_JSON() in your plugin code to create the factory. The - * typical pattern is + * You should typically use CALAMARES_PLUGIN_FACTORY_DEFINITION() in your plugin code to + * create the factory. The pattern is * * \code - * #include - * #include + * #include "utils/PluginFactory.h" * * class MyPlugin : public PluginInterface * { @@ -127,10 +125,9 @@ namespace Calamares * {} * }; * - * CALAMARES_PLUGIN_FACTORY(MyPluginFactory, + * CALAMARES_PLUGIN_FACTORY_DEFINITION(MyPluginFactory, * registerPlugin(); * ) - * #include * \endcode * * If you want to load a library use KPluginLoader. From 86b899566e1c51fe7d618d5da2de606e521ac46d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 16 Jan 2018 12:00:58 +0100 Subject: [PATCH 131/178] [libcalamares] Silence compiler warnings about PluginFactories - d_ptr shadows QObject d_ptr, which clang complains about - rename, and don't use Q_D and similar because it messes with internals. --- src/libcalamares/utils/PluginFactory.cpp | 23 +++++++++-------------- src/libcalamares/utils/PluginFactory.h | 4 ++-- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index 26db804b0..d53b6474f 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -33,41 +33,38 @@ namespace Calamares { PluginFactory::PluginFactory() - : d_ptr( new PluginFactoryPrivate ) + : pd_ptr( new PluginFactoryPrivate ) { - Q_D( PluginFactory ); - d->q_ptr = this; + pd_ptr->q_ptr = this; factorycleanup()->add( this ); } PluginFactory::PluginFactory( PluginFactoryPrivate& d ) - : d_ptr( &d ) + : pd_ptr( &d ) { factorycleanup()->add( this ); } PluginFactory::~PluginFactory() { - delete d_ptr; + delete pd_ptr; } void PluginFactory::doRegisterPlugin( const QString& keyword, const QMetaObject* metaObject, CreateInstanceFunction instanceFunction ) { - Q_D( PluginFactory ); - Q_ASSERT( metaObject ); // we allow different interfaces to be registered without keyword if ( !keyword.isEmpty() ) { - if ( d->createInstanceHash.contains( keyword ) ) + if ( pd_ptr->createInstanceHash.contains( keyword ) ) qWarning() << "A plugin with the keyword" << keyword << "was already registered. A keyword must be unique!"; - d->createInstanceHash.insert( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); + pd_ptr->createInstanceHash.insert( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); } else { - const QList clashes( d->createInstanceHash.values( keyword ) ); + const QList clashes( pd_ptr->createInstanceHash.values( keyword ) ); const QMetaObject* superClass = metaObject->superClass(); if ( superClass ) { @@ -94,17 +91,15 @@ void PluginFactory::doRegisterPlugin( const QString& keyword, const QMetaObject* } } } - d->createInstanceHash.insertMulti( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); + pd_ptr->createInstanceHash.insertMulti( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); } } QObject* PluginFactory::create( const char* iface, QWidget* parentWidget, QObject* parent, const QString& keyword ) { - Q_D( PluginFactory ); - QObject* obj = nullptr; - const QList candidates( d->createInstanceHash.values( keyword ) ); + const QList candidates( pd_ptr->createInstanceHash.values( keyword ) ); // for !keyword.isEmpty() candidates.count() is 0 or 1 for ( const PluginFactoryPrivate::Plugin& plugin : candidates ) diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 7a55cc711..0ca7917c4 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -148,7 +148,7 @@ namespace Calamares class DLLEXPORT PluginFactory : public QObject { Q_OBJECT - Q_DECLARE_PRIVATE( PluginFactory ) + friend class PluginFactoryPrivate; public: /** * This constructor creates a factory for a plugin. @@ -249,7 +249,7 @@ protected: doRegisterPlugin( keyword, &T::staticMetaObject, instanceFunction ); } - PluginFactoryPrivate* const d_ptr; + PluginFactoryPrivate* const pd_ptr; /** * This function is called when the factory asked to create an Object. From 3b3e80b334598b0f6feb2a8312eb664cf29ef476 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 16 Jan 2018 17:03:19 +0100 Subject: [PATCH 132/178] [branding] Add a totally different branding example Use the samegame example from the Qt Quick demos as a branding "slideshow". Instead of watching slides go by, you can play samegame! Click on "new game" to start, and then click on groups of same-colored balls to make them go away -- at least two same-colored balls must be touching. Once the exec step is done, the game vanishes automatically. This is an additional example for #841 --- LICENSES/BSD3-SameGame | 49 ++++++++ src/branding/samegame/Block.qml | 73 +++++++++++ src/branding/samegame/Button.qml | 91 ++++++++++++++ src/branding/samegame/Dialog.qml | 81 ++++++++++++ src/branding/samegame/background.jpg | Bin 0 -> 36473 bytes src/branding/samegame/blueStar.png | Bin 0 -> 149 bytes src/branding/samegame/blueStone.png | Bin 0 -> 3054 bytes src/branding/samegame/branding.desc | 76 +++++++++++ src/branding/samegame/greenStar.png | Bin 0 -> 149 bytes src/branding/samegame/greenStone.png | Bin 0 -> 2932 bytes src/branding/samegame/languages.png | Bin 0 -> 86002 bytes src/branding/samegame/redStar.png | Bin 0 -> 148 bytes src/branding/samegame/redStone.png | Bin 0 -> 2902 bytes src/branding/samegame/samegame.js | 174 ++++++++++++++++++++++++++ src/branding/samegame/samegame.qml | 113 +++++++++++++++++ src/branding/samegame/squidball.png | Bin 0 -> 5800 bytes src/branding/samegame/star.png | Bin 0 -> 262 bytes src/branding/samegame/yellowStone.png | Bin 0 -> 3056 bytes 18 files changed, 657 insertions(+) create mode 100644 LICENSES/BSD3-SameGame create mode 100644 src/branding/samegame/Block.qml create mode 100644 src/branding/samegame/Button.qml create mode 100644 src/branding/samegame/Dialog.qml create mode 100644 src/branding/samegame/background.jpg create mode 100644 src/branding/samegame/blueStar.png create mode 100644 src/branding/samegame/blueStone.png create mode 100644 src/branding/samegame/branding.desc create mode 100644 src/branding/samegame/greenStar.png create mode 100644 src/branding/samegame/greenStone.png create mode 100644 src/branding/samegame/languages.png create mode 100644 src/branding/samegame/redStar.png create mode 100644 src/branding/samegame/redStone.png create mode 100644 src/branding/samegame/samegame.js create mode 100644 src/branding/samegame/samegame.qml create mode 100644 src/branding/samegame/squidball.png create mode 100644 src/branding/samegame/star.png create mode 100644 src/branding/samegame/yellowStone.png diff --git a/LICENSES/BSD3-SameGame b/LICENSES/BSD3-SameGame new file mode 100644 index 000000000..9aefc27c5 --- /dev/null +++ b/LICENSES/BSD3-SameGame @@ -0,0 +1,49 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ diff --git a/src/branding/samegame/Block.qml b/src/branding/samegame/Block.qml new file mode 100644 index 000000000..81bdd67ea --- /dev/null +++ b/src/branding/samegame/Block.qml @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//![0] +import QtQuick 2.0 + +Item { + id: block + + property int type: 0 + + Image { + id: img + + anchors.fill: parent + source: { + if (type == 0) + return "redStone.png"; + else if (type == 1) + return "blueStone.png"; + else + return "greenStone.png"; + } + } +} +//![0] diff --git a/src/branding/samegame/Button.qml b/src/branding/samegame/Button.qml new file mode 100644 index 000000000..77921772d --- /dev/null +++ b/src/branding/samegame/Button.qml @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 + +Rectangle { + id: container + + property string text: "Button" + + signal clicked + + width: buttonLabel.width + 20; height: buttonLabel.height + 5 + border { width: 1; color: Qt.darker(activePalette.button) } + antialiasing: true + radius: 8 + + // color the button with a gradient + gradient: Gradient { + GradientStop { + position: 0.0 + color: { + if (mouseArea.pressed) + return activePalette.dark + else + return activePalette.light + } + } + GradientStop { position: 1.0; color: activePalette.button } + } + + MouseArea { + id: mouseArea + anchors.fill: parent + onClicked: container.clicked(); + } + + Text { + id: buttonLabel + anchors.centerIn: container + color: activePalette.buttonText + text: container.text + } +} diff --git a/src/branding/samegame/Dialog.qml b/src/branding/samegame/Dialog.qml new file mode 100644 index 000000000..94e708f9c --- /dev/null +++ b/src/branding/samegame/Dialog.qml @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//![0] +import QtQuick 2.0 + +Rectangle { + id: container + + function show(text) { + dialogText.text = text; + container.opacity = 1; + } + + function hide() { + container.opacity = 0; + } + + width: dialogText.width + 20 + height: dialogText.height + 20 + opacity: 0 + + Text { + id: dialogText + anchors.centerIn: parent + text: "" + } + + MouseArea { + anchors.fill: parent + onClicked: hide(); + } +} +//![0] diff --git a/src/branding/samegame/background.jpg b/src/branding/samegame/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..903d395c8d04c9c1f3ceec8e38aadaccf073ff01 GIT binary patch literal 36473 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 S~YJ6cAChryNrla?vKGSWGwlkT#oISh*m6) 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 literal 0 HcmV?d00001 diff --git a/src/branding/samegame/branding.desc b/src/branding/samegame/branding.desc new file mode 100644 index 000000000..b280e3df3 --- /dev/null +++ b/src/branding/samegame/branding.desc @@ -0,0 +1,76 @@ +--- +componentName: samegame + +# 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 +# to distinguish this installer from other installers for the +# same distribution. +welcomeStyleCalamares: false + +# 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. +# +# The four Url strings are the Urls used by the buttons in +# the welcome screen, and are not shown to the user. Clicking +# on the "Support" button, for instance, opens the link supportUrl. +# If a Url is empty, the corresponding button is not shown. +# +# bootloaderEntryName is how this installation / distro is named +# in the boot loader (e.g. in the GRUB menu). +strings: + productName: Generic GNU/Linux + shortProductName: Generic + version: 2018.1 LTS + shortVersion: 2018.1 + versionedName: Generic GNU/Linux 2018.1 LTS "Tasseled Tambourine" + shortVersionedName: Generic 2018.1 + bootloaderEntryName: Generic + productUrl: https://calamares.io/ + supportUrl: https://github.com/calamares/calamares/issues + knownIssuesUrl: https://calamares.io/about/ + releaseNotesUrl: https://calamares.io/about/ + +# Should the welcome image (productWelcome, below) be scaled +# up beyond its natural size? If false, the image does not grow +# with the window but remains the same size throughout (this +# may have surprising effects on HiDPI monitors). +welcomeExpandingLogo: true + +# These images are loaded from the branding module directory. +# +# productIcon is used as the window icon, and will (usually) be used +# by the window manager to represent the application. This image +# should be square, and may be displayed by the window manager +# as small as 16x16 (but possibly larger). +# productLogo is used as the logo at the top of the left-hand column +# which shows the steps to be taken. The image should be square, +# and is displayed at 80x80 pixels (also on HiDPI). +# productWelcome is shown on the welcome page of the application in +# the middle of the window, below the welcome text. It can be +# any size and proportion, and will be scaled to fit inside +# the window. Use `welcomeExpandingLogo` to make it non-scaled. +# Recommended size is 320x150. +images: + productLogo: "squidball.png" + productIcon: "squidball.png" + productWelcome: "languages.png" + +# The slideshow is displayed during execution steps (e.g. when the +# installer is actually writing to disk and doing other slow things). +slideshow: "samegame.qml" + +# 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. +# +style: + sidebarBackground: "#292F34" + sidebarText: "#FFFFFF" + sidebarTextSelect: "#292F34" + sidebarTextHighlight: "#D35400" diff --git a/src/branding/samegame/greenStar.png b/src/branding/samegame/greenStar.png new file mode 100644 index 0000000000000000000000000000000000000000..38429749b8bd4882bbf391a0010d796cd4e2c7fe GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`F`h1tAr_~T6C~~>9J~DT(iEu$ zj-6>{3S|sQz5=sl&RRLlVLWQ(BFz+Xg8j&{fZpi~C5}u}l~4;fTN7~f1e=J%-b3!I w#JLtkwBIQxXxP=(`=-PpFiPRpd1q+`hKR64RtIJ^cc48Cp00i_>zopr033lZ_y7O^ literal 0 HcmV?d00001 diff --git a/src/branding/samegame/greenStone.png b/src/branding/samegame/greenStone.png new file mode 100644 index 0000000000000000000000000000000000000000..b568a1900c3c656039afe3e6271a469b4b2f7603 GIT binary patch literal 2932 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 ed5^LEum1ynoHFHgZzdQ30000=acq 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�==0;j%F=Kq0P>U~X0$-7~AA^Z= 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 M07*qoM6N<$g8o@6NdN!< literal 0 HcmV?d00001 diff --git a/src/branding/samegame/redStar.png b/src/branding/samegame/redStar.png new file mode 100644 index 0000000000000000000000000000000000000000..5cdf45c4c098a148907898f947f561484f6f75e9 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(Vi}jAr_~T6D00Es4w4YvXm_& zV9`w84%vnX;UjA9oB0IN9X9e^Y-14p#JEv2tDnm{r-UW|La{HG literal 0 HcmV?d00001 diff --git a/src/branding/samegame/redStone.png b/src/branding/samegame/redStone.png new file mode 100644 index 0000000000000000000000000000000000000000..36b09a26869643fb61f0d0cb50ce39e284d9a271 GIT binary patch literal 2902 zcmV-c3#s&pP)$#7O^9tKZrqx<>BSJCpyVk)UjZRi>I*_VAhj=5^T-PVq@tprBH)1+s6Zfs8XBn& zv_Panffgsmb(_X^OzNh-jP02@mwonSt@ZJ+_L(_89;Xpo+7D;%bJqH;|94scb>xLp z>|P4U?#HN5ddMs^5t%V>R)Y)e*KYsG`#p6$W=ZE+3&|!5JQUx%)l|Kk;(b zF&b`h{y$%P?mORn^^@1HeeZco^XTKJK76#-9{@0&jQH;Pf4+O+JOA>dqmO>@-#_u} zCtrPZZSCvMxq3&4_j$>E3NBpp3i=2k(p@=p@K+BUUinP5{qDz~SU<&+XU_3c>t|U# zc9P!GK|q;~H@SQB8rQF0b=q>=ucbtPXK-nsMF#;~dHQ^EHIm|GY(JQocw zoj78i`pD^Z&VKxP9$o(!2iDf<9azJ42Z+l-mFO${berkcO}1}d<=wY0aOuJ~Ise`7 z^Y*Q9mB5RA$IDIl$$)l!_2Dm-lzV05b2j74KYJoyd;Sw=dHSQzaqO`t8SFno-W_0U zmhvM6G}LHQLQ^44MW%tJJmc{GWsdX}=kKlD9Q$9J)a=iMZ)BEenxFBapJJz5Czc) z!9!C)Jw?k2Ivt^tEtqVycrw2o}MpA~Aw*kh+F?3grYXTDb8RI=Y9BH(|1c6x*0`Oea?K z;)JPJwi=!+8us@rU)!s??N6^f2vyB5#Jz9 z1N9WC3MfWU3}L(l<9q066ULipF@(uBQVcQW80V+dK`A3_)|~U6^O@nTMMk%npQ>bK zyU}-8yj8!DC$*_u=}8FLsrGGD7)KKmp3g3riW#Jko{L47w3Q8Ifj;X=ZQ{sT!oL zkgPzm4q`Jfsb5G4;A?0~OjSTNfog=7BWyXuHziGgJiw}jV_g{5tWPU`YsvAF>O*!C zRS59ewH~Zwumq@wX@sr`bm|eN3P|2y@(Pnrk*tekIhYJF22{})b}E{>#MF}(a*S_E z%BWNdMCb!64vuu;TFqyo@}~ys2NV>bQBHR(&#q=LFyK=DQwbCTP6C5^jCCHDbc!ss-OuqMTA13Qt+A-8kiKV+l~{#^D%4q)}9Im<%I(oon;3- zz{WI41x$fVAQQ#aQ(Wbdtey+618JArwjK2~rY?z1NfQDEFjXiOYK16Cp`O69h29dh$O+SNptlDmL1#`o{sZ5Xy #?4kbOf9x1)YLbkap0(F02g!D* zNh8ESh>>OnrU^{jZ#ii}H7&R+u#|v*Mk6a$xTk1Bh%(oE@`oW+|iT*c{{0V7nB@H8qA=~0&Zj%(lA#??VLfuOL{M99CdTwbIWc=!NS5O%Bs~g zc{T%-1lVoE&~24D}GV>B>dkWrFyo>twqwp7{Z7;euz z;(cZ|C|8=8v^VyC$Q|WGa5hWs+2t_nfyV3}YT7C$1|&3yugQFkgk~2GXxiJ(nPZd- z2F9}u#N{&QVwBgbkdjt3wSrlgX9Z(zhGbpHI^a6sW`Oti!33CkA;uyiSfCS|oinpcB3}^$e@Pax`G)06Ty)7UOcrx{&u;$eD_ZfIjWV*6p|) zql)v9Jca}(sfeON8KLlmT=)k&?`G!rIxF1pk*^LtpK4r6B|EEX0b^YP%3Hu4$ZR(c z(boRY)NA)>Rfqu-J(-4`PJyP-jy#ls^SN+&-eI|X-fpFq@X}_@r^XI^dlqtl6_fIA z2G?DJPCu!cyr~F>W5bpDX1G`{Y4d1RK ze|e|j(`yF2ZO;eBrsZVa1lH*%$eD^eAT6M;!By#*>_Uq#kx(Hq5`ZGYMgwK!wH3!J ziw4@g`tJP?_GfUo!{@Rke)$p0p~C{vkN|cR>_Vrv3!1lKmbM;ehSl2Ls`d>uvwSs# zkZji-4>xNj*T;Nz8qfzU|M!M_o|!hDI%t3MSQh^N2-rip&=ZR_HcjC2q*~sEP78dW zr z?x+haHRbf+JEh*bx^(oihYv5^au(O{-GUR^S_`D=4SvbV5^%nNBB+CS$gS zTfDuw$ye@_7ykH`{lcYf|F59E7Ra~W;Q`3^QZR2J`=Kfaw}+GFjo80>iQZ^Z`~A7E z_hqENWqee8@c5>osisuZg0dJh9uK*mTXu8yx>YFFSp@?@pdw?j1Tl=yz9pJ(D{p zs*$R$_3mU6u5FK}=eH)eE)L5p?-cbVt?KJ&*aS9#EnpiM0b`(Sf&DzByoZ7_pV|lZ zwfAxhx+>NkRp*WwV~*v*p-f}|nyD&LwW@=Tnh-aL@dg@hpn4m)+ky>Ss4-BqaMhfO zx)P~5SOHcMIoLkS+c7Fs$1Tj=Ik1^p(-vx`+PrcP4e?^DnOAdm z&ja`7l-<{YXYKEs7Gk`IQhVjyV(vW@a53DnpsJnAQ#a?tX1;b-bfE>P<`in?R0<1f z>0T}7y#N>A%O2on4{%}OOf&})_W*f7vBm5E0IhF_Ml((E_5c6?07*qoM6N<$g6)ir A8~^|S literal 0 HcmV?d00001 diff --git a/src/branding/samegame/samegame.js b/src/branding/samegame/samegame.js new file mode 100644 index 000000000..01edc5bd4 --- /dev/null +++ b/src/branding/samegame/samegame.js @@ -0,0 +1,174 @@ +/* This script file handles the game logic */ +var maxColumn = 10; +var maxRow = 15; +var maxIndex = maxColumn * maxRow; +var board = new Array(maxIndex); +var component; + +//Index function used instead of a 2D array +function index(column, row) { + return column + (row * maxColumn); +} + +function startNewGame() { + //Calculate board size + maxColumn = Math.floor(gameCanvas.width / gameCanvas.blockSize); + maxRow = Math.floor(gameCanvas.height / gameCanvas.blockSize); + maxIndex = maxRow * maxColumn; + + //Close dialogs + dialog.hide(); + + //Initialize Board + board = new Array(maxIndex); + gameCanvas.score = 0; + for (var column = 0; column < maxColumn; column++) { + for (var row = 0; row < maxRow; row++) { + board[index(column, row)] = null; + createBlock(column, row); + } + } +} + +function createBlock(column, row) { + if (component == null) + component = Qt.createComponent("Block.qml"); + + // Note that if Block.qml was not a local file, component.status would be + // Loading and we should wait for the component's statusChanged() signal to + // know when the file is downloaded and ready before calling createObject(). + if (component.status == Component.Ready) { + var dynamicObject = component.createObject(gameCanvas); + if (dynamicObject == null) { + console.log("error creating block"); + console.log(component.errorString()); + return false; + } + dynamicObject.type = Math.floor(Math.random() * 3); + dynamicObject.x = column * gameCanvas.blockSize; + dynamicObject.y = row * gameCanvas.blockSize; + dynamicObject.width = gameCanvas.blockSize; + dynamicObject.height = gameCanvas.blockSize; + board[index(column, row)] = dynamicObject; + } else { + console.log("error loading block component"); + console.log(component.errorString()); + return false; + } + return true; +} + +var fillFound; //Set after a floodFill call to the number of blocks found +var floodBoard; //Set to 1 if the floodFill reaches off that node + +//![1] +function handleClick(xPos, yPos) { + var column = Math.floor(xPos / gameCanvas.blockSize); + var row = Math.floor(yPos / gameCanvas.blockSize); + if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) + return; + if (board[index(column, row)] == null) + return; + //If it's a valid block, remove it and all connected (does nothing if it's not connected) + floodFill(column, row, -1); + if (fillFound <= 0) + return; + gameCanvas.score += (fillFound - 1) * (fillFound - 1); + shuffleDown(); + victoryCheck(); +} +//![1] + +function floodFill(column, row, type) { + if (board[index(column, row)] == null) + return; + var first = false; + if (type == -1) { + first = true; + type = board[index(column, row)].type; + + //Flood fill initialization + fillFound = 0; + floodBoard = new Array(maxIndex); + } + if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) + return; + if (floodBoard[index(column, row)] == 1 || (!first && type != board[index(column, row)].type)) + return; + floodBoard[index(column, row)] = 1; + floodFill(column + 1, row, type); + floodFill(column - 1, row, type); + floodFill(column, row + 1, type); + floodFill(column, row - 1, type); + if (first == true && fillFound == 0) + return; //Can't remove single blocks + board[index(column, row)].opacity = 0; + board[index(column, row)] = null; + fillFound += 1; +} + +function shuffleDown() { + //Fall down + for (var column = 0; column < maxColumn; column++) { + var fallDist = 0; + for (var row = maxRow - 1; row >= 0; row--) { + if (board[index(column, row)] == null) { + fallDist += 1; + } else { + if (fallDist > 0) { + var obj = board[index(column, row)]; + obj.y += fallDist * gameCanvas.blockSize; + board[index(column, row + fallDist)] = obj; + board[index(column, row)] = null; + } + } + } + } + //Fall to the left + var fallDist = 0; + for (var column = 0; column < maxColumn; column++) { + if (board[index(column, maxRow - 1)] == null) { + fallDist += 1; + } else { + if (fallDist > 0) { + for (var row = 0; row < maxRow; row++) { + var obj = board[index(column, row)]; + if (obj == null) + continue; + obj.x -= fallDist * gameCanvas.blockSize; + board[index(column - fallDist, row)] = obj; + board[index(column, row)] = null; + } + } + } + } +} + +//![2] +function victoryCheck() { + //Award bonus points if no blocks left + var deservesBonus = true; + for (var column = maxColumn - 1; column >= 0; column--) + if (board[index(column, maxRow - 1)] != null) + deservesBonus = false; + if (deservesBonus) + gameCanvas.score += 500; + + //Check whether game has finished + if (deservesBonus || !(floodMoveCheck(0, maxRow - 1, -1))) + dialog.show("Game Over. Your score is " + gameCanvas.score); +} +//![2] + +//only floods up and right, to see if it can find adjacent same-typed blocks +function floodMoveCheck(column, row, type) { + if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) + return false; + if (board[index(column, row)] == null) + return false; + var myType = board[index(column, row)].type; + if (type == myType) + return true; + return floodMoveCheck(column + 1, row, myType) || floodMoveCheck(column, row - 1, board[index(column, row)].type); +} + diff --git a/src/branding/samegame/samegame.qml b/src/branding/samegame/samegame.qml new file mode 100644 index 000000000..73ef74d1e --- /dev/null +++ b/src/branding/samegame/samegame.qml @@ -0,0 +1,113 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//![0] +import QtQuick 2.0 +import "samegame.js" as SameGame + +Rectangle { + id: screen + + width: 490; height: 720 + + SystemPalette { id: activePalette } + + Item { + width: parent.width + anchors { top: parent.top; bottom: toolBar.top } + + Image { + id: background + anchors.fill: parent + source: "background.jpg" + fillMode: Image.PreserveAspectCrop + } + +//![1] + Item { + id: gameCanvas + + property int score: 0 + property int blockSize: 40 + + width: parent.width - (parent.width % blockSize) + height: parent.height - (parent.height % blockSize) + anchors.centerIn: parent + + MouseArea { + anchors.fill: parent + onClicked: SameGame.handleClick(mouse.x, mouse.y) + } + } +//![1] + } + +//![2] + Dialog { + id: dialog + anchors.centerIn: parent + z: 100 + } +//![2] + + Rectangle { + id: toolBar + width: parent.width; height: 30 + color: activePalette.window + anchors.bottom: screen.bottom + + Button { + anchors { left: parent.left; verticalCenter: parent.verticalCenter } + text: "New Game" + onClicked: SameGame.startNewGame() + } + } +} +//![0] diff --git a/src/branding/samegame/squidball.png b/src/branding/samegame/squidball.png new file mode 100644 index 0000000000000000000000000000000000000000..b7934e8ee5c471bce5589f99cab75f1395941321 GIT binary patch literal 5800 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 ZwX&-T%YMus_0MGn^t6mM>(rg&{tx8-w&DN) literal 0 HcmV?d00001 diff --git a/src/branding/samegame/star.png b/src/branding/samegame/star.png new file mode 100644 index 0000000000000000000000000000000000000000..defbde53ca489900adbd2eb6b6c83a97cab11e80 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE52LDFw4%EPP-wEJi(`nz>AMp*@-aG!xSmf{=2|_i zLu{}72m9aMUh$4ogmk3>-(20}l#+gI+wVy$@7*a@Pfxg!TphW~SnJJep#`V5_&2oX zGKzb?-_Ix*$9&r&`Sx->kE??7n57fgP2yMYej9el^rgZfhVAn2L}oCaf5WX}%k+h* zPmsmpiH(Ztt$VlQS|``tm&i?D@b>DQ0;4BC86G^hUGg(P)l~h%?>R12o|1IarCw_dM zLpK47P*#yF6WZ3O>ykU~yn`=&`6&P{UAj2`;t!tv(7AJGZhYu(e&@Eju2(^@82Uf= z^S}O`_ull;v!_qr{+$yi-m|g2^$NfF8=v9nXP(Bn9DvXoc_DZwnC-t8+sE+yKR53^ zWjWySZ~gOq|M}EEe)7`#Q$Ml1w0+IJA3Jhpt z6`vmigSNRqfA@QwfAeY1Jo_w7+ZuU(2;kJ_PF|N^5fFnm7-ean7m>fb`>vU*e&sVKxaXda zGrMpv&c7F@M-VAG#c45XuvlSMVj&Qt!}&$7ySCtllLJPhdgaZx+Fu%tY{@zKr_5_q zy>i6e$?NkD=D;pMjA*|f{%m&EJ@B!+XXR7Bu*T`rx1sJ7>K0L*MKl9ZAcD0WTpSVO zfEf0Op-%{Vga}8LmG@jdpsoWK*4umf{diZeC;#A7n!^|na5r3^zx{mjz-~W$X@1WA z>W6Nd;irCbfm5fhM)Wu$Jw$RuGh`ahYRpPv7$mS=Lc2`}JH)U{Xlv$XyL~t`ws*p* z-QD=%|dJu;sADE3p zTXxFDJwm(F!L?h2u-yTMUCf3Qc}^h#5vUuxEd>7hx@&TG z^GyY(Z|bpf#G@`l#Dgdzf)Rm`088Q|wEd*oHlgj{I>0_L^l96QwuP!Psw%Rx8}4cY zXYx$`=U|!f(ap@VI z7h@a}CO+&F!yX}&RJGwftgU)ZT%9o-8gHF%{xBBu4N=Nz$jdyaBGk3rU*!70wbx`^ zbv$Er)iX1rI49&;MBP-1TLfz`t5SGJ#JJZbN8Ib6Vy9XReJu7VtCGRM7!HlPHkt-P zFb0FTQdV}U$n~jlBt@naOl~4XK6mV>V|mFlJENF&p%{(2dZ;?=eq<4I4KbFe<{%k@ zrl-V7x#^&XSm;wXCBtE4R7R>gV!+Idu)OS8Tl2hruKsL{_9vp$V->xmlogKSFBbk#Y5ADSv*iSDlx?*8L>GcGs5MmdKvWoaj@Xl~9ATmPL zfPh#H;!{?W6l}5Bm7Neu$|^7_ty8axG>s7>I4AUa%EG*3VcyBcX8Vg7(|~4xU>GWL z>-?ND(^IlcQ0-b!h|mUTTcc@=y6PbFtRiBFw1_w?DQFgf7K;thD(X5?*U&abXd#5I zjf#MCkY~cojIc1TY;AFSj5f*LNr=q^=k3(Yj86KaDtIqAH|Z>dV6>qFb=uP9OvJ>c z5L-&17PFSNjkHboaUmE6-E*A~qY5)wGMDFaW04D4 zg7RL-G9k~qqjPli&k}3|)zC>{HkBj>7KkwtgAvmtpxRj^%erTnb&w%|&*gBmmH{f10pI)mbIux zRJ&Wck5Vi~VuTok;0>3qtB8$1UI4!^uVV#=PGt*N)hPwXkVT>N3ZYjBS?*BDy4oi` z4GcOpX&Pn`No`Q2>HMl;>;^0fAwmd3+Y0I?EiKH?Y3W?|ncn-!h0=_dqH#(^@D4KH zg}4Lk;PTufS|Cy&l6CD(T=L%(AYoDu%{(eKnbc`!gcyYoplt=`1Wgk>a52wyeLN%j z>0vPhUTWKvX->#I6CdVzr<`aH)iiEND$wGRiqi@P%mQK!W}X-wszRO_F$UTov@K+< zpsrK3X$>=;caFVD9n3SG7`m?Q*{bf!fdFng%$cH^C*_I`RB}*{;4cF-B4Tl(9_CQG zj8zxOvy!$E8gG+i3&E%=!#SSJ^Zg0NJ3qBf$>r-+X}eWri_ub9NMUx)AyS}PbP8%O zg*y3=aatQ@mcrYqXQo61rBlzjmMm+!YM_EesA^+W#*k<7cRu;ATSe}h6IITKXpasC z;nPji6tJBMC!`UWVxJ` zsS(g;nOrukHVt3c+76!{3?gkiECkutjL#od>O{a!2{M7oxk`nKTH zGrL9EU>Moj3OL8_=DCLH#j&58(}N4Sr|a7OVsoqgY;6YCFSdg> z-)cTrR%UM-`Om&o9kwFAcGV|URhjF z)Xk$hkLoPyW>T1YDda^0_4^BJVyeEO^JA>A*r#c>Ie)(7l~-#X{o2m&KmA|B-#gHX z4h0-v)HKKz8=K+VN0wc+xZpm%xL`Uv>rtIU-0UR0or*c4<80m^`>_Cw*DOO~*des* ztgr9#;@OJ7e{|=M{^Rk%ZvolV|5`Q;>JCxQCBWWj6qhcnw=c}h=#S=R^{(ZmrdJfY zzi^ifl`NH@&Rg98oJx#U#4t?D&J9BQ2A4K2@ywag-dDc5_1lksd+0Ac%fVsWBc;t;Yn+tf{GWei^AEoJ{qkRdnFQ1V;V{T|QZP@Dv%_IrcxiABtzYKc>pzT-eeJE+|M<%r4?ptQ&O?_r!jF;|HPEE} zAmqV+;wB1?;bwq2U;$VHmQ`6XU_C5JoiHR(hpy4zBd}hbHG;Gw}Bm?59|SD0&b@v*3}ld8+WiU_N~k#sHx#EdGvd^x((juDv3H14hxzWH_pS(dFx+xLRX63+u~&<9%%_qrB!Fs4p=L^@a6m0P yti-$%;KA#12)G^sE>j8|1c`@$yiKu#+y4T!p Date: Wed, 17 Jan 2018 06:18:43 -0500 Subject: [PATCH 133/178] [libcalamares] Enforce singleton-ness of CalamaresPython::Helper - unset instance pointer on destruction - make constructor private, and the instance accessor should create an instance if there isn't one. --- src/libcalamares/JobQueue.cpp | 3 --- src/libcalamares/PythonHelper.cpp | 4 +++- src/libcalamares/PythonHelper.h | 2 +- src/libcalamares/PythonJob.cpp | 6 ++++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/libcalamares/JobQueue.cpp b/src/libcalamares/JobQueue.cpp index 3a2e9ff03..b5bdf0543 100644 --- a/src/libcalamares/JobQueue.cpp +++ b/src/libcalamares/JobQueue.cpp @@ -41,9 +41,6 @@ public: , m_queue( queue ) , m_jobIndex( 0 ) { -#ifdef WITH_PYTHON - new CalamaresPython::Helper( this ); -#endif } void setJobs( const JobList& jobs ) diff --git a/src/libcalamares/PythonHelper.cpp b/src/libcalamares/PythonHelper.cpp index 4f2f30e76..f274ac276 100644 --- a/src/libcalamares/PythonHelper.cpp +++ b/src/libcalamares/PythonHelper.cpp @@ -231,7 +231,9 @@ Helper::Helper( QObject* parent ) } Helper::~Helper() -{} +{ + s_instance = nullptr; +} boost::python::dict diff --git a/src/libcalamares/PythonHelper.h b/src/libcalamares/PythonHelper.h index e552a869d..d48e5eaab 100644 --- a/src/libcalamares/PythonHelper.h +++ b/src/libcalamares/PythonHelper.h @@ -48,7 +48,6 @@ class Helper : public QObject { Q_OBJECT public: - explicit Helper( QObject* parent = nullptr ); virtual ~Helper(); boost::python::dict createCleanNamespace(); @@ -57,6 +56,7 @@ public: private: friend Helper* Calamares::PythonJob::helper(); + explicit Helper( QObject* parent = nullptr ); static Helper* s_instance; boost::python::object m_mainModule; diff --git a/src/libcalamares/PythonJob.cpp b/src/libcalamares/PythonJob.cpp index faf2fa72d..a9fe4463e 100644 --- a/src/libcalamares/PythonJob.cpp +++ b/src/libcalamares/PythonJob.cpp @@ -381,8 +381,10 @@ PythonJob::emitProgress( qreal progressValue ) CalamaresPython::Helper* PythonJob::helper() { - return CalamaresPython::Helper::s_instance; - + auto ptr = CalamaresPython::Helper::s_instance; + if (!ptr) + ptr = new CalamaresPython::Helper; + return ptr; } From 97fb83c74307fe0b0bffaa94be3310e0cfc2a007 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 17 Jan 2018 06:20:55 -0500 Subject: [PATCH 134/178] [libcalamares] Change debug logging of how job name is derived --- src/libcalamares/PythonJob.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/PythonJob.cpp b/src/libcalamares/PythonJob.cpp index a9fe4463e..48682dbad 100644 --- a/src/libcalamares/PythonJob.cpp +++ b/src/libcalamares/PythonJob.cpp @@ -322,7 +322,7 @@ PythonJob::exec() } if ( !m_description.isEmpty() ) { - cDebug() << "Job" << prettyName() << "(func) ->" << m_description; + cDebug() << "Job description from pretty_name" << prettyName() << "=" << m_description; emit progress( 0 ); } } @@ -337,7 +337,7 @@ PythonJob::exec() auto i_newline = m_description.indexOf('\n'); if ( i_newline > 0 ) m_description.truncate( i_newline ); - cDebug() << "Job" << prettyName() << "(doc) ->" << m_description; + cDebug() << "Job description from __doc__" << prettyName() << "=" << m_description; emit progress( 0 ); } } From 845986d48fcfb5c95a67267c648040496ada4f4d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 17 Jan 2018 09:09:46 -0500 Subject: [PATCH 135/178] [libcalamaresui] Mark virtual QObject destructors override --- src/libcalamaresui/ViewManager.h | 2 +- src/libcalamaresui/modulesystem/ModuleManager.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/ViewManager.h b/src/libcalamaresui/ViewManager.h index fa80698ce..2e7e4df84 100644 --- a/src/libcalamaresui/ViewManager.h +++ b/src/libcalamaresui/ViewManager.h @@ -123,7 +123,7 @@ signals: private: explicit ViewManager( QObject* parent = nullptr ); - virtual ~ViewManager(); + virtual ~ViewManager() override; void insertViewStep( int before, ViewStep* step ); diff --git a/src/libcalamaresui/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h index 6621bdaf3..ed7700c40 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.h +++ b/src/libcalamaresui/modulesystem/ModuleManager.h @@ -42,7 +42,7 @@ class ModuleManager : public QObject Q_OBJECT public: explicit ModuleManager( const QStringList& paths, QObject* parent = nullptr ); - virtual ~ModuleManager(); + virtual ~ModuleManager() override; static ModuleManager* instance(); From 9c9486bb783a698375a306ba997ca8276be32ca4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 17 Jan 2018 09:16:47 -0500 Subject: [PATCH 136/178] [libcalamares] When ViewManager is destroyed, reset instance pointer --- src/libcalamaresui/ViewManager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 2807cf9f4..645be4371 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -100,6 +100,7 @@ ViewManager::ViewManager( QObject* parent ) ViewManager::~ViewManager() { m_widget->deleteLater(); + s_instance = nullptr; } From e134dcd90d350d5cd7192f7d7e319349dd285749 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Tue, 23 Jan 2018 12:10:41 +0100 Subject: [PATCH 137/178] [core] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 387 ++++++++++++++++------------------- lang/calamares_ast.ts | 387 ++++++++++++++++------------------- lang/calamares_bg.ts | 387 ++++++++++++++++------------------- lang/calamares_ca.ts | 393 +++++++++++++++++------------------ lang/calamares_cs_CZ.ts | 393 +++++++++++++++++------------------ lang/calamares_da.ts | 393 +++++++++++++++++------------------ lang/calamares_de.ts | 391 ++++++++++++++++------------------- lang/calamares_el.ts | 387 ++++++++++++++++------------------- lang/calamares_en.ts | 391 +++++++++++++++++------------------ lang/calamares_en_GB.ts | 387 ++++++++++++++++------------------- lang/calamares_es.ts | 391 +++++++++++++++++------------------ lang/calamares_es_ES.ts | 387 ++++++++++++++++------------------- lang/calamares_es_MX.ts | 387 ++++++++++++++++------------------- lang/calamares_es_PR.ts | 387 ++++++++++++++++------------------- lang/calamares_et.ts | 381 ++++++++++++++++------------------ lang/calamares_eu.ts | 385 ++++++++++++++++------------------- lang/calamares_fa.ts | 381 ++++++++++++++++------------------ lang/calamares_fi_FI.ts | 387 ++++++++++++++++------------------- lang/calamares_fr.ts | 391 +++++++++++++++++------------------ lang/calamares_fr_CH.ts | 381 ++++++++++++++++------------------ lang/calamares_gl.ts | 387 ++++++++++++++++------------------- lang/calamares_gu.ts | 381 ++++++++++++++++------------------ lang/calamares_he.ts | 389 ++++++++++++++++------------------- lang/calamares_hi.ts | 381 ++++++++++++++++------------------ lang/calamares_hr.ts | 393 +++++++++++++++++------------------ lang/calamares_hu.ts | 390 ++++++++++++++++------------------- lang/calamares_id.ts | 389 ++++++++++++++++------------------- lang/calamares_is.ts | 387 ++++++++++++++++------------------- lang/calamares_it_IT.ts | 389 ++++++++++++++++------------------- lang/calamares_ja.ts | 389 ++++++++++++++++------------------- lang/calamares_kk.ts | 381 ++++++++++++++++------------------ lang/calamares_kn.ts | 381 ++++++++++++++++------------------ lang/calamares_lo.ts | 381 ++++++++++++++++------------------ lang/calamares_lt.ts | 391 +++++++++++++++++------------------ lang/calamares_mr.ts | 385 ++++++++++++++++------------------- lang/calamares_nb.ts | 387 ++++++++++++++++------------------- lang/calamares_nl.ts | 389 ++++++++++++++++------------------- lang/calamares_pl.ts | 405 +++++++++++++++++-------------------- lang/calamares_pl_PL.ts | 387 ++++++++++++++++------------------- lang/calamares_pt_BR.ts | 391 +++++++++++++++++------------------ lang/calamares_pt_PT.ts | 391 +++++++++++++++++------------------ lang/calamares_ro.ts | 389 ++++++++++++++++------------------- lang/calamares_ru.ts | 387 ++++++++++++++++------------------- lang/calamares_sk.ts | 391 +++++++++++++++++------------------ lang/calamares_sl.ts | 387 ++++++++++++++++------------------- lang/calamares_sq.ts | 389 ++++++++++++++++------------------- lang/calamares_sr.ts | 387 ++++++++++++++++------------------- lang/calamares_sr@latin.ts | 387 ++++++++++++++++------------------- lang/calamares_sv.ts | 387 ++++++++++++++++------------------- lang/calamares_th.ts | 387 ++++++++++++++++------------------- lang/calamares_tr_TR.ts | 391 +++++++++++++++++------------------ lang/calamares_uk.ts | 387 ++++++++++++++++------------------- lang/calamares_ur.ts | 381 ++++++++++++++++------------------ lang/calamares_uz.ts | 381 ++++++++++++++++------------------ lang/calamares_zh_CN.ts | 389 ++++++++++++++++------------------- lang/calamares_zh_TW.ts | 391 +++++++++++++++++------------------ 56 files changed, 10031 insertions(+), 11678 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index 070a51157..976653b5c 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -122,68 +122,6 @@ Running command %1 %2 يشغّل الأمر 1% 2% - - - External command crashed - انهار الأمر الخارجيّ - - - - Command %1 crashed. -Output: -%2 - انهار الأمر %1. -الخرج: -%2 - - - - External command failed to start - فشل الأمر الخارجي في البدء - - - - Command %1 failed to start. - فشل الأمر %1 في البدء - - - - Internal error when starting command - حدث خطأ داخلي أثناء بدء الأمر - - - - Bad parameters for process job call. - معاملات نداء المهمة سيّئة. - - - - External command failed to finish - فشل الأمر الخارجي بالانتهاء - - - - Command %1 failed to finish in %2s. -Output: -%3 - فشل الأمر %1 بالانتهاء خلال %2 ثانية. -الخرج: -%3 - - - - External command finished with errors - انتهى الأمر الخارجي مع وجود أخطاء - - - - Command %1 finished with exit code %2. -Output: -%3 - انتهى الأمر %1 بشيفرة خروج %2. -الخرج: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &إلغاء - + Cancel installation without changing the system. الغاء الـ تثبيت من دون احداث تغيير في النظام - + Cancel installation? إلغاء التثبيت؟ - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. أتريد إلغاء عمليّة التّثبيت الحاليّة؟ سيخرج المثبّت وتضيع كلّ التّغييرات. - + &Yes &نعم - + &No &لا - + &Close &اغلاق - + Continue with setup? الإستمرار في التثبيت؟ - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> مثبّت %1 على وشك بإجراء تعديلات على قرصك لتثبيت %2.<br/><strong>لن تستطيع التّراجع عن هذا.</strong> - + &Install now &ثبت الأن - + Go &back &إرجع - + &Done - + The installation is complete. Close the installer. اكتمل التثبيت , اغلق المثبِت - + Error خطأ - + Installation Failed فشل التثبيت @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. خطأ لا يمكن الحصول علية في بايثون. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + معاملات نداء المهمة سيّئة. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 المثبت - + Show debug information أظهر معلومات التّنقيح @@ -392,12 +403,12 @@ The installer will quit and all changes will be lost. <strong>تقسيم يدويّ</strong><br/>يمكنك إنشاء أو تغيير حجم الأقسام بنفسك. - + Boot loader location: مكان محمّل الإقلاع: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. سيتقلّص %1 إلى %2م.بايت وقسم %3م.بايت آخر جديد سيُنشأ ل‍%4. @@ -408,83 +419,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: الحاليّ: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>اختر قسمًا لتقليصه، ثمّ اسحب الشّريط السّفليّ لتغيير حجمه </strong> - + <strong>Select a partition to install on</strong> <strong>اختر القسم حيث سيكون التّثبيت عليه</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. تعذّر إيجاد قسم النّظام EFI في أيّ مكان. فضلًا ارجع واستخدم التّقسيم اليدويّ لإعداد %1. - + The EFI system partition at %1 will be used for starting %2. قسم النّظام EFI على %1 سيُستخدم لبدء %2. - + EFI system partition: قسم نظام EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. لا يبدو أن في جهاز التّخزين أيّ نظام تشغيل. ما الذي تودّ فعله؟<br/>يمكنك مراجعة الاختيارات وتأكيدها قبل تطبيقها على جهاز التّخزين. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>مسح القرص</strong><br/>هذا س<font color="red">يمسح</font> كلّ البيانات الموجودة في جهاز التّخزين المحدّد. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. على جهاز التّخزين %1. ما الذي تودّ فعله؟<br/>يمكنك مراجعة الاختيارات وتأكيدها قبل تطبيقها على جهاز التّخزين. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>ثبّت جنبًا إلى جنب</strong><br/>سيقلّص المثبّت قسمًا لتفريغ مساحة لِ‍ %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>استبدل قسمًا</strong><br/>يستبدل قسمًا مع %1 . - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. على جهاز التّخزين هذا نظام تشغيل ذأصلًا. ما الذي تودّ فعله؟<br/>يمكنك مراجعة الاختيارات وتأكيدها قبل تطبيقها على جهاز التّخزين. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. على جهاز التّخزين هذا عدّة أنظمة تشغيل. ما الذي تودّ فعله؟<br/>يمكنك مراجعة الاختيارات وتأكيدها قبل تطبيقها على جهاز التّخزين. @@ -533,7 +544,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ The installer will quit and all changes will be lost. نظام المل&فّات: - + + LVM LV name + + + + Flags: الشّارات: - + &Mount Point: نقطة ال&ضّمّ: @@ -586,27 +602,27 @@ The installer will quit and all changes will be lost. الح&جم: - + En&crypt تشفير - + Logical منطقيّ - + Primary أساسيّ - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. أنشئ قسم %2م.بايت جديد على %4 (%3) بنظام الملفّات %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. أنشئ قسم <strong>%2م.بايت</strong> جديد على <strong>%4</strong> (%3) بنظام الملفّات <strong>%1</strong>. - + Creating new %1 partition on %2. ينشئ قسم %1 جديد على %2. - + The installer failed to create partition on disk '%1'. فشل المثبّت في إنشاء قسم على القرص '%1'. - - - Could not open device '%1'. - تعذّر فتح الجهاز '%1': - - - - Could not open partition table. - تعذّر فتح جدول التّقسيم. - - - - The installer failed to create file system on partition %1. - فشل المثبّت في إنشاء نظام ملفّات على القسم %1. - - - - The installer failed to update partition table on disk '%1'. - فشل المثبّت في تحديث جدول التّقسيم على القرص '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. أنشئ جدول تقسيم %1 جديد على %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). أنشئ جدول تقسيم <strong>%1</strong> جديد على <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. ينشئ جدول التّقسيم %1 الجديد على %2. - + The installer failed to create a partition table on %1. فشل المثبّت في إنشاء جدول تقسيم على %1. - - - Could not open device %1. - تعذّر فتح الجهاز %1. - CreateUserJob @@ -781,17 +772,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. احذف القسم %1 - + Delete partition <strong>%1</strong>. احذف القسم <strong>%1</strong>. - + Deleting partition %1. يحذف القسم %1 . @@ -800,21 +791,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. فشل المثبّت في حذف القسم %1. - - - Partition (%1) and device (%2) do not match. - لا يتوافق القسم (%1) مع الجهاز (%2). - - - - Could not open device %1. - تعذّر فتح الجهاز %1. - - - - Could not open partition table. - تعذّر فتح جدول التّقسيم. - DeviceInfoWidget @@ -972,37 +948,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information اضبط معلومات القسم - + Install %1 on <strong>new</strong> %2 system partition. ثبّت %1 على قسم نظام %2 <strong>جديد</strong>. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. اضطب قسم %2 <strong>جديد</strong> بنقطة الضّمّ <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. ثبّت %2 على قسم النّظام %3 ‏<strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. اضبط القسم %3 <strong>%1</strong> بنقطة الضّمّ <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. ثبّت محمّل الإقلاع على <strong>%1</strong>. - + Setting up mount points. يضبط نقاط الضّمّ. @@ -1015,7 +991,12 @@ The installer will quit and all changes will be lost. نموذج - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now أ&عد التّشغيل الآن @@ -1051,45 +1032,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. هيّء القسم %1 (نظام الملفّات: %2، الحجم: %3 م.بايت) على %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. هيّء قسم <strong>%3م.بايت</strong> <strong>%1</strong> بنظام الملفّات <strong>%2</strong>. - + Formatting partition %1 with file system %2. يهيّء القسم %1 بنظام الملفّات %2. - + The installer failed to format partition %1 on disk '%2'. فشل المثبّت في تهيئة القسم %1 على القرص '%2'. - - - Could not open device '%1'. - تعذّر فتح الجهاز '%2': - - - - Could not open partition table. - تعذّر فتح جدول التّقسيم. - - - - The installer failed to create file system on partition %1. - فشل المثبّت في إنشاء نظام ملفّات في القسم %1. - - - - The installer failed to update partition table on disk '%1'. - فشل المثبّت في تحديث جدول التّقسيم على القرص '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ The installer will quit and all changes will be lost. ثبّت م&حمّل الإقلاع على: - + Are you sure you want to create a new partition table on %1? أمتأكّد من إنشاء جدول تقسيم جديد على %1؟ @@ -1689,22 +1650,22 @@ The installer will quit and all changes will be lost. الافتراضي - + unknown مجهول - + extended ممتدّ - + unformatted غير مهيّأ - + swap @@ -1921,24 +1882,24 @@ The installer will quit and all changes will be lost. اضبك طراز لوحة المفتايح إلى %1، والتّخطيط إلى %2-%3 - + Failed to write keyboard configuration for the virtual console. فشلت كتابة ضبط لوحة المفاتيح للطرفيّة الوهميّة. - - - + + + Failed to write to %1 فشلت الكتابة إلى %1 - + Failed to write keyboard configuration for X11. فشلت كتابة ضبط لوحة المفاتيح ل‍ X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ The installer will quit and all changes will be lost. تعذّر فتح ‎/etc/timezone للكتابة + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index 178a9075d..b4847bcf2 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -122,68 +122,6 @@ Running command %1 %2 Executando'l comandu %1 %2 - - - External command crashed - Cascó'l comandu esternu - - - - Command %1 crashed. -Output: -%2 - Cascó'l comandu %1. -Salida: -%2 - - - - External command failed to start - El comandu esternu falló al aniciase - - - - Command %1 failed to start. - El comandu %1 falló al aniciase. - - - - Internal error when starting command - Fallu internu al aniciar el comandu - - - - Bad parameters for process job call. - Parámetros incorreutos pa la llamada del trabayu del procesu. - - - - External command failed to finish - El comandu esternu fallo al finar - - - - Command %1 failed to finish in %2s. -Output: -%3 - El comandu %1 falló al finar en %2. -Salida: -%3 - - - - External command finished with errors - El comandu esternu finó con fallos - - - - Command %1 finished with exit code %2. -Output: -%3 - El comandu %1 finó col códigu salida %2. -Salida: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Salida: - + &Cancel &Encaboxar - + Cancel installation without changing the system. - + Cancel installation? ¿Encaboxar instalación? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿De xuru que quies encaboxar el procesu actual d'instalación? L'instalador colará y perderánse toles camudancies. - + &Yes &Sí - + &No &Non - + &Close &Zarrar - + Continue with setup? ¿Siguir cola configuración? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instalador %1 ta a piques de facer camudancies al to discu pa instalar %2.<br/><strong>Nun sedrás capaz a desfacer estes camudancies.</strong> - + &Install now &Instalar agora - + Go &back &Dir p'atrás - + &Done &Fecho - + The installation is complete. Close the installer. Completóse la operación. Zarra l'instalador. - + Error Fallu - + Installation Failed Instalación fallida @@ -333,15 +271,88 @@ L'instalador colará y perderánse toles camudancies. Fallu non algamable de Python + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Parámetros incorreutos pa la llamada del trabayu del procesu. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Instalador %1 - + Show debug information Amosar información de depuración @@ -392,12 +403,12 @@ L'instalador colará y perderánse toles camudancies. <strong>Particionáu manual</strong><br/>Pues crear o redimensionar particiones tu mesmu. - + Boot loader location: Allugamientu del xestor d'arranque: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 redimensionaráse a %2MB y crearáse la partición nueva de %3MB pa %4. @@ -408,83 +419,83 @@ L'instalador colará y perderánse toles camudancies. - - - + + + Current: Anguaño: - + Reuse %1 as home partition for %2. Reusar %1 como partición home pa %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nun pue alcontrase una partición EFI nesti sistema. Torna y usa'l particionáu a mano pa configurar %1, por favor. - + The EFI system partition at %1 will be used for starting %2. La partición del sistema EFI en %1 usaráse p'aniciar %2. - + EFI system partition: Partición EFI del sistema: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esti preséu d'almacenamientu nun paez tener un sistema operativu nelli. ¿Qué te prestaría facer?<br/>Sedrás capaz a revisar y confirmar les tos escoyetes enantes de facer cualesquier camudancia al preséu d'almacenamientu. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Desaniciar discu</strong><br/>Esto <font color="red">desaniciará</font> tolos datos anguaño presentes nel preséu d'almacenamientu esbilláu. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esti preséu d'almacenamientu tien %1 nelli. ¿Qué te prestaría facer?<br/>Sedrás capaz a revisar y confirmar les tos escoyetes enantes de facer cualesquier camudancia al preséu d'almacenamientu. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Tocar una partición</strong><br/>Troca una partición con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esti preséu d'almacenamientu yá tien un sistema operativu nelli. ¿Qué te prestaría facer?<br/>Sedrás capaz a revisar y confirmar les tos escoyetes enantes de facer cualesquier camudancia al preséu d'almacenamientu. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esti preséu d'almacenamientu tien múltiples sistemes operativos nelli. ¿Qué te prestaría facer?<br/>Sedrás capaz a revisar y confirmar les tos escoyetes enantes de facer cualesquier camudancia al preséu d'almacenamientu. @@ -533,7 +544,7 @@ L'instalador colará y perderánse toles camudancies. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ L'instalador colará y perderánse toles camudancies. Sistema de f&icheros: - + + LVM LV name + + + + Flags: Banderes: - + &Mount Point: &Puntu montaxe: @@ -586,27 +602,27 @@ L'instalador colará y perderánse toles camudancies. Tama&ñu: - + En&crypt &Cifrar - + Logical Llóxica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Puntu de montaxe yá n'usu. Esbilla otru, por favor. @@ -614,45 +630,25 @@ L'instalador colará y perderánse toles camudancies. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Crearáse la partición nueva de %2MB en %4 (%3) col sistema de ficheros %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Crearáse la partición nueva de <strong>%2MB</strong> en <strong>%4</strong> (%3) col sistema de ficheros <strong>%1</strong>. - + Creating new %1 partition on %2. Creando la partición nueva %1 en %2. - + The installer failed to create partition on disk '%1'. L'instalador falló al crear la partición nel discu «%1». - - - Could not open device '%1'. - Nun pudo abrise'l preséu «%1». - - - - Could not open partition table. - Nun pudo abrise la tabla particiones. - - - - The installer failed to create file system on partition %1. - L'instalador falló al crear el sistema ficheros na partición «%1». - - - - The installer failed to update partition table on disk '%1'. - L'instalador falló al anovar la tabla particiones nel discu «%1». - CreatePartitionTableDialog @@ -685,30 +681,25 @@ L'instalador colará y perderánse toles camudancies. CreatePartitionTableJob - + Create new %1 partition table on %2. Crearáse la tabla de particiones nueva %1 en %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Crearáse la tabla de particiones nueva <strong>%1</strong> en <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Creando la tabla de particiones nueva %1 en %2. - + The installer failed to create a partition table on %1. L'instalador falló al crear una tabla de particiones en %1. - - - Could not open device %1. - Nun pudo abrise'l preséu %1. - CreateUserJob @@ -781,17 +772,17 @@ L'instalador colará y perderánse toles camudancies. DeletePartitionJob - + Delete partition %1. Desaniciaráse la partición %1. - + Delete partition <strong>%1</strong>. Desaniciaráse la partición <strong>%1</strong>. - + Deleting partition %1. Desaniciando la partición %1. @@ -800,21 +791,6 @@ L'instalador colará y perderánse toles camudancies. The installer failed to delete partition %1. L'instalador falló al desaniciar la partición %1. - - - Partition (%1) and device (%2) do not match. - La partición (%1) y el preséu (%2) nun concasen. - - - - Could not open device %1. - Nun pudo abrise'l preséu %1. - - - - Could not open partition table. - Nun pudo abrise la tabla particiones. - DeviceInfoWidget @@ -972,37 +948,37 @@ L'instalador colará y perderánse toles camudancies. FillGlobalStorageJob - + Set partition information Afitar información de partición - + Install %1 on <strong>new</strong> %2 system partition. Instalaráse %1 na <strong>nueva</strong> partición del sistema %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Configuraráse la partición <strong>nueva</strong> %2 col puntu montaxe <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instalaráse %2 na partición del sistema %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Configuraráse la partición %3 de <strong>%1</strong> col puntu montaxe <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalaráse'l cargador d'arranque en <strong>%1</strong>. - + Setting up mount points. Configurando puntos de montaxe. @@ -1015,7 +991,12 @@ L'instalador colará y perderánse toles camudancies. Formulariu - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Reaniciar agora @@ -1051,45 +1032,25 @@ L'instalador colará y perderánse toles camudancies. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatiar partición %1 (sistema de ficheros: %2, tamañu: %3 MB) en %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatiaráse la partición <strong>%3MB</strong> de <strong>%1</strong> col sistema de ficheros <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatiando la partición %1 col sistema de ficheros %2. - + The installer failed to format partition %1 on disk '%2'. L'instalador falló al formatiar la partición %1 nel discu «%2». - - - Could not open device '%1'. - Nun pudo abrise'l preséu «%1». - - - - Could not open partition table. - Nun pudo abrise la tabla particiones. - - - - The installer failed to create file system on partition %1. - L'instalador falló al crear el sistema ficheros na partición «%1». - - - - The installer failed to update partition table on disk '%1'. - L'instalador falló al anovar la tabla particiones nel discu «%1». - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ L'instalador colará y perderánse toles camudancies. &Instalar xestor d'arranque en: - + Are you sure you want to create a new partition table on %1? ¿De xuru que quies crear una tabla particiones nueva en %1? @@ -1689,22 +1650,22 @@ L'instalador colará y perderánse toles camudancies. Por defeutu - + unknown - + extended - + unformatted ensin formatiar - + swap intercambéu @@ -1921,24 +1882,24 @@ L'instalador colará y perderánse toles camudancies. Afitar modelu de tecláu a %1, distribución a %2-%3 - + Failed to write keyboard configuration for the virtual console. Fallu al escribir la configuración de tecláu pa la consola virtual. - - - + + + Failed to write to %1 Fallu al escribir a %1 - + Failed to write keyboard configuration for X11. Fallu al escribir la configuración de tecláu pa X11. - + Failed to write keyboard configuration to existing /etc/default directory. Fallu al escribir la configuración del tecláu nel direutoriu /etc/default esistente. @@ -2107,6 +2068,14 @@ L'instalador colará y perderánse toles camudancies. Nun pue abrise /etc/timezone pa escritura + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ L'instalador colará y perderánse toles camudancies. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index 99e056610..867796ae8 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -122,68 +122,6 @@ Running command %1 %2 Изпълняване на команда %1 %2 - - - External command crashed - Външна команда се провали - - - - Command %1 crashed. -Output: -%2 - Команда %1 се провали. -Резултат: -%2 - - - - External command failed to start - Външна команда не успя да стартира - - - - Command %1 failed to start. - Команда %1 не успя да стартира. - - - - Internal error when starting command - Вътрешна грешка при стартиране на команда - - - - Bad parameters for process job call. - Невалидни параметри за извикване на задача за процес. - - - - External command failed to finish - Външна команда не успя да завърши - - - - Command %1 failed to finish in %2s. -Output: -%3 - Команда %1 не можа да завърши в рамките на %2 сек. -Резултат: -%3 - - - - External command finished with errors - Външна команда приключи с грешки - - - - Command %1 finished with exit code %2. -Output: -%3 - Команда %1 завърши с код за изход %2. -Резултат: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Отказ - + Cancel installation without changing the system. Отказ от инсталацията без промяна на системата - + Cancel installation? Отмяна на инсталацията? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Наистина ли искате да отмените текущият процес на инсталиране? Инсталатора ще прекъсне и всичките промени ще бъдат загубени. - + &Yes &Да - + &No &Не - + &Close &Затвори - + Continue with setup? Продължаване? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Инсталатора на %1 ще направи промени по вашия диск за да инсталира %2. <br><strong>Промените ще бъдат окончателни.</strong> - + &Install now &Инсталирай сега - + Go &back В&ръщане - + &Done &Готово - + The installation is complete. Close the installer. Инсталацията е завършена. Затворете инсталаторa. - + Error Грешка - + Installation Failed Неуспешна инсталация @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. Недостъпна Python грешка. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Невалидни параметри за извикване на задача за процес. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Инсталатор - + Show debug information Покажи информация за отстраняване на грешки @@ -393,12 +404,12 @@ The installer will quit and all changes will be lost. <strong>Самостоятелно поделяне</strong><br/>Можете да създадете или преоразмерите дяловете сами. - + Boot loader location: Локация на програмата за начално зареждане: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 ще се смали до %2МБ и нов %3МБ дял ще бъде създаден за %4. @@ -409,83 +420,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: Сегашен: - + Reuse %1 as home partition for %2. Използване на %1 като домашен дял за %2 - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Изберете дял за смаляване, после влачете долната лента за преоразмеряване</strong> - + <strong>Select a partition to install on</strong> <strong>Изберете дял за инсталацията</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. EFI системен дял не е намерен. Моля, опитайте пак като използвате ръчно поделяне за %1. - + The EFI system partition at %1 will be used for starting %2. EFI системен дял в %1 ще бъде използван за стартиране на %2. - + EFI system partition: EFI системен дял: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Това устройство за съхранение няма инсталирана операционна система. Какво ще правите?<br/>Ще може да прегледате и потвърдите избора си, преди да се направят промени по устройството за съхранение. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Изтриване на диска</strong><br/>Това ще <font color="red">изтрие</font> всички данни върху устройството за съхранение. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Това устройство за съхранение има инсталиран %1. Какво ще правите?<br/>Ще може да прегледате и потвърдите избора си, преди да се направят промени по устройството за съхранение. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Инсталирайте покрай</strong><br/>Инсталатора ще раздроби дяла за да направи място за %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Замени дял</strong><br/>Заменя този дял с %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Това устройство за съхранение има инсталирана операционна система. Какво ще правите?<br/>Ще може да прегледате и потвърдите избора си, преди да се направят промени по устройството за съхранение. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Това устройство за съхранение има инсталирани операционни системи. Какво ще правите?<br/>Ще може да прегледате и потвърдите избора си, преди да се направят промени по устройството за съхранение. @@ -534,7 +545,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -572,12 +583,17 @@ The installer will quit and all changes will be lost. Фа&йлова система: - + + LVM LV name + + + + Flags: Флагове: - + &Mount Point: Точка на &монтиране: @@ -587,27 +603,27 @@ The installer will quit and all changes will be lost. Раз&мер: - + En&crypt En%crypt - + Logical Логическа - + Primary Главна - + GPT GPT - + Mountpoint already in use. Please select another one. Точкака на монтиране вече се използва. Моля изберете друга. @@ -615,45 +631,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Създай нов %2МБ дял върху %4 (%3) със файлова система %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Създай нов <strong>%2МБ</strong> дял върху <strong>%4</strong> (%3) със файлова система <strong>%1</strong>. - + Creating new %1 partition on %2. Създаване на нов %1 дял върху %2. - + The installer failed to create partition on disk '%1'. Инсталатора не успя да създаде дял върху диск '%1'. - - - Could not open device '%1'. - Не можа да се отвори устройство '%1'. - - - - Could not open partition table. - Не можа да се отвори таблица на дяловете. - - - - The installer failed to create file system on partition %1. - Инсталатора не успя да създаде файлова система върху дял %1. - - - - The installer failed to update partition table on disk '%1'. - Инсталатора не успя да актуализира таблица на дяловете на диск '%1'. - CreatePartitionTableDialog @@ -686,30 +682,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. Създай нова %1 таблица на дяловете върху %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Създай нова <strong>%1</strong> таблица на дяловете върху <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Създаване на нова %1 таблица на дяловете върху %2. - + The installer failed to create a partition table on %1. Инсталатора не можа да създаде таблица на дяловете върху %1. - - - Could not open device %1. - Не можа да се отвори устройство '%1'. - CreateUserJob @@ -782,17 +773,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. Изтрий дял %1. - + Delete partition <strong>%1</strong>. Изтриване на дял <strong>%1</strong>. - + Deleting partition %1. Изтриване на дял %1. @@ -801,21 +792,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. Инсталатора не успя да изтрие дял %1. - - - Partition (%1) and device (%2) do not match. - Дял (%1) и устройство (%2) не съвпадат. - - - - Could not open device %1. - Не можа да се отвори устройство %1. - - - - Could not open partition table. - Не можа да се отвори таблица на дяловете. - DeviceInfoWidget @@ -973,37 +949,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information Постави информация за дял - + Install %1 on <strong>new</strong> %2 system partition. Инсталирай %1 на <strong>нов</strong> %2 системен дял. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Създай <strong>нов</strong> %2 дял със точка на монтиране <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Инсталирай %2 на %3 системен дял <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Създай %3 дял <strong>%1</strong> с точка на монтиране <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Инсталиране на зареждач върху <strong>%1</strong>. - + Setting up mount points. Настройка на точките за монтиране. @@ -1016,7 +992,12 @@ The installer will quit and all changes will be lost. Форма - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Рестартирай сега @@ -1052,45 +1033,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Форматирай дял %1 (файлова система: %2, размер: %3 МБ) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Форматирай <strong>%3МБ</strong> дял <strong>%1</strong> с файлова система <strong>%2</strong>. - + Formatting partition %1 with file system %2. Форматирай дял %1 с файлова система %2. - + The installer failed to format partition %1 on disk '%2'. Инсталатора не успя да форматира дял %1 на диск '%2'. - - - Could not open device '%1'. - Не можа да се отвори устройство '%1'. - - - - Could not open partition table. - Не можа да се отвори таблица на дяловете. - - - - The installer failed to create file system on partition %1. - Инсталатора не успя да създаде файлова система върху дял %1. - - - - The installer failed to update partition table on disk '%1'. - Инсталатора не успя да актуализира файлова система върху дял %1. - InteractiveTerminalPage @@ -1533,7 +1494,7 @@ The installer will quit and all changes will be lost. Инсталирай &устройството за начално зареждане върху: - + Are you sure you want to create a new partition table on %1? Сигурни ли сте че искате да създадете нова таблица на дяловете върху %1? @@ -1690,22 +1651,22 @@ The installer will quit and all changes will be lost. По подразбиране - + unknown неизвестна - + extended разширена - + unformatted неформатирана - + swap swap @@ -1922,24 +1883,24 @@ The installer will quit and all changes will be lost. Постави модела на клавиатурата на %1, оформлението на %2-%3 - + Failed to write keyboard configuration for the virtual console. Неуспешно записването на клавиатурна конфигурация за виртуалната конзола. - - - + + + Failed to write to %1 Неуспешно записване върху %1 - + Failed to write keyboard configuration for X11. Неуспешно записване на клавиатурна конфигурация за X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2108,6 +2069,14 @@ The installer will quit and all changes will be lost. Не може да се отвори /etc/timezone за записване + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2342,7 +2311,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index db799af1c..e4e501ed4 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -122,68 +122,6 @@ Running command %1 %2 Executant l'ordre %1 %2 - - - External command crashed - L'ordre externa ha fallat - - - - Command %1 crashed. -Output: -%2 - L'ordre %1 ha fallat. -Sortida: -%2 - - - - External command failed to start - L'ordre externa no s'ha pogut iniciar - - - - Command %1 failed to start. - L'ordre %1 no s'ha pogut iniciar. - - - - Internal error when starting command - Error intern en iniciar l'ordre - - - - Bad parameters for process job call. - Paràmetres incorrectes per a la crida del procés. - - - - External command failed to finish - L'ordre externa no ha acabat correctament - - - - Command %1 failed to finish in %2s. -Output: -%3 - L'ordre %1 no s'ha pogut acabar en %2s. -Sortida: -%3 - - - - External command finished with errors - L'ordre externa ha acabat amb errors - - - - Command %1 finished with exit code %2. -Output: -%3 - L'ordre %1 ha acabat amb el codi de sortida %2. -Sortida: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Sortida: - + &Cancel &Cancel·la - + Cancel installation without changing the system. Cancel·leu la instal·lació sense canviar el sistema. - + Cancel installation? Cancel·lar la instal·lació? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voleu cancel·lar el procés d'instal·lació actual? L'instal·lador es tancarà i tots els canvis es perdran. - + &Yes &Sí - + &No &No - + &Close Tan&ca - + Continue with setup? Voleu continuar la configuració? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'instal·lador de %1 està a punt de fer canvis al disc per tal d'instal·lar-hi %2.<br/><strong>No podreu desfer aquests canvis.</strong> - + &Install now &Instal·la ara - + Go &back Vés &enrere - + &Done &Fet - + The installation is complete. Close the installer. La instal·lació s'ha acabat. Tanqueu l'instal·lador. - + Error Error - + Installation Failed La instal·lació ha fallat @@ -333,15 +271,90 @@ L'instal·lador es tancarà i tots els canvis es perdran. Error de Python irrecuperable. + + CalamaresUtils::CommandList + + + Could not run command. + No s'ha pogut executar l'ordre. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + No hi ha punt de muntatge d'arrel definit; per tant, no es pot executar l'ordre a l'entorn de destinació. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Sortida: + + + + + External command crashed. + L'ordre externa ha fallat. + + + + Command <i>%1</i> crashed. + L'ordre <i>%1</i> ha fallat. + + + + External command failed to start. + L'ordre externa no s'ha pogut iniciar. + + + + Command <i>%1</i> failed to start. + L'ordre <i>%1</i> no s'ha pogut iniciar. + + + + Internal error when starting command. + Error intern en iniciar l'ordre. + + + + Bad parameters for process job call. + Paràmetres incorrectes per a la crida del procés. + + + + External command failed to finish. + L'ordre externa no ha acabat correctament. + + + + Command <i>%1</i> failed to finish in %2 seconds. + L'ordre <i>%1</i> no ha pogut acabar en %2 segons. + + + + External command finished with errors. + L'ordre externa ha acabat amb errors. + + + + Command <i>%1</i> finished with exit code %2. + L'ordre <i>%1</i> ha acabat amb el codi de sortida %2. + + CalamaresWindow - + %1 Installer Instal·lador de %1 - + Show debug information Mostra la informació de depuració @@ -392,12 +405,12 @@ L'instal·lador es tancarà i tots els canvis es perdran. <strong>Partiment manual</strong><br/>Podeu crear o redimensionar les particions vosaltres mateixos. - + Boot loader location: Ubicació del carregador d'arrencada: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 s'encongirà a %2MB i es crearà una partició nova de %3MB per a %4. @@ -408,83 +421,83 @@ L'instal·lador es tancarà i tots els canvis es perdran. - - - + + + Current: Actual: - + Reuse %1 as home partition for %2. Reutilitza %1 com a partició de l'usuari per a %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Seleccioneu una partició per encongir i arrossegueu-la per redimensinar-la</strong> - + <strong>Select a partition to install on</strong> <strong>Seleccioneu una partició per fer-hi la instal·lació</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. No s'ha pogut trobar enlloc una partició EFI en aquest sistema. Si us plau, torneu enrere i useu el partiment manual per configurar %1. - + The EFI system partition at %1 will be used for starting %2. La partició EFI de sistema a %1 s'usarà per iniciar %2. - + EFI system partition: Partició EFI del sistema: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Aquest dispositiu d'emmagatzematge no sembla que tingui un sistema operatiu. Què voleu fer?<br/>Podreu revisar i confirmar la tria abans que es faci cap canvi al dispositiu. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Esborra el disc</strong><br/>Això <font color="red">esborrarà</font> totes les dades del dispositiu seleccionat. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Aquest dispositiu d'emmagatzematge té %1. Què voleu fer?<br/>Podreu revisar i confirmar la tria abans que es faci cap canvi al dispositiu. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instal·la al costat</strong><br/>L'instal·lador reduirà una partició per fer espai per a %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Reemplaça una partició</strong><br/>Reemplaça una partició per %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Aquest dispositiu d'emmagatzematge ja té un sistema operatiu. Què voleu fer?<br/>Podreu revisar i confirmar la tria abans que es faci cap canvi al dispositiu. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Aquest dispositiu d'emmagatzematge ja múltiples sistemes operatius. Què voleu fer?<br/>Podreu revisar i confirmar la tria abans que es faci cap canvi al dispositiu. @@ -533,7 +546,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. ContextualProcessJob - + Contextual Processes Job Tasca de procés contextual @@ -571,12 +584,17 @@ L'instal·lador es tancarà i tots els canvis es perdran. S&istema de fitxers: - + + LVM LV name + Nom per a LV LVM + + + Flags: Banderes: - + &Mount Point: Punt de &muntatge: @@ -586,27 +604,27 @@ L'instal·lador es tancarà i tots els canvis es perdran. Mi&da: - + En&crypt En&cripta - + Logical Lògica - + Primary Primària - + GPT GPT - + Mountpoint already in use. Please select another one. El punt de muntatge ja s'usa. Si us plau, seleccioneu-ne un altre. @@ -614,45 +632,25 @@ L'instal·lador es tancarà i tots els canvis es perdran. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Crea una partició nova de %2MB a %4 (%3) amb el sistema de fitxers %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Crea una partició nova de <strong>%2MB</strong> a <strong>%4</strong> (%3) amb el sistema de fitxers <strong>%1</strong>. - + Creating new %1 partition on %2. Creant la partició nova %1 a %2. - + The installer failed to create partition on disk '%1'. L'instal·lador no ha pogut crear la partició al disc '%1'. - - - Could not open device '%1'. - No s'ha pogut obrir el dispositiu '%1'. - - - - Could not open partition table. - No s'ha pogut obrir la taula de particions. - - - - The installer failed to create file system on partition %1. - L'instal·lador no ha pogut crear el sistema de fitxers a la partició '%1'. - - - - The installer failed to update partition table on disk '%1'. - L'instal·lador no ha pogut actualitzar la taula de particions del disc '%1'. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ L'instal·lador es tancarà i tots els canvis es perdran. CreatePartitionTableJob - + Create new %1 partition table on %2. Crea una taula de particions %1 nova a %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Crea una taula de particions <strong>%1</strong> nova a <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Creant la nova taula de particions %1 a %2. - + The installer failed to create a partition table on %1. L'instal·lador no ha pogut crear la taula de particions a %1. - - - Could not open device %1. - No s'ha pogut obrir el dispositiu %1. - CreateUserJob @@ -781,17 +774,17 @@ L'instal·lador es tancarà i tots els canvis es perdran. DeletePartitionJob - + Delete partition %1. Suprimeix la partició %1. - + Delete partition <strong>%1</strong>. Suprimeix la partició <strong>%1</strong>. - + Deleting partition %1. Eliminant la partició %1. @@ -800,21 +793,6 @@ L'instal·lador es tancarà i tots els canvis es perdran. The installer failed to delete partition %1. L'instal·lador no ha pogut eliminar la partició %1. - - - Partition (%1) and device (%2) do not match. - La partició (%1) i el dispositiu (%2) no concorden. - - - - Could not open device %1. - No s'ha pogut obrir el dispositiu %1. - - - - Could not open partition table. - No s'ha pogut obrir la taula de particions. - DeviceInfoWidget @@ -972,37 +950,37 @@ L'instal·lador es tancarà i tots els canvis es perdran. FillGlobalStorageJob - + Set partition information Estableix la informació de la partició - + Install %1 on <strong>new</strong> %2 system partition. Instal·la %1 a la partició de sistema <strong>nova</strong> %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Estableix la partició <strong>nova</strong> %2 amb el punt de muntatge <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instal·la %2 a la partició de sistema %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Estableix la partició %3 <strong>%1</strong> amb el punt de muntatge <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instal·la el carregador d'arrencada a <strong>%1</strong>. - + Setting up mount points. Establint els punts de muntatge. @@ -1015,7 +993,12 @@ L'instal·lador es tancarà i tots els canvis es perdran. Formulari - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Quan aquesta casella està marcada, el sistema es reiniciarà immediatament quan cliqueu a <span style=" font-style:italic;">Fet</span> o tanqueu l'instal·lador.</p></body></html> + + + &Restart now &Reinicia ara @@ -1051,45 +1034,25 @@ L'instal·lador es tancarà i tots els canvis es perdran. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formata la partició %1 (sistema de fitxers: %2, mida: %3 MB) de %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formata la partició de <strong>%3MB</strong> <strong>%1</strong> amb el sistema de fitxers <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatant la partició %1 amb el sistema d'arxius %2. - + The installer failed to format partition %1 on disk '%2'. L'instal·lador no ha pogut formatar la partició %1 del disc '%2'. - - - Could not open device '%1'. - No s'ha pogut obrir el dispositiu '%1'. - - - - Could not open partition table. - No s'ha pogut obrir la taula de particions. - - - - The installer failed to create file system on partition %1. - L'instal·lador no ha pogut crear el sistema de fitxers de la partició %1. - - - - The installer failed to update partition table on disk '%1'. - L'instal·lador no ha pogut actualitzar la taula de particions del disc '%1'. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. &Instal·la el carregador d'arrencada a: - + Are you sure you want to create a new partition table on %1? Esteu segurs que voleu crear una nova taula de particions a %1? @@ -1689,22 +1652,22 @@ L'instal·lador es tancarà i tots els canvis es perdran. Per defecte - + unknown desconeguda - + extended ampliada - + unformatted sense format - + swap Intercanvi @@ -1921,24 +1884,24 @@ L'instal·lador es tancarà i tots els canvis es perdran. Canvia el model de teclat a %1, la disposició de teclat a %2-%3 - + Failed to write keyboard configuration for the virtual console. No s'ha pogut escriure la configuració del teclat per a la consola virtual. - - - + + + Failed to write to %1 No s'ha pogut escriure a %1 - + Failed to write keyboard configuration for X11. No s'ha pogut escriure la configuració del teclat per X11. - + Failed to write keyboard configuration to existing /etc/default directory. Ha fallat escriure la configuració del teclat al directori existent /etc/default. @@ -2046,7 +2009,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. rootMountPoint is %1 - El punt de muntatge rootMountPoint és %1 + El punt de muntatge d'arrel és %1 @@ -2107,6 +2070,14 @@ L'instal·lador es tancarà i tots els canvis es perdran. No es pot obrir /etc/timezone per escriure-hi + + ShellProcessJob + + + Shell Processes Job + Tasca de processos de l'intèrpret d'ordres + + SummaryPage @@ -2341,8 +2312,8 @@ L'instal·lador es tancarà i tots els canvis es perdran. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agraïments: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Equip de traducció del Calamares</a>.<br/><br/><a href="http://calamares.io/">El desenvolupament </a> del Calamares està patrocinat per <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>per a %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017, Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agraïments: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg i l'<a href="https://www.transifex.com/calamares/calamares/">Equip de traducció del Calamares</a>.<br/><br/><a href="http://calamares.io/">El desenvolupament </a> del Calamares està patrocinat per <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index d20fe5e71..ecccfb92d 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -122,68 +122,6 @@ Running command %1 %2 Spouštění příkazu %1 %2 - - - External command crashed - Vnější příkaz zhavaroval - - - - Command %1 crashed. -Output: -%2 - Příkaz %1 zhavaroval. -Výstup: -%2 - - - - External command failed to start - Spuštění vnějšího příkazu se nezdařilo - - - - Command %1 failed to start. - Spuštění příkazu %1 se nezdařilo. - - - - Internal error when starting command - Vnitřní chyba při spouštění příkazu - - - - Bad parameters for process job call. - Chybné parametry volání úlohy procesu.. - - - - External command failed to finish - Vykonávání vnějšího příkazu se nepodařilo dokončit - - - - Command %1 failed to finish in %2s. -Output: -%3 - Dokončení příkazu %1 se nezdařilo v %2s. -Výstup: -%3 - - - - External command finished with errors - Vnější příkaz skončil s chybami. - - - - Command %1 finished with exit code %2. -Output: -%3 - Příkaz %1 skončil s chybovým kódem %2. -Výstup: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Výstup: - + &Cancel &Storno - + Cancel installation without changing the system. Zrušení instalace bez provedení změn systému. - + Cancel installation? Přerušit instalaci? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Opravdu chcete přerušit instalaci? Instalační program bude ukončen a všechny změny ztraceny. - + &Yes &Ano - + &No &Ne - + &Close &Zavřít - + Continue with setup? Pokračovat s instalací? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalátor %1 provede změny na datovém úložišti, aby bylo nainstalováno %2.<br/><strong>Změny nebude možné vrátit zpět.</strong> - + &Install now &Spustit instalaci - + Go &back Jít &zpět - + &Done &Hotovo - + The installation is complete. Close the installer. Instalace je dokončena. Ukončete instalátor. - + Error Chyba - + Installation Failed Instalace se nezdařila @@ -333,15 +271,90 @@ Instalační program bude ukončen a všechny změny ztraceny. Chyba při načítání Python skriptu. + + CalamaresUtils::CommandList + + + Could not run command. + Nedaří se spustit příkaz. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + Nebyl určen žádný přípojný bod pro kořenový oddíl, takže příkaz nemohl být spuštěn v cílovém prostředí. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Výstup: + + + + + External command crashed. + Vnější příkaz byl neočekávaně ukončen. + + + + Command <i>%1</i> crashed. + Příkaz <i>%1</i> byl neočekávaně ukončen. + + + + External command failed to start. + Vnější příkaz se nepodařilo spustit. + + + + Command <i>%1</i> failed to start. + Příkaz <i>%1</i> se nepodařilo spustit. + + + + Internal error when starting command. + Vnitřní chyba při spouštění příkazu. + + + + Bad parameters for process job call. + Chybné parametry volání úlohy procesu.. + + + + External command failed to finish. + Vnější příkaz se nepodařilo dokončit. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Příkaz <i>%1</i> se nepodařilo dokončit do %2 sekund. + + + + External command finished with errors. + Vnější příkaz skončil s chybami. + + + + Command <i>%1</i> finished with exit code %2. + Příkaz <i>%1</i> skončil s návratovým kódem %2. + + CalamaresWindow - + %1 Installer %1 instalátor - + Show debug information Zobrazit ladící informace @@ -392,12 +405,12 @@ Instalační program bude ukončen a všechny změny ztraceny. <strong>Ruční rozdělení datového úložiště</strong><br/>Oddíly si můžete vytvořit nebo zvětšit/zmenšit stávající sami. - + Boot loader location: Umístění zaváděcího oddílu: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 bude zmenšen na %2MB a nový %3MB oddíl pro %4 bude vytvořen. @@ -408,83 +421,83 @@ Instalační program bude ukončen a všechny změny ztraceny. - - - + + + Current: Aktuální: - + Reuse %1 as home partition for %2. Zrecyklovat %1 na oddíl pro domovské složky %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Vyberte oddíl, který chcete zmenšit, poté posouváním na spodní liště změňte jeho velikost.</strong> - + <strong>Select a partition to install on</strong> <strong>Vyberte oddíl na který nainstalovat</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nebyl nalezen žádný EFI systémový oddíl. Vraťte se zpět a nastavte %1 pomocí ručního rozdělení. - + The EFI system partition at %1 will be used for starting %2. Pro zavedení %2 se využije EFI systémový oddíl %1. - + EFI system partition: EFI systémový oddíl: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Zdá se, že na tomto úložném zařízení není žádný operační systém. Jak chcete postupovat?<br/>Než budou provedeny jakékoli změny na úložných zařízeních, bude zobrazen jejich přehled a budete požádáni o jejich potvrzení. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Vymazat datové úložiště</strong><br/>Touto volbou budou <font color="red">smazána</font> všechna data, která se nyní nachází na vybraném úložišti. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Na tomto úložném zařízení bylo nalezeno %1. Jak chcete postupovat?<br/>Než budou provedeny jakékoli změny na úložných zařízeních, bude zobrazen jejich přehled a budete požádáni o jejich potvrzení. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Nainstalovat vedle</strong><br/>Instalátor zmenší oddíl a vytvoří místo pro %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Nahradit oddíl</strong><br/>Původní oddíl bude nahrazen %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Na tomto úložném zařízení se už nachází operační systém. Jak chcete postupovat?<br/>Než budou provedeny jakékoli změny na úložných zařízeních, bude zobrazen jejich přehled a budete požádáni o jejich potvrzení. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Na tomto úložném zařízení se už nachází několik operačních systémů. Jak chcete postupovat?<br/>Než budou provedeny jakékoli změny na úložných zařízeních, bude zobrazen jejich přehled změn a budete požádáni o jejich potvrzení. @@ -533,7 +546,7 @@ Instalační program bude ukončen a všechny změny ztraceny. ContextualProcessJob - + Contextual Processes Job Úloha kontextuálních procesů @@ -571,12 +584,17 @@ Instalační program bude ukončen a všechny změny ztraceny. &Souborový systém: - + + LVM LV name + Název LVM logického svazku + + + Flags: Příznaky: - + &Mount Point: &Přípojný bod: @@ -586,27 +604,27 @@ Instalační program bude ukončen a všechny změny ztraceny. &Velikost: - + En&crypt Š&ifrovat - + Logical Logický - + Primary Primární - + GPT GPT - + Mountpoint already in use. Please select another one. Tento přípojný bod už je používán – vyberte jiný. @@ -614,45 +632,25 @@ Instalační program bude ukončen a všechny změny ztraceny. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Vytvořit nový %2MB oddíl na %4 (%3) se souborovým systémem %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Vytvořit nový <strong>%2MB</strong> oddíl na <strong>%4</strong> (%3) se souborovým systémem <strong>%1</strong>. - + Creating new %1 partition on %2. Vytváří se nový %1 oddíl na %2. - + The installer failed to create partition on disk '%1'. Instalátoru se nepodařilo vytvořit oddílu na datovém úložišti „%1“. - - - Could not open device '%1'. - Nepodařilo se otevřít zařízení „%1“. - - - - Could not open partition table. - Nepodařilo se otevřít tabulku oddílů. - - - - The installer failed to create file system on partition %1. - Instalátoru se nepodařilo vytvořit souborový systém na oddílu %1. - - - - The installer failed to update partition table on disk '%1'. - Instalátoru se nepodařilo zaktualizovat tabulku oddílů na jednotce „%1“. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ Instalační program bude ukončen a všechny změny ztraceny. CreatePartitionTableJob - + Create new %1 partition table on %2. Vytvořit novou %1 tabulku oddílů na %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Vytvořit novou <strong>%1</strong> tabulku oddílů na <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Vytváří se nová %1 tabulka oddílů na %2. - + The installer failed to create a partition table on %1. Instalátoru se nepodařilo vytvořit tabulku oddílů na %1. - - - Could not open device %1. - Nepodařilo se otevřít zařízení %1. - CreateUserJob @@ -781,17 +774,17 @@ Instalační program bude ukončen a všechny změny ztraceny. DeletePartitionJob - + Delete partition %1. Smazat oddíl %1. - + Delete partition <strong>%1</strong>. Smazat oddíl <strong>%1</strong>. - + Deleting partition %1. Odstraňuje se oddíl %1. @@ -800,21 +793,6 @@ Instalační program bude ukončen a všechny změny ztraceny. The installer failed to delete partition %1. Instalátoru se nepodařilo odstranit oddíl %1. - - - Partition (%1) and device (%2) do not match. - Neshoda v oddílu (%1) a zařízení (%2). - - - - Could not open device %1. - Nedaří s otevřít zařízení %1. - - - - Could not open partition table. - Nedaří se otevřít tabulku oddílů. - DeviceInfoWidget @@ -972,37 +950,37 @@ Instalační program bude ukončen a všechny změny ztraceny. FillGlobalStorageJob - + Set partition information Nastavit informace o oddílu - + Install %1 on <strong>new</strong> %2 system partition. Nainstalovat %1 na <strong>nový</strong> %2 systémový oddíl. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Nastavit <strong>nový</strong> %2 oddíl s přípojným bodem <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Nainstalovat %2 na %3 systémový oddíl <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Nastavit %3 oddíl <strong>%1</strong> s přípojným bodem <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Nainstalovat zavaděč do <strong>%1</strong>. - + Setting up mount points. Nastavují se přípojné body. @@ -1015,7 +993,12 @@ Instalační program bude ukončen a všechny změny ztraceny. Formulář - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Když je tato kolonka zaškrtnutá, systém se restartuje jakmile kliknete na <span style=" font-style:italic;">Hotovo</span> nebo zavřete instalátor.</p></body></html> + + + &Restart now &Restartovat nyní @@ -1051,45 +1034,25 @@ Instalační program bude ukončen a všechny změny ztraceny. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formátovat oddíl %1 (souborový systém: %2, velikost %3 MB) na %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Naformátovat <strong>%3MB</strong> oddíl <strong>%1</strong> souborovým systémem <strong>%2</strong>. - + Formatting partition %1 with file system %2. Vytváření souborového systému %2 na oddílu %1. - + The installer failed to format partition %1 on disk '%2'. Instalátoru se nepodařilo vytvořit souborový systém na oddílu %1 jednotky datového úložiště „%2“. - - - Could not open device '%1'. - Nedaří se otevřít zařízení „%1“. - - - - Could not open partition table. - Nedaří se otevřít tabulku oddílů. - - - - The installer failed to create file system on partition %1. - Instalátoru se nezdařilo vytvořit souborový systém na oddílu %1. - - - - The installer failed to update partition table on disk '%1'. - Instalátoru se nezdařilo aktualizovat tabulku oddílů na jednotce „%1“. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Nainstalovat &zavaděč na: - + Are you sure you want to create a new partition table on %1? Opravdu chcete na %1 vytvořit novou tabulku oddílů? @@ -1664,7 +1627,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. - + Zvolte vzhled a chování KDE Plasma desktopu. Také můžete tento krok přeskočit a nastavení provést až v nainstalovaném systému. @@ -1689,22 +1652,22 @@ Instalační program bude ukončen a všechny změny ztraceny. Výchozí - + unknown neznámý - + extended rozšířený - + unformatted nenaformátovaný - + swap odkládací oddíl @@ -1921,24 +1884,24 @@ Instalační program bude ukončen a všechny změny ztraceny. Nastavit model klávesnice na %1, rozložení na %2-%3 - + Failed to write keyboard configuration for the virtual console. Zápis nastavení klávesnice pro virtuální konzoli se nezdařil. - - - + + + Failed to write to %1 Zápis do %1 se nezdařil - + Failed to write keyboard configuration for X11. Zápis nastavení klávesnice pro grafický server X11 se nezdařil. - + Failed to write keyboard configuration to existing /etc/default directory. Zápis nastavení klávesnice do existující složky /etc/default se nezdařil. @@ -2107,6 +2070,14 @@ Instalační program bude ukončen a všechny změny ztraceny. Soubor /etc/timezone se nedaří otevřít pro zápis + + ShellProcessJob + + + Shell Processes Job + Úloha shellových procesů + + SummaryPage @@ -2341,8 +2312,8 @@ Instalační program bude ukončen a všechny změny ztraceny. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Překladatelský tým Calamares</a>.<br/><br/>Vývoj <a href="http://calamares.io/">Calamares</a> je podporován <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg a <a href="https://www.transifex.com/calamares/calamares/">tým překledatelů Calamares</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> vývoj je sponzorován <br/><a href="http://www.blue-systems.com/">Blue Systems</a> – Liberating Software. diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 5b0ee55a5..49c8654f4 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -122,68 +122,6 @@ Running command %1 %2 Kører kommando %1 %2 - - - External command crashed - Ekstern kommando holdt op med at virke - - - - Command %1 crashed. -Output: -%2 - Kommando %1 holdt op med at virke. -Output: -%2 - - - - External command failed to start - Start af ekstern kommando mislykkedes - - - - Command %1 failed to start. - Start af kommando %1 mislykkedes. - - - - Internal error when starting command - Intern fejl ved start af kommando - - - - Bad parameters for process job call. - Ugyldige parametre til kald af procesjob. - - - - External command failed to finish - Ekstern kommando kunne ikke færdiggøres - - - - Command %1 failed to finish in %2s. -Output: -%3 - Kommando %1 kunne ikke færdiggøres på %2 s. -Output: -%3 - - - - External command finished with errors - Ekstern kommando blev færdiggjort med fejl - - - - Command %1 finished with exit code %2. -Output: -%3 - Kommando %1 blev færdiggjort med afslutningskode %2. -Output: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Annullér - + Cancel installation without changing the system. Annullér installation uden at ændre systemet. - + Cancel installation? Annullér installationen? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig annullere den igangværende installationsproces? Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. - + &Yes &Ja - + &No &Nej - + &Close &Luk - + Continue with setup? Fortsæt med installation? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installationsprogrammet er ved at foretage ændringer til din disk for at installere %2. <br/><strong>Det vil ikke være muligt at fortryde disse ændringer.</strong> - + &Install now &Installér nu - + Go &back Gå &tilbage - + &Done &Færdig - + The installation is complete. Close the installer. Installationen er fuldført. Luk installationsprogrammet. - + Error Fejl - + Installation Failed Installation mislykkedes @@ -333,15 +271,90 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Python-fejl som ikke kan hentes. + + CalamaresUtils::CommandList + + + Could not run command. + Kunne ikke køre kommando. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + Der er ikke defineret nogen rootMountPoint, så kommandoen kan ikke køre i målmiljøet. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Output: + + + + + External command crashed. + Ekstern kommando holdt op med at virke. + + + + Command <i>%1</i> crashed. + Kommandoen <i>%1</i> holdet op med at virke. + + + + External command failed to start. + Ekstern kommando kunne ikke starte. + + + + Command <i>%1</i> failed to start. + Kommandoen <i>%1</i> kunne ikke starte. + + + + Internal error when starting command. + Intern kommando ved start af kommando. + + + + Bad parameters for process job call. + Ugyldige parametre til kald af procesjob. + + + + External command failed to finish. + Ekstern kommando blev ikke færdig. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Kommandoen <i>%1</i> blev ikke færdig på %2 sekunder. + + + + External command finished with errors. + Ekstern kommando blev færdig med fejl. + + + + Command <i>%1</i> finished with exit code %2. + Kommandoen <i>%1</i> blev færdig med afslutningskoden %2. + + CalamaresWindow - + %1 Installer %1-installationsprogram - + Show debug information Vis fejlretningsinformation @@ -392,12 +405,12 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.<strong>Manuel partitionering</strong><br/>Du kan selv oprette og ændre størrelse på partitioner. - + Boot loader location: Bootloaderplacering: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 vil blive skrumpet til %2 MB og en ny %3 MB partition vil blive oprettet for %4. @@ -408,83 +421,83 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. - - - + + + Current: Nuværende: - + Reuse %1 as home partition for %2. Genbrug %1 som hjemmepartition til %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Vælg en partition der skal mindskes, træk herefter den nederste bjælke for at ændre størrelsen</strong> - + <strong>Select a partition to install on</strong> <strong>Vælg en partition at installere på</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. En EFI-partition blev ikke fundet på systemet. Gå venligst tilbage og brug manuel partitionering til at opsætte %1. - + The EFI system partition at %1 will be used for starting %2. EFI-systempartitionen ved %1 vil blive brugt til at starte %2. - + EFI system partition: EFI-systempartition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denne lagerenhed ser ikke ud til at indeholde et styresystem. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Slet disk</strong><br/>Dette vil <font color="red">slette</font> alt data på den valgte lagerenhed. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denne lagerenhed har %1 på sig. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før det sker ændringer til lagerenheden. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installér ved siden af</strong><br/>Installationsprogrammet vil mindske en partition for at gøre plads til %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Erstat en partition</strong><br/>Erstatter en partition med %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denne lagerenhed indeholder allerede et styresystem. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denne lagerenhed indeholder flere styresystemer. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. @@ -533,9 +546,9 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. ContextualProcessJob - + Contextual Processes Job - Kontekstuelle processors-job + Kontekstuelt procesjob @@ -571,12 +584,17 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Fi&lsystem: - + + LVM LV name + LVM LV-navn + + + Flags: Flag: - + &Mount Point: &Monteringspunkt: @@ -586,27 +604,27 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.&Størrelse: - + En&crypt Kryp&tér - + Logical Logisk - + Primary Primær - + GPT GPT - + Mountpoint already in use. Please select another one. Monteringspunktet er allerede i brug. Vælg venligst et andet. @@ -614,45 +632,25 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Opret en ny %2 MB partition på %4 (%3) med %1-filsystem. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Opret en ny <strong>%2 MB</strong> partition på <strong>%4</strong> (%3) med <strong>%1</strong>-filsystem. - + Creating new %1 partition on %2. Opretter ny %1-partition på %2. - + The installer failed to create partition on disk '%1'. Installationsprogrammet kunne ikke oprette partition på disk '%1'. - - - Could not open device '%1'. - Kunne ikke åbne enhed '%1'. - - - - Could not open partition table. - Kunne ikke åbne partitionstabel. - - - - The installer failed to create file system on partition %1. - Installationsprogrammet kunne ikke oprette filsystem på partition %1. - - - - The installer failed to update partition table on disk '%1'. - Installationsprogrammet kunne ikke opdatere partitionstabel på disk '%1'. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. CreatePartitionTableJob - + Create new %1 partition table on %2. Opret en ny %1-partitionstabel på %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Opret en ny <strong>%1</strong>-partitionstabel på <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Opretter ny %1-partitionstabel på %2. - + The installer failed to create a partition table on %1. Installationsprogrammet kunne ikke oprette en partitionstabel på %1. - - - Could not open device %1. - Kunne ikke åbne enhed %1. - CreateUserJob @@ -781,17 +774,17 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. DeletePartitionJob - + Delete partition %1. Slet partition %1. - + Delete partition <strong>%1</strong>. Slet partition <strong>%1</strong>. - + Deleting partition %1. Sletter partition %1. @@ -800,21 +793,6 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.The installer failed to delete partition %1. Installationsprogrammet kunne ikke slette partition %1. - - - Partition (%1) and device (%2) do not match. - Partition (%1) og enhed (%2) matcher ikke. - - - - Could not open device %1. - Kunne ikke åbne enhed %1. - - - - Could not open partition table. - Kunne ikke åbne partitionstabel. - DeviceInfoWidget @@ -972,37 +950,37 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. FillGlobalStorageJob - + Set partition information Sæt partitionsinformation - + Install %1 on <strong>new</strong> %2 system partition. Installér %1 på <strong>ny</strong> %2-systempartition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Opsæt den <strong>nye</strong> %2 partition med monteringspunkt <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Installér %2 på %3-systempartition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Opsæt %3 partition <strong>%1</strong> med monteringspunkt <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Installér bootloader på <strong>%1</strong>. - + Setting up mount points. Opsætter monteringspunkter. @@ -1015,7 +993,12 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Formular - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Når denne boks er tilvalgt, vil dit system genstarte med det samme når du klikker på <span style=" font-style:italic;">Færdig</span> eller lukker installationsprogrammet.</p></body></html> + + + &Restart now &Genstart nu @@ -1051,45 +1034,25 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatér partition %1 (filsystem: %2, størrelse: %3 MB) på %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatér <strong>%3 MB</strong> partition <strong>%1</strong> med <strong>%2</strong>-filsystem. - + Formatting partition %1 with file system %2. Formatterer partition %1 med %2-filsystem. - + The installer failed to format partition %1 on disk '%2'. Installationsprogrammet kunne ikke formatere partition %1 på disk '%2'. - - - Could not open device '%1'. - Kunne ikke åbne enhed '%1'. - - - - Could not open partition table. - Kunne ikke åbne partitionstabel. - - - - The installer failed to create file system on partition %1. - Installationsprogrammet kunne ikke oprette filsystem på partition %1. - - - - The installer failed to update partition table on disk '%1'. - Installationsprogrammet kunne ikke opdatere partitionstabel på disk '%1'. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Installér boot&loader på: - + Are you sure you want to create a new partition table on %1? Er du sikker på, at du vil oprette en ny partitionstabel på %1? @@ -1689,22 +1652,22 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Standard - + unknown ukendt - + extended udvidet - + unformatted uformatteret - + swap swap @@ -1921,24 +1884,24 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Sæt tastaturmodel til %1, layout til %2-%3 - + Failed to write keyboard configuration for the virtual console. Kunne ikke skrive tastaturkonfiguration for den virtuelle konsol. - - - + + + Failed to write to %1 Kunne ikke skrive til %1 - + Failed to write keyboard configuration for X11. Kunne ikke skrive tastaturkonfiguration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. Kunne ikke skrive tastaturkonfiguration til eksisterende /etc/default-mappe. @@ -2107,6 +2070,14 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Kan ikke åbne /etc/timezone til skrivning + + ShellProcessJob + + + Shell Processes Job + Skal-procesjob + + SummaryPage @@ -2341,8 +2312,8 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Ophavsret 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Ophavsret 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Tak til: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg og <a href="https://www.transifex.com/calamares/calamares/">Calamares-oversætterteam</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> udvikling er sponsoreret af <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>til %3</strong><br/><br/>Ophavsret 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Ophavsret 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Tak til: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg og <a href="https://www.transifex.com/calamares/calamares/">Calamares oversætterteam</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> udvikling er sponsoreret af <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index 50b1054ec..4719c957c 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -122,68 +122,6 @@ Running command %1 %2 Befehl %1 %2 wird ausgeführt - - - External command crashed - Ausführung des externen Befehls gescheitert - - - - Command %1 crashed. -Output: -%2 - Befehl %1 ist abgestürzt. -Ausgabe: -%2 - - - - External command failed to start - Externer Befehl konnte nicht gestartet werden - - - - Command %1 failed to start. - Befehl %1 konnte nicht gestartet werden - - - - Internal error when starting command - Interner Fehler beim Ausführen des Befehls - - - - Bad parameters for process job call. - Ungültige Parameter für Prozessaufruf. - - - - External command failed to finish - Externer Befehl konnte nicht abgeschlossen werden - - - - Command %1 failed to finish in %2s. -Output: -%3 - Befehl %1 wurde nicht innerhalb %2s beendet. -Ausgabe: -%3 - - - - External command finished with errors - Externer Befehl schloss mit Fehlern ab - - - - Command %1 finished with exit code %2. -Output: -%3 - Befehl %1 wurde mit Code %2 beendet. -Ausgabe: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Ausgabe: - + &Cancel &Abbrechen - + Cancel installation without changing the system. Installation abbrechen, ohne das System zu verändern. - + Cancel installation? Installation abbrechen? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wollen Sie wirklich die aktuelle Installation abbrechen? Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + &Yes &Ja - + &No &Nein - + &Close &Schließen - + Continue with setup? Setup fortsetzen? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Das %1 Installationsprogramm wird Änderungen an Ihrer Festplatte vornehmen, um %2 zu installieren.<br/><strong>Diese Änderungen können nicht rückgängig gemacht werden.</strong> - + &Install now Jetzt &installieren - + Go &back Gehe &zurück - + &Done &Erledigt - + The installation is complete. Close the installer. Die Installation ist abgeschlossen. Schließe das Installationsprogramm. - + Error Fehler - + Installation Failed Installation gescheitert @@ -333,15 +271,88 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Nicht zuzuordnender Python-Fehler + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Ungültige Parameter für Prozessaufruf. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Installationsprogramm - + Show debug information Debug-Information anzeigen @@ -392,12 +403,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. <strong>Manuelle Partitionierung</strong><br/>Sie können Partitionen eigenhändig erstellen oder in der Grösse verändern. - + Boot loader location: Installationsziel des Bootloaders: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 wird auf %2MB verkleinert und eine neue Partition mit einer Größe von %3MB wird für %4 erstellt werden. @@ -408,83 +419,83 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - - - + + + Current: Aktuell: - + Reuse %1 as home partition for %2. %1 als Home-Partition für %2 wiederverwenden. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Wählen Sie die zu verkleinernde Partition, dann ziehen Sie den Regler, um die Größe zu ändern</strong> - + <strong>Select a partition to install on</strong> <strong>Wählen Sie eine Partition für die Installation</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Es wurde keine EFI-Systempartition auf diesem System gefunden. Bitte gehen Sie zurück und nutzen Sie die manuelle Partitionierung für das Einrichten von %1. - + The EFI system partition at %1 will be used for starting %2. Die EFI-Systempartition %1 wird benutzt, um %2 zu starten. - + EFI system partition: EFI-Systempartition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Auf diesem Speichermedium scheint kein Betriebssystem installiert zu sein. Was möchten Sie tun?<br/>Sie können Ihre Auswahl überprüfen und bestätigen, bevor Änderungen auf diesem Speichermedium vorgenommen werden. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Festplatte löschen</strong><br/>Dies wird alle vorhandenen Daten auf dem gewählten Speichermedium <font color="red">löschen</font>. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Auf diesem Speichermedium ist %1 installiert. Was möchten Sie tun?<br/>Sie können Ihre Auswahl überprüfen und bestätigen, bevor Änderungen an dem Speichermedium vorgenommen werden. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Parallel dazu installieren</strong><br/>Das Installationsprogramm wird eine Partition verkleinern, um Platz für %1 zu schaffen. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Ersetze eine Partition</strong><br/>Ersetzt eine Partition durch %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dieses Speichermedium enthält bereits ein Betriebssystem. Was möchten Sie tun?<br/>Sie können Ihre Auswahl überprüfen und bestätigen, bevor Änderungen an dem Speichermedium vorgenommen wird. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Auf diesem Speichermedium sind mehrere Betriebssysteme installiert. Was möchten Sie tun?<br/>Sie können Ihre Auswahl überprüfen und bestätigen, bevor Änderungen an dem Speichermedium vorgenommen werden. @@ -533,7 +544,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Dateisystem: - + + LVM LV name + + + + Flags: Markierungen: - + &Mount Point: Ein&hängepunkt: @@ -586,27 +602,27 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Grö&sse: - + En&crypt Verschlüsseln - + Logical Logisch - + Primary Primär - + GPT GPT - + Mountpoint already in use. Please select another one. Dieser Einhängepunkt wird schon benuztzt. Bitte wählen Sie einen anderen. @@ -614,45 +630,25 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Erstelle eine neue Partition mit einer Größe von %2MB auf %4 (%3) mit dem Dateisystem %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Erstelle eine neue Partition mit einer Größe von <strong>%2MB</strong> auf <strong>%4</strong> (%3) mit dem Dateisystem <strong>%1</strong>. - + Creating new %1 partition on %2. Erstelle eine neue %1 Partition auf %2. - + The installer failed to create partition on disk '%1'. Das Installationsprogramm scheiterte beim Erstellen der Partition auf Datenträger '%1'. - - - Could not open device '%1'. - Konnte Gerät '%1' nicht öffnen. - - - - Could not open partition table. - Konnte Partitionstabelle nicht öffnen. - - - - The installer failed to create file system on partition %1. - Das Installationsprogramm scheiterte beim Erstellen des Dateisystems auf Partition %1. - - - - The installer failed to update partition table on disk '%1'. - Das Installationsprogramm scheiterte beim Aktualisieren der Partitionstabelle auf Datenträger '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. CreatePartitionTableJob - + Create new %1 partition table on %2. Erstelle eine neue %1 Partitionstabelle auf %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Erstelle eine neue <strong>%1</strong> Partitionstabelle auf <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Erstelle eine neue %1 Partitionstabelle auf %2. - + The installer failed to create a partition table on %1. Das Installationsprogramm konnte die Partitionstabelle auf %1 nicht erstellen. - - - Could not open device %1. - Konnte Gerät %1 nicht öffnen. - CreateUserJob @@ -781,17 +772,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. DeletePartitionJob - + Delete partition %1. Lösche Partition %1. - + Delete partition <strong>%1</strong>. Lösche Partition <strong>%1</strong>. - + Deleting partition %1. Partition %1 wird gelöscht. @@ -800,21 +791,6 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. The installer failed to delete partition %1. Das Installationsprogramm konnte Partition %1 nicht löschen. - - - Partition (%1) and device (%2) do not match. - Partition (%1) und Gerät (%2) stimmen nicht überein. - - - - Could not open device %1. - Kann Gerät %1 nicht öffnen. - - - - Could not open partition table. - Kann Partitionstabelle nicht öffnen. - DeviceInfoWidget @@ -972,37 +948,37 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. FillGlobalStorageJob - + Set partition information Setze Partitionsinformationen - + Install %1 on <strong>new</strong> %2 system partition. Installiere %1 auf <strong>neuer</strong> %2 Systempartition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Erstelle <strong>neue</strong> %2 Partition mit Einhängepunkt <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Installiere %2 auf %3 Systempartition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Erstelle %3 Partition <strong>%1</strong> mit Einhängepunkt <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Installiere Bootloader auf <strong>%1</strong>. - + Setting up mount points. Richte Einhängepunkte ein. @@ -1015,7 +991,12 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Form - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now Jetzt &Neustarten @@ -1051,45 +1032,25 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatiere Partition %1 (Dateisystem: %2, Grösse: %3 MB) auf %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatiere <strong>%3MB</strong> Partition <strong>%1</strong> mit Dateisystem strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatiere Partition %1 mit Dateisystem %2. - + The installer failed to format partition %1 on disk '%2'. Das Formatieren von Partition %1 auf Datenträger '%2' ist fehlgeschlagen. - - - Could not open device '%1'. - Gerät '%1' konnte nicht geöffnet werden. - - - - Could not open partition table. - Partitionstabelle konnte nicht geöffnet werden. - - - - The installer failed to create file system on partition %1. - Das Dateisystem auf Partition %1 konnte nicht erstellt werden. - - - - The installer failed to update partition table on disk '%1'. - Das Aktualisieren der Partitionstabelle auf Datenträger '%1' ist fehlgeschlagen. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Installiere Boot&loader auf: - + Are you sure you want to create a new partition table on %1? Sind Sie sicher, dass Sie eine neue Partitionstabelle auf %1 erstellen möchten? @@ -1689,22 +1650,22 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Standard - + unknown unbekannt - + extended erweitert - + unformatted unformatiert - + swap Swap @@ -1921,24 +1882,24 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Definiere Tastaturmodel zu %1, Layout zu %2-%3 - + Failed to write keyboard configuration for the virtual console. Konnte keine Tastatur-Konfiguration für die virtuelle Konsole schreiben. - - - + + + Failed to write to %1 Konnte nicht auf %1 schreiben - + Failed to write keyboard configuration for X11. Konnte keine Tastatur-Konfiguration für X11 schreiben. - + Failed to write keyboard configuration to existing /etc/default directory. Die Konfiguration der Tastatur konnte nicht in das bereits existierende Verzeichnis /etc/default geschrieben werden. @@ -2107,6 +2068,14 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Kein Schreibzugriff auf /etc/timezone + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,10 +2310,8 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - - -<h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Danke an: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg und das <a href="https://www.transifex.com/calamares/calamares/">Calamares Übersetzungs-Team</a>.<br/><br/><a href="http://calamares.io/">Die Calamares Entwicklung wird gefördert von<br/><a href="http://www.blue-systems.com/"> Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index 7060fa5ef..73ed9f69b 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -122,68 +122,6 @@ Running command %1 %2 Εκτελείται η εντολή %1 %2 - - - External command crashed - Η εξωτερική εντολή κατέρρευσε - - - - Command %1 crashed. -Output: -%2 - Η εντολή %1 κατέρρευσε. -Έξοδος: -%2 - - - - External command failed to start - Η εξωτερική εντολή απέτυχε να ξεκινήσει - - - - Command %1 failed to start. - Η εντολή %1 απέτυχε να εκκινήσει. - - - - Internal error when starting command - Εσωτερικό σφάλμα κατά την εκκίνηση της εντολής - - - - Bad parameters for process job call. - Λανθασμένοι παράμετροι για την κλήση διεργασίας. - - - - External command failed to finish - Η εξωτερική εντολή απέτυχε να τελειώσει - - - - Command %1 failed to finish in %2s. -Output: -%3 - Η εντολή %1 απέτυχε να ολοκληρώσει σε %2s. -Έξοδος: -%3 - - - - External command finished with errors - Η εξωτερική εντολή ολοκληρώθηκε με σφάλματα - - - - Command %1 finished with exit code %2. -Output: -%3 - Η εντολή %1 ολοκληρώθηκε με σφάλμα εξόδου %2. -Έξοδος: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Ακύρωση - + Cancel installation without changing the system. - + Cancel installation? Ακύρωση της εγκατάστασης; - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Θέλετε πραγματικά να ακυρώσετε τη διαδικασία εγκατάστασης; Το πρόγραμμα εγκατάστασης θα τερματιστεί και όλες οι αλλαγές θα χαθούν. - + &Yes &Ναι - + &No - + &Close - + Continue with setup? Συνέχεια με την εγκατάσταση; - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Το πρόγραμμα εγκατάστασης %1 θα κάνει αλλαγές στον δίσκο για να εγκαταστήσετε το %2.<br/><strong>Δεν θα είστε σε θέση να αναιρέσετε τις αλλαγές.</strong> - + &Install now Ε&γκατάσταση τώρα - + Go &back Μετάβαση πί&σω - + &Done - + The installation is complete. Close the installer. - + Error Σφάλμα - + Installation Failed Η εγκατάσταση απέτυχε @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. Μη ανακτήσιµο σφάλμα Python. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Λανθασμένοι παράμετροι για την κλήση διεργασίας. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Εφαρμογή εγκατάστασης του %1 - + Show debug information Εμφάνιση πληροφοριών απασφαλμάτωσης @@ -392,12 +403,12 @@ The installer will quit and all changes will be lost. <strong>Χειροκίνητη τμηματοποίηση</strong><br/>Μπορείτε να δημιουργήσετε κατατμήσεις ή να αλλάξετε το μέγεθός τους μόνοι σας. - + Boot loader location: Τοποθεσία προγράμματος εκκίνησης: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. Το %1 θα συρρικνωθεί σε %2MB και μία νέα κατάτμηση %3MB θα δημιουργηθεί για το %4. @@ -408,83 +419,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: Τρέχον: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Επιλέξτε ένα διαμέρισμα για σμίκρυνση, και μετά σύρετε το κάτω τμήμα της μπάρας για αλλαγή του μεγέθους</strong> - + <strong>Select a partition to install on</strong> <strong>Επιλέξτε διαμέρισμα για την εγκατάσταση</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Πουθενά στο σύστημα δεν μπορεί να ανιχθευθεί μία κατάτμηση EFI. Παρακαλώ επιστρέψτε πίσω και χρησιμοποιήστε τη χειροκίνητη τμηματοποίηση για την εγκατάσταση του %1. - + The EFI system partition at %1 will be used for starting %2. Η κατάτμηση συστήματος EFI στο %1 θα χρησιμοποιηθεί για την εκκίνηση του %2. - + EFI system partition: Κατάτμηση συστήματος EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Η συσκευή αποθήκευσης δεν φαίνεται να διαθέτει κάποιο λειτουργικό σύστημα. Τί θα ήθελες να κάνεις;<br/>Θα έχεις την δυνατότητα να επιβεβαιώσεις και αναθεωρήσεις τις αλλαγές πριν γίνει οποιαδήποτε αλλαγή στην συσκευή αποθήκευσης. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Διαγραφή του δίσκου</strong><br/>Αυτό θα <font color="red">διαγράψει</font> όλα τα αρχεία στην επιλεγμένη συσκευή αποθήκευσης. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Εγκατάσταση σε επαλληλία</strong><br/>Η εγκατάσταση θα συρρικνώσει μία κατάτμηση για να κάνει χώρο για το %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Αντικατάσταση μίας κατάτμησης</strong><br/>Αντικαθιστά μία κατάτμηση με το %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ The installer will quit and all changes will be lost. Σύστημα Αρχ&είων: - + + LVM LV name + + + + Flags: Σημαίες: - + &Mount Point: Σ&ημείο προσάρτησης: @@ -586,27 +602,27 @@ The installer will quit and all changes will be lost. &Μέγεθος: - + En&crypt - + Logical Λογική - + Primary Πρωτεύουσα - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Δημιουργία νέας κατάτμησης %2MB στο %4 (%3) με σύστημα αρχείων %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Δημιουργία νέας κατάτμησης <strong>%2MB</strong> στο <strong>%4</strong> (%3) με σύστημα αρχείων <strong>%1</strong>. - + Creating new %1 partition on %2. Δημιουργείται νέα %1 κατάτμηση στο %2. - + The installer failed to create partition on disk '%1'. Η εγκατάσταση απέτυχε να δημιουργήσει μία κατάτμηση στον δίσκο '%1'. - - - Could not open device '%1'. - Δεν είναι δυνατό το άνοιγμα της συσκευής '%1'. - - - - Could not open partition table. - Δεν είναι δυνατό το άνοιγμα του πίνακα κατατμήσεων. - - - - The installer failed to create file system on partition %1. - Η εγκατάσταση απέτυχε να δημιουργήσει το σύστημα αρχείων στην κατάτμηση %1. - - - - The installer failed to update partition table on disk '%1'. - Η εγκατάσταση απέτυχε να αναβαθμίσει τον πίνακα κατατμήσεων στον δίσκο '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. Δημιουργία νέου πίνακα κατατμήσεων %1 στο %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Δημιουργία νέου πίνακα κατατμήσεων <strong>%1</strong> στο <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Δημιουργείται νέα %1 κατάτμηση στο %2. - + The installer failed to create a partition table on %1. Η εγκατάσταση απέτυχε να δημιουργήσει ένα πίνακα κατατμήσεων στο %1. - - - Could not open device %1. - Δεν είναι δυνατό το άνοιγμα της συσκευής %1. - CreateUserJob @@ -781,17 +772,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. Διαγραφή της κατάτμησης %1. - + Delete partition <strong>%1</strong>. Διαγραφή της κατάτμησης <strong>%1</strong>. - + Deleting partition %1. Διαγράφεται η κατάτμηση %1. @@ -800,21 +791,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. Απέτυχε η διαγραφή της κατάτμησης %1. - - - Partition (%1) and device (%2) do not match. - Η κατάτμηση (%1) και η συσκευή (%2) δεν ταιριάζουν. - - - - Could not open device %1. - Δεν είναι δυνατό το άνοιγμα της συσκευής %1. - - - - Could not open partition table. - Δεν είναι δυνατό το άνοιγμα του πίνακα κατατμήσεων. - DeviceInfoWidget @@ -972,37 +948,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information Ορισμός πληροφοριών κατάτμησης - + Install %1 on <strong>new</strong> %2 system partition. Εγκατάσταση %1 στο <strong>νέο</strong> %2 διαμέρισμα συστήματος. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Εγκατάσταση φορτωτή εκκίνησης στο <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ The installer will quit and all changes will be lost. Τύπος - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now Ε&πανεκκίνηση τώρα @@ -1051,45 +1032,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - Δεν είναι δυνατό το άνοιγμα της συσκευής '%1'. - - - - Could not open partition table. - Δεν είναι δυνατό το άνοιγμα του πίνακα κατατμήσεων. - - - - The installer failed to create file system on partition %1. - Η εγκατάσταση απέτυχε να δημιουργήσει το σύστημα αρχείων στην κατάτμηση %1. - - - - The installer failed to update partition table on disk '%1'. - Η εγκατάσταση απέτυχε να αναβαθμίσει τον πίνακα κατατμήσεων στον δίσκο '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ The installer will quit and all changes will be lost. Εγκατάσταση προγράμματος ε&κκίνησης στο: - + Are you sure you want to create a new partition table on %1? Θέλετε σίγουρα να δημιουργήσετε έναν νέο πίνακα κατατμήσεων στο %1; @@ -1689,22 +1650,22 @@ The installer will quit and all changes will be lost. Προκαθορισμένο - + unknown άγνωστη - + extended εκτεταμένη - + unformatted μη μορφοποιημένη - + swap @@ -1921,24 +1882,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ The installer will quit and all changes will be lost. Αδυναμία ανοίγματος /etc/timezone για εγγραφή + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 05166e407..cd753f547 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -122,68 +122,6 @@ Running command %1 %2 Running command %1 %2 - - - External command crashed - External command crashed - - - - Command %1 crashed. -Output: -%2 - Command %1 crashed. -Output: -%2 - - - - External command failed to start - External command failed to start - - - - Command %1 failed to start. - Command %1 failed to start. - - - - Internal error when starting command - Internal error when starting command - - - - Bad parameters for process job call. - Bad parameters for process job call. - - - - External command failed to finish - External command failed to finish - - - - Command %1 failed to finish in %2s. -Output: -%3 - Command %1 failed to finish in %2s. -Output: -%3 - - - - External command finished with errors - External command finished with errors - - - - Command %1 finished with exit code %2. -Output: -%3 - Command %1 finished with exit code %2. -Output: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Cancel - + Cancel installation without changing the system. Cancel installation without changing the system. - + Cancel installation? Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &Yes - + &No &No - + &Close &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -333,15 +271,90 @@ The installer will quit and all changes will be lost. Unfetchable Python error. + + CalamaresUtils::CommandList + + + Could not run command. + Could not run command. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Output: + + + + + External command crashed. + External command crashed. + + + + Command <i>%1</i> crashed. + Command <i>%1</i> crashed. + + + + External command failed to start. + External command failed to start. + + + + Command <i>%1</i> failed to start. + Command <i>%1</i> failed to start. + + + + Internal error when starting command. + Internal error when starting command. + + + + Bad parameters for process job call. + Bad parameters for process job call. + + + + External command failed to finish. + External command failed to finish. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Command <i>%1</i> failed to finish in %2 seconds. + + + + External command finished with errors. + External command finished with errors. + + + + Command <i>%1</i> finished with exit code %2. + Command <i>%1</i> finished with exit code %2. + + CalamaresWindow - + %1 Installer %1 Installer - + Show debug information Show debug information @@ -392,12 +405,12 @@ The installer will quit and all changes will be lost. <strong>Manual partitioning</strong><br/>You can create or resize partitions yourself. - + Boot loader location: Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +421,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: Current: - + Reuse %1 as home partition for %2. Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. The EFI system partition at %1 will be used for starting %2. - + EFI system partition: EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +546,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job Contextual Processes Job @@ -571,12 +584,17 @@ The installer will quit and all changes will be lost. Fi&le System: - + + LVM LV name + LVM LV name + + + Flags: Flags: - + &Mount Point: &Mount Point: @@ -586,27 +604,27 @@ The installer will quit and all changes will be lost. Si&ze: - + En&crypt En&crypt - + Logical Logical - + Primary Primary - + GPT GPT - + Mountpoint already in use. Please select another one. Mountpoint already in use. Please select another one. @@ -614,45 +632,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - Could not open device '%1'. - - - - Could not open partition table. - Could not open partition table. - - - - The installer failed to create file system on partition %1. - The installer failed to create file system on partition %1. - - - - The installer failed to update partition table on disk '%1'. - The installer failed to update partition table on disk '%1'. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. The installer failed to create a partition table on %1. - - - Could not open device %1. - Could not open device %1. - CreateUserJob @@ -781,17 +774,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. Delete partition %1. - + Delete partition <strong>%1</strong>. Delete partition <strong>%1</strong>. - + Deleting partition %1. Deleting partition %1. @@ -800,21 +793,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - Partition (%1) and device (%2) do not match. - - - - Could not open device %1. - Could not open device %1. - - - - Could not open partition table. - Could not open partition table. - DeviceInfoWidget @@ -972,37 +950,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information Set partition information - + Install %1 on <strong>new</strong> %2 system partition. Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Install boot loader on <strong>%1</strong>. - + Setting up mount points. Setting up mount points. @@ -1015,7 +993,12 @@ The installer will quit and all changes will be lost. Form - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + &Restart now &Restart now @@ -1051,45 +1034,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - Could not open device '%1'. - - - - Could not open partition table. - Could not open partition table. - - - - The installer failed to create file system on partition %1. - The installer failed to create file system on partition %1. - - - - The installer failed to update partition table on disk '%1'. - The installer failed to update partition table on disk '%1'. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ The installer will quit and all changes will be lost. Install boot &loader on: - + Are you sure you want to create a new partition table on %1? Are you sure you want to create a new partition table on %1? @@ -1689,22 +1652,22 @@ The installer will quit and all changes will be lost. Default - + unknown unknown - + extended extended - + unformatted unformatted - + swap swap @@ -1921,24 +1884,24 @@ The installer will quit and all changes will be lost. Set keyboard model to %1, layout to %2-%3 - + Failed to write keyboard configuration for the virtual console. Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 Failed to write to %1 - + Failed to write keyboard configuration for X11. Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2070,14 @@ The installer will quit and all changes will be lost. Cannot open /etc/timezone for writing + + ShellProcessJob + + + Shell Processes Job + Shell Processes Job + + SummaryPage @@ -2341,8 +2312,8 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index 45639451b..c44c74020 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -122,68 +122,6 @@ Running command %1 %2 - - - External command crashed - External command crashed - - - - Command %1 crashed. -Output: -%2 - Command %1 crashed. -Output: -%2 - - - - External command failed to start - External command failed to start - - - - Command %1 failed to start. - Command %1 failed to start. - - - - Internal error when starting command - Internal error when starting command - - - - Bad parameters for process job call. - Bad parameters for process job call. - - - - External command failed to finish - External command failed to finish - - - - Command %1 failed to finish in %2s. -Output: -%3 - Command %1 failed to finish in %2s. -Output: -%3 - - - - External command finished with errors - External command finished with errors - - - - Command %1 finished with exit code %2. -Output: -%3 - Command %1 finished with exit code %2. -Output: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Cancel - + Cancel installation without changing the system. - + Cancel installation? Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done - + The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. Unfetchable Python error. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Bad parameters for process job call. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Installer - + Show debug information Show debug information @@ -392,12 +403,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +419,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: Flags: - + &Mount Point: &Mount Point: @@ -586,27 +602,27 @@ The installer will quit and all changes will be lost. Si&ze: - + En&crypt - + Logical Logical - + Primary Primary - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - Could not open device '%1'. - - - - Could not open partition table. - Could not open partition table. - - - - The installer failed to create file system on partition %1. - The installer failed to create file system on partition %1. - - - - The installer failed to update partition table on disk '%1'. - The installer failed to update partition table on disk '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. The installer failed to create a partition table on %1. - - - Could not open device %1. - Could not open device %1. - CreateUserJob @@ -781,17 +772,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. Delete partition %1. - + Delete partition <strong>%1</strong>. Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - Partition (%1) and device (%2) do not match. - - - - Could not open device %1. - Could not open device %1. - - - - Could not open partition table. - Could not open partition table. - DeviceInfoWidget @@ -972,37 +948,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information Set partition information - + Install %1 on <strong>new</strong> %2 system partition. Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ The installer will quit and all changes will be lost. Form - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Restart now @@ -1051,45 +1032,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - Could not open device '%1'. - - - - Could not open partition table. - Could not open partition table. - - - - The installer failed to create file system on partition %1. - The installer failed to create file system on partition %1. - - - - The installer failed to update partition table on disk '%1'. - The installer failed to update partition table on disk '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? Are you sure you want to create a new partition table on %1? @@ -1689,22 +1650,22 @@ The installer will quit and all changes will be lost. Default - + unknown - + extended - + unformatted - + swap @@ -1921,24 +1882,24 @@ The installer will quit and all changes will be lost. Set keyboard model to %1, layout to %2-%3 - + Failed to write keyboard configuration for the virtual console. Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 Failed to write to %1 - + Failed to write keyboard configuration for X11. Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index 77a5eee3a..5da086125 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -123,68 +123,6 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar Running command %1 %2 Ejecutando comando %1 %2 - - - External command crashed - El comando externo ha fallado - - - - Command %1 crashed. -Output: -%2 - El comando %1 ha fallado. - -Salida: %2 - - - - External command failed to start - El comando externo no ha podido iniciarse - - - - Command %1 failed to start. - El comando %1 no se pudo iniciar. - - - - Internal error when starting command - Error interno al iniciar el comando - - - - Bad parameters for process job call. - Parámetros erróneos para el trabajo en proceso. - - - - External command failed to finish - El comando externo falló al finalizar - - - - Command %1 failed to finish in %2s. -Output: -%3 - El comando %1 falló al finalizar en %2s. -Salida: -%3 - - - - External command finished with errors - El comando externo finalizó con errores - - - - Command %1 finished with exit code %2. -Output: -%3 - El comando %1 finalizó con el código de salida %2. -Salida: -%3 - Calamares::PythonJob @@ -233,80 +171,80 @@ Salida: - + &Cancel &Cancelar - + Cancel installation without changing the system. Cancelar instalación sin cambiar el sistema. - + Cancel installation? ¿Cancelar la instalación? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Realmente quiere cancelar el proceso de instalación? Saldrá del instalador y se perderán todos los cambios. - + &Yes &Sí - + &No &No - + &Close &Cerrar - + Continue with setup? ¿Continuar con la configuración? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back Regresar - + &Done &Hecho - + The installation is complete. Close the installer. La instalación se ha completado. Cierre el instalador. - + Error Error - + Installation Failed Error en la Instalación @@ -334,15 +272,90 @@ Saldrá del instalador y se perderán todos los cambios. Error de Python Unfetchable. + + CalamaresUtils::CommandList + + + Could not run command. + No se pudo ejecutar el comando. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + No hay definido ningún rootMountPoint (punto de montaje de la raíz), así que el comando no se puede ejecutar en el entorno objetivo. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Salida: + + + + + External command crashed. + El comando externo falló. + + + + Command <i>%1</i> crashed. + El comando <i>%1</i> falló. + + + + External command failed to start. + El comando externo no pudo iniciarse. + + + + Command <i>%1</i> failed to start. + El comando <i>%1</i> no pudo iniciarse. + + + + Internal error when starting command. + Error interno al iniciar el comando. + + + + Bad parameters for process job call. + Parámetros erróneos para el trabajo en proceso. + + + + External command failed to finish. + El comando externo no se pudo finalizar. + + + + Command <i>%1</i> failed to finish in %2 seconds. + El comando <i>%1</i> no se pudo finalizar en %2 segundos. + + + + External command finished with errors. + El comando externo finalizó con errores. + + + + Command <i>%1</i> finished with exit code %2. + El comando <i>%1</i> finalizó con un código de salida %2. + + CalamaresWindow - + %1 Installer %1 Instalador - + Show debug information Mostrar información de depuración. @@ -393,12 +406,12 @@ Saldrá del instalador y se perderán todos los cambios. <strong>Particionado manual </strong><br/> Usted puede crear o cambiar el tamaño de las particiones usted mismo. - + Boot loader location: Ubicación del cargador de arranque: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 se contraerá a %2 MB y se creará una nueva partición de %3 MB para %4. @@ -409,83 +422,83 @@ Saldrá del instalador y se perderán todos los cambios. - - - + + + Current: Corriente - + Reuse %1 as home partition for %2. Volver a usar %1 como partición home para %2 - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Seleccione una partición para reducir el tamaño, a continuación, arrastre la barra inferior para cambiar el tamaño</strong> - + <strong>Select a partition to install on</strong> <strong>Seleccione una partición para instalar en</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. No se puede encontrar una partición de sistema EFI en ningún lugar de este sistema. Por favor, vuelva y use el particionamiento manual para establecer %1. - + The EFI system partition at %1 will be used for starting %2. La partición de sistema EFI en %1 se usará para iniciar %2. - + EFI system partition: Partición del sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento no parece tener un sistema operativo en él. ¿Qué quiere hacer?<br/>Podrá revisar y confirmar sus elecciones antes de que se haga cualquier cambio en el dispositivo de almacenamiento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Borrar disco</strong><br/>Esto <font color="red">borrará</font> todos los datos presentes actualmente en el dispositivo de almacenamiento. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. %1 se encuentra instalado en este dispositivo de almacenamiento. ¿Qué desea hacer?<br/>Podrá revisar y confirmar su elección antes de que cualquier cambio se haga efectivo en el dispositivo de almacenamiento. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar junto al otro SO</strong><br/>El instalador reducirá la partición del SO existente para tener espacio para instalar %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Reemplazar una partición</strong><br/>Reemplazar una partición con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento parece que ya tiene un sistema operativo instalado en él. ¿Qué desea hacer?<br/>Podrá revisar y confirmar su elección antes de que cualquier cambio se haga efectivo en el dispositivo de almacenamiento. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de almacenamiento contiene múltiples sistemas operativos instalados en él. ¿Qué desea hacer?<br/>Podrá revisar y confirmar su elección antes de que cualquier cambio se haga efectivo en el dispositivo de almacenamiento. @@ -534,7 +547,7 @@ Saldrá del instalador y se perderán todos los cambios. ContextualProcessJob - + Contextual Processes Job Tarea Contextual Processes @@ -572,12 +585,17 @@ Saldrá del instalador y se perderán todos los cambios. Sistema de archivos: - + + LVM LV name + Nombre del LV (volumen lógico) del LVM (administrador de LVs) + + + Flags: Banderas: - + &Mount Point: Punto de &montaje: @@ -587,27 +605,27 @@ Saldrá del instalador y se perderán todos los cambios. &Tamaño: - + En&crypt &Cifrar - + Logical Lógica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Punto de montaje ya en uso. Por favor, seleccione otro. @@ -615,45 +633,25 @@ Saldrá del instalador y se perderán todos los cambios. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Crear nueva %2MB partición en %4 (%3) con el sistema de archivos %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Crear nueva <strong>%2MB</strong> partición en <strong>%4</strong> (%3) con el sistema de ficheros <strong>%1</strong>. - + Creating new %1 partition on %2. Creando nueva %1 partición en %2 - + The installer failed to create partition on disk '%1'. El instalador fallo al crear la partición en el disco '%1'. - - - Could not open device '%1'. - No se puede abrir el dispositivo '%1'. - - - - Could not open partition table. - No se puede abrir la tabla de partición. - - - - The installer failed to create file system on partition %1. - El instalador fallo al crear el sistema de archivos en la partición %1. - - - - The installer failed to update partition table on disk '%1'. - El instalador fallo al actualizar la tabla de partición sobre el disco '%1'. - CreatePartitionTableDialog @@ -686,30 +684,25 @@ Saldrá del instalador y se perderán todos los cambios. CreatePartitionTableJob - + Create new %1 partition table on %2. Crear nueva %1 tabla de particiones en %2 - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Crear nueva <strong>%1</strong> tabla de particiones en <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Creando nueva %1 tabla de particiones en %2. - + The installer failed to create a partition table on %1. El instalador fallo al crear la tabla de partición en %1. - - - Could not open device %1. - No se puede abrir el dispositivo %1. - CreateUserJob @@ -782,17 +775,17 @@ Saldrá del instalador y se perderán todos los cambios. DeletePartitionJob - + Delete partition %1. Eliminar partición %1. - + Delete partition <strong>%1</strong>. Eliminar partición <strong>%1</strong>. - + Deleting partition %1. Eliminando partición %1. @@ -801,21 +794,6 @@ Saldrá del instalador y se perderán todos los cambios. The installer failed to delete partition %1. El instalador falló al eliminar la partición %1. - - - Partition (%1) and device (%2) do not match. - La partición (%1) y el dispositivo (%2) no coinciden. - - - - Could not open device %1. - No se puede abrir el dispositivo %1. - - - - Could not open partition table. - No se pudo abrir la tabla de particiones. - DeviceInfoWidget @@ -973,37 +951,37 @@ Saldrá del instalador y se perderán todos los cambios. FillGlobalStorageJob - + Set partition information Establecer la información de la partición - + Install %1 on <strong>new</strong> %2 system partition. Instalar %1 en <strong>nuevo</strong> %2 partición del sistema. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Configurar <strong>nueva</strong> %2 partición con punto de montaje <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instalar %2 en %3 partición del sistema <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Configurar %3 partición <strong>%1</strong> con punto de montaje <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalar gestor de arranque en <strong>%1</strong>. - + Setting up mount points. Configurando puntos de montaje. @@ -1016,7 +994,12 @@ Saldrá del instalador y se perderán todos los cambios. Formulario - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Cuando esta casilla esté marcada, su sistema se reiniciará inmediatamente cuando pulse sobre <span style=" font-style:italic;">Hecho</span> o cierre el instalador.</p></body></html> + + + &Restart now &Reiniciar ahora @@ -1052,45 +1035,25 @@ Saldrá del instalador y se perderán todos los cambios. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatear la partición %1 (sistema de archivos: %2, tamaño: %3 MB) en %4 - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatear <strong>%3MB</strong> partición <strong>%1</strong> con sistema de ficheros <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formateando partición %1 con sistema de ficheros %2. - + The installer failed to format partition %1 on disk '%2'. El instalador falló al formatear la partición %1 del disco '%2'. - - - Could not open device '%1'. - No se pudo abrir el dispositivo '%1'. - - - - Could not open partition table. - No se pudo abrir la tabla de particiones. - - - - The installer failed to create file system on partition %1. - El instalador falló al crear el sistema de archivos en la partición %1. - - - - The installer failed to update partition table on disk '%1'. - El instalador falló al actualizar la tabla de particiones del disco '%1'. - InteractiveTerminalPage @@ -1533,7 +1496,7 @@ Saldrá del instalador y se perderán todos los cambios. Instalar gestor de arranque en: - + Are you sure you want to create a new partition table on %1? ¿Está seguro de querer crear una nueva tabla de particiones en %1? @@ -1690,22 +1653,22 @@ Saldrá del instalador y se perderán todos los cambios. Por defecto - + unknown desconocido - + extended extendido - + unformatted sin formato - + swap swap @@ -1922,24 +1885,24 @@ Saldrá del instalador y se perderán todos los cambios. Configurar modelo de teclado a %1, distribución a %2-%3 - + Failed to write keyboard configuration for the virtual console. Hubo un fallo al escribir la configuración del teclado para la consola virtual. - - - + + + Failed to write to %1 No se puede escribir en %1 - + Failed to write keyboard configuration for X11. Hubo un fallo al escribir la configuración del teclado para X11. - + Failed to write keyboard configuration to existing /etc/default directory. No se pudo escribir la configuración de teclado en el directorio /etc/default existente. @@ -2108,6 +2071,14 @@ Saldrá del instalador y se perderán todos los cambios. No se puede abrir/etc/timezone para la escritura + + ShellProcessJob + + + Shell Processes Job + Tarea de procesos del interprete de comandos + + SummaryPage @@ -2342,8 +2313,8 @@ Saldrá del instalador y se perderán todos los cambios. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>para %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimientos a: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg y el <a href="https://www.transifex.com/calamares/calamares/">equipo de traductores de Calamares</a>.<br/><br/>El desarrollo de <a href="http://calamares.io/">Calamares</a> está patrocinado por: <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberando Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimientos: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg y al <a href="https://www.transifex.com/calamares/calamares/">equipo de traductores de Calamares</a>.<br/><br/> El desarrollo <a href="https://calamares.io/">Calamares</a> está patrocinado por <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberando Software. diff --git a/lang/calamares_es_ES.ts b/lang/calamares_es_ES.ts index c6d4a5622..26cc00848 100644 --- a/lang/calamares_es_ES.ts +++ b/lang/calamares_es_ES.ts @@ -122,68 +122,6 @@ Running command %1 %2 - - - External command crashed - Ha fallado el comando externo - - - - Command %1 crashed. -Output: -%2 - El comando %1 ha fallado. -Salida: -%2 - - - - External command failed to start - El comando externo no ha podido iniciar - - - - Command %1 failed to start. - El comando %1 no se puede iniciar. - - - - Internal error when starting command - Error interno al arrancar el comando - - - - Bad parameters for process job call. - Parámetros erróneos en la llamada al proceso. - - - - External command failed to finish - El comando externo no ha podido finalizar - - - - Command %1 failed to finish in %2s. -Output: -%3 - El comando %1 ha fallado al finalizar en %2. -Salida: -%3 - - - - External command finished with errors - El comando externo ha finalizado con errores - - - - Command %1 finished with exit code %2. -Output: -%3 - El comando %1 ha finalizado con el código %2. -Salida: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Salida: - + &Cancel &Cancelar - + Cancel installation without changing the system. - + Cancel installation? ¿Cancelar instalación? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. ¿Estás seguro de que quieres cancelar la instalación en curso? El instalador se cerrará y se perderán todos los cambios. - + &Yes - + &No - + &Close - + Continue with setup? ¿Continuar con la configuración? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Instalar ahora - + Go &back Volver atrás. - + &Done - + The installation is complete. Close the installer. - + Error Error - + Installation Failed La instalación ha fallado @@ -333,15 +271,88 @@ El instalador se cerrará y se perderán todos los cambios. Error de Python no alcanzable. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Parámetros erróneos en la llamada al proceso. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Instalador %1 - + Show debug information Mostrar la información de depuración @@ -392,12 +403,12 @@ El instalador se cerrará y se perderán todos los cambios. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +419,83 @@ El instalador se cerrará y se perderán todos los cambios. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ El instalador se cerrará y se perderán todos los cambios. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ El instalador se cerrará y se perderán todos los cambios. - + + LVM LV name + + + + Flags: Marcas: - + &Mount Point: Punto de &montaje: @@ -586,27 +602,27 @@ El instalador se cerrará y se perderán todos los cambios. Tamaño - + En&crypt - + Logical Logica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ El instalador se cerrará y se perderán todos los cambios. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. El instalador no ha podido crear la partición en el disco '%1' - - - Could not open device '%1'. - No se puede abrir el dispositivo '%1'. - - - - Could not open partition table. - No se puede abrir la tabla de particiones. - - - - The installer failed to create file system on partition %1. - El instalador no ha podido crear el sistema de ficheros en la partición %1. - - - - The installer failed to update partition table on disk '%1'. - El instalador no ha podido actualizar la tabla de particiones en el disco '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ El instalador se cerrará y se perderán todos los cambios. CreatePartitionTableJob - + Create new %1 partition table on %2. Crear una nueva tabla de particiones %1 en %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Crear una nueva tabla de particiones <strong>%1</strong> en <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. El instalador no ha podido crear la tabla de particiones en %1. - - - Could not open device %1. - No se puede abrir el dispositivo %1. - CreateUserJob @@ -781,17 +772,17 @@ El instalador se cerrará y se perderán todos los cambios. DeletePartitionJob - + Delete partition %1. Borrar partición %1. - + Delete partition <strong>%1</strong>. Borrar partición <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ El instalador se cerrará y se perderán todos los cambios. The installer failed to delete partition %1. El instalado no ha podido borrar la partición %1. - - - Partition (%1) and device (%2) do not match. - La partición (%1) y el dispositvo (%2) no concuerdan. - - - - Could not open device %1. - No se puede abrir el dispositivo %1. - - - - Could not open partition table. - No se puede abrir la tabla de particiones. - DeviceInfoWidget @@ -972,37 +948,37 @@ El instalador se cerrará y se perderán todos los cambios. FillGlobalStorageJob - + Set partition information Establecer la información de la partición - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalar el cargador de arranque en <strong>%1</strong> - + Setting up mount points. @@ -1015,7 +991,12 @@ El instalador se cerrará y se perderán todos los cambios. Formulario - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Reiniciar ahora @@ -1051,45 +1032,25 @@ El instalador se cerrará y se perderán todos los cambios. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatear partición %1 (sistema de ficheros: %2, tamaño: %3 MB) en %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatear la partición <strong>%3MB</strong> <strong>%1</strong> con el sistema de ficheros <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. El instalador no ha podido formatear la partición %1 en el disco '%2' - - - Could not open device '%1'. - No se puede abrir el dispositivo '%1'. - - - - Could not open partition table. - No se puede abrir la tabla de particiones. - - - - The installer failed to create file system on partition %1. - El instalador no ha podido crear el sistema de ficheros en la partición %1. - - - - The installer failed to update partition table on disk '%1'. - El instalador no ha podido actualizar la tabla de particiones en el disco '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ El instalador se cerrará y se perderán todos los cambios. - + Are you sure you want to create a new partition table on %1? ¿Estás seguro de que quieres crear una nueva tabla de particiones en %1? @@ -1689,22 +1650,22 @@ El instalador se cerrará y se perderán todos los cambios. Por defecto - + unknown - + extended - + unformatted - + swap @@ -1921,24 +1882,24 @@ El instalador se cerrará y se perderán todos los cambios. Establecer el modelo de teclado %1, a una disposición %2-%3 - + Failed to write keyboard configuration for the virtual console. No se ha podido guardar la configuración de la consola virtual. - - - + + + Failed to write to %1 No se ha podido escribir en %1 - + Failed to write keyboard configuration for X11. No se ha podido guardar la configuración del teclado de X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ El instalador se cerrará y se perderán todos los cambios. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ El instalador se cerrará y se perderán todos los cambios. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index 4e6ab37c7..ef11639a4 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -122,68 +122,6 @@ Running command %1 %2 Ejecutando comando %1 %2 - - - External command crashed - Ha fallado el comando externo - - - - Command %1 crashed. -Output: -%2 - El comando %1 ha fallado. -Salida: -%2 - - - - External command failed to start - El comando externo no ha podido iniciar - - - - Command %1 failed to start. - El comando %1 no ha podido iniciar. - - - - Internal error when starting command - Error interno al iniciar comando - - - - Bad parameters for process job call. - Parámetros erróneos en la llamada al proceso. - - - - External command failed to finish - Comando externo no ha podido finalizar - - - - Command %1 failed to finish in %2s. -Output: -%3 - El comando %1 no ha podido finalizar in %2s. -Salida: -%3 - - - - External command finished with errors - El comando externo ha finalizado con errores. - - - - Command %1 finished with exit code %2. -Output: -%3 - El comando %1 ha finalizado con el código %2. -Salida: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Salida: - + &Cancel &Cancelar - + Cancel installation without changing the system. - + Cancel installation? Cancelar la instalación? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Realmente desea cancelar el proceso de instalación actual? El instalador terminará y se perderán todos los cambios. - + &Yes - + &No - + &Close - + Continue with setup? Continuar con la instalación? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> El instalador %1 va a realizar cambios en su disco para instalar %2.<br/><strong>No podrá deshacer estos cambios.</strong> - + &Install now &Instalar ahora - + Go &back &Regresar - + &Done - + The installation is complete. Close the installer. - + Error Error - + Installation Failed Instalación Fallida @@ -333,15 +271,88 @@ El instalador terminará y se perderán todos los cambios. Error de Python Unfetchable. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Parámetros erróneos en la llamada al proceso. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Instalador - + Show debug information Mostrar información de depuración @@ -393,12 +404,12 @@ El instalador terminará y se perderán todos los cambios. <strong>Particionado manual </strong><br/> Puede crear o cambiar el tamaño de las particiones usted mismo. - + Boot loader location: Ubicación del cargador de arranque: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -409,84 +420,84 @@ El instalador terminará y se perderán todos los cambios. - - - + + + Current: Actual: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Seleccione una partición para reducir el tamaño, a continuación, arrastre la barra inferior para redimencinar</strong> - + <strong>Select a partition to install on</strong> <strong>Seleccione una partición para instalar</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. No se puede encontrar en el sistema una partición EFI. Por favor vuelva atrás y use el particionamiento manual para configurar %1. - + The EFI system partition at %1 will be used for starting %2. La partición EFI en %1 será usada para iniciar %2. - + EFI system partition: Partición de sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -536,7 +547,7 @@ El instalador terminará y se perderán todos los cambios. ContextualProcessJob - + Contextual Processes Job @@ -574,12 +585,17 @@ El instalador terminará y se perderán todos los cambios. Sis&tema de Archivos: - + + LVM LV name + + + + Flags: Banderas: - + &Mount Point: Punto de &montaje: @@ -589,27 +605,27 @@ El instalador terminará y se perderán todos los cambios. &Tamaño: - + En&crypt - + Logical Lógica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -617,45 +633,25 @@ El instalador terminará y se perderán todos los cambios. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Crear nueva partición %2MB en %4 (%3) con el sistema de archivos %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Crear nueva partición <strong>%2MB</strong> en <strong>%4</strong> (%3) con el sistema de archivos <strong>%1</strong>. - + Creating new %1 partition on %2. Creando nueva partición %1 en %2 - + The installer failed to create partition on disk '%1'. El instalador falló en crear la partición en el disco '%1'. - - - Could not open device '%1'. - No se pudo abrir el dispositivo '%1'. - - - - Could not open partition table. - No se pudo abrir la tabla de particiones. - - - - The installer failed to create file system on partition %1. - El instalador fallo al crear el sistema de archivos en la partición %1. - - - - The installer failed to update partition table on disk '%1'. - El instalador falló al actualizar la tabla de partición en el disco '%1'. - CreatePartitionTableDialog @@ -688,30 +684,25 @@ El instalador terminará y se perderán todos los cambios. CreatePartitionTableJob - + Create new %1 partition table on %2. Crear nueva tabla de particiones %1 en %2 - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Crear nueva tabla de particiones <strong>%1</strong> en <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Creando nueva tabla de particiones %1 en %2. - + The installer failed to create a partition table on %1. El instalador falló al crear una tabla de partición en %1. - - - Could not open device %1. - No se pudo abrir el dispositivo %1. - CreateUserJob @@ -784,17 +775,17 @@ El instalador terminará y se perderán todos los cambios. DeletePartitionJob - + Delete partition %1. Eliminar la partición %1. - + Delete partition <strong>%1</strong>. Eliminar la partición <strong>%1</strong>. - + Deleting partition %1. Eliminando partición %1. @@ -803,21 +794,6 @@ El instalador terminará y se perderán todos los cambios. The installer failed to delete partition %1. El instalador no pudo borrar la partición %1. - - - Partition (%1) and device (%2) do not match. - La partición (%1) y el dispositivo (%2) no concuerdan. - - - - Could not open device %1. - No se puede abrir el dispositivo %1. - - - - Could not open partition table. - No se pudo abrir la tabla de particiones. - DeviceInfoWidget @@ -975,37 +951,37 @@ El instalador terminará y se perderán todos los cambios. FillGlobalStorageJob - + Set partition information Fijar información de la partición. - + Install %1 on <strong>new</strong> %2 system partition. Instalar %1 en <strong>nueva</strong> partición de sistema %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Configurar <strong>nueva</strong> %2 partición con punto de montaje <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instalar %2 en %3 partición del sistema <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Configurar %3 partición <strong>%1</strong> con punto de montaje <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalar el cargador de arranque en <strong>%1</strong>. - + Setting up mount points. Configurando puntos de montaje. @@ -1018,7 +994,12 @@ El instalador terminará y se perderán todos los cambios. Forma - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Reiniciar ahora @@ -1054,45 +1035,25 @@ El instalador terminará y se perderán todos los cambios. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatear la partición %1 (sistema de archivos: %2, tamaño: %3 MB) en %4 - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatear <strong>%3MB</strong> partición <strong>%1</strong> con sistema de archivos <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formateando partición %1 con sistema de archivos %2. - + The installer failed to format partition %1 on disk '%2'. El instalador no ha podido formatear la partición %1 en el disco '%2' - - - Could not open device '%1'. - No se puede abrir el dispositivo '%1'. - - - - Could not open partition table. - No se pudo abrir la tabla de particiones. - - - - The installer failed to create file system on partition %1. - El instalador falló al crear el sistema de archivos en la partición %1. - - - - The installer failed to update partition table on disk '%1'. - El instalador falló al actualizar la tabla de partición en el disco '%1'. - InteractiveTerminalPage @@ -1535,7 +1496,7 @@ El instalador terminará y se perderán todos los cambios. - + Are you sure you want to create a new partition table on %1? ¿Está seguro de querer crear una nueva tabla de particiones en %1? @@ -1692,22 +1653,22 @@ El instalador terminará y se perderán todos los cambios. Por defecto - + unknown - + extended - + unformatted - + swap @@ -1925,24 +1886,24 @@ El instalador terminará y se perderán todos los cambios. Establecer el modelo de teclado %1, a una disposición %2-%3 - + Failed to write keyboard configuration for the virtual console. No se ha podido guardar la configuración de teclado para la consola virtual. - - - + + + Failed to write to %1 No se ha podido escribir en %1 - + Failed to write keyboard configuration for X11. No se ha podido guardar la configuración del teclado de X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2111,6 +2072,14 @@ El instalador terminará y se perderán todos los cambios. No se puede abrir /etc/timezone para escritura + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2345,7 +2314,7 @@ El instalador terminará y se perderán todos los cambios. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index 12c8d957d..24d4a9fd8 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -122,68 +122,6 @@ Running command %1 %2 - - - External command crashed - Un comando externo falló. - - - - Command %1 crashed. -Output: -%2 - El comando %1 falló. -Salida: -%2 - - - - External command failed to start - Un comando externo falló al arrancar. - - - - Command %1 failed to start. - El comando %1 falló al arrancar. - - - - Internal error when starting command - Error interno al iniciar el comando - - - - Bad parameters for process job call. - Parámetros erróneos para el trabajo en proceso. - - - - External command failed to finish - Comando externo no pudo terminar. - - - - Command %1 failed to finish in %2s. -Output: -%3 - Comando %1 no pudo terminar en %2s -Salida: -%3 - - - - External command finished with errors - Comando externo finalizó con errores - - - - Command %1 finished with exit code %2. -Output: -%3 - El comando %1 finalizó con el código de salida %2 -Salida: -%3 - Calamares::PythonJob @@ -232,79 +170,79 @@ Salida: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Error - + Installation Failed Falló la instalación @@ -332,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Parámetros erróneos para el trabajo en proceso. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -391,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -407,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -532,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -570,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -585,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -613,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -684,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -780,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -799,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -971,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1014,7 +990,12 @@ The installer will quit and all changes will be lost. Formulario - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1050,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1531,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1688,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1920,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2106,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2340,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index 632e8205c..59aeb4102 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Viga - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. Suurus: - + En&crypt - + Logical Loogiline köide - + Primary Peamine - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 486add251..34d3187dd 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -122,66 +122,6 @@ Running command %1 %2 %1 %2 komandoa exekutatzen - - - External command crashed - Kanpo-komandoak huts egin du - - - - Command %1 crashed. -Output: -%2 - %1 komandoak huts egin du. -Irteera: -%2 - - - - External command failed to start - - - - - Command %1 failed to start. - Ezin izan da %1 komandoa abiarazi. - - - - Internal error when starting command - Barne-akatsa komandoa hasterakoan - - - - Bad parameters for process job call. - - - - - External command failed to finish - Kanpo-komandoa ez da bukatu - - - - Command %1 failed to finish in %2s. -Output: -%3 - %1 komandoa ez da %2s-tan bukatu. -Irteera: -%3 - - - - External command finished with errors - Kanpo-komandoak akatsekin bukatu da - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -230,79 +170,79 @@ Output: - + &Cancel &Utzi - + Cancel installation without changing the system. Instalazioa bertan behera utsi da sisteman aldaketarik gabe. - + Cancel installation? Bertan behera utzi instalazioa? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &Bai - + &No &Ez - + &Close &Itxi - + Continue with setup? Ezarpenarekin jarraitu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Instalatu orain - + Go &back &Atzera - + &Done E&ginda - + The installation is complete. Close the installer. Instalazioa burutu da. Itxi instalatzailea. - + Error Akatsa - + Installation Failed Instalazioak huts egin du @@ -330,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Instalatzailea - + Show debug information @@ -389,12 +402,12 @@ The installer will quit and all changes will be lost. <strong>Eskuz partizioak landu</strong><br/>Zure kasa sortu edo tamainaz alda dezakezu partizioak. - + Boot loader location: Abio kargatzaile kokapena: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -405,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: Unekoa: - + Reuse %1 as home partition for %2. Berrerabili %1 home partizio bezala %2rentzat. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> <strong>aukeratu partizioa instalatzeko</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Ezin da inon aurkitu EFI sistemako partiziorik sistema honetan. Mesedez joan atzera eta erabili eskuz partizioak lantzea %1 ezartzeko. - + The EFI system partition at %1 will be used for starting %2. %1eko EFI partizio sistema erabiliko da abiarazteko %2. - + EFI system partition: EFI sistema-partizioa: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -530,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -568,12 +581,17 @@ The installer will quit and all changes will be lost. Fi&txategi-Sistema: - + + LVM LV name + + + + Flags: - + &Mount Point: &Muntatze Puntua: @@ -583,27 +601,27 @@ The installer will quit and all changes will be lost. Ta&maina: - + En&crypt - + Logical Logikoa - + Primary Primarioa - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -611,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - Ezin izan da partizio taula ireki. - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -682,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - Ezin izan da %1 gailua ireki. - CreateUserJob @@ -778,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. Ezabatu %1 partizioa. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. %1 partizioa ezabatzen. @@ -797,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - Ezin izan da %1 gailua ireki. - - - - Could not open partition table. - Ezin izan da partizio taula ireki. - DeviceInfoWidget @@ -969,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information Ezarri partizioaren informazioa - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Ezarri %2 partizio <strong>berria</strong> <strong>%1</strong> muntatze puntuarekin. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Ezarri %3 partizioa <strong>%1</strong> <strong>%2</strong> muntatze puntuarekin. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. Muntatze puntuak ezartzen. @@ -1012,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Berrabiarazi orain @@ -1048,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - Ezin izan da partizio taula ireki. - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1529,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1686,22 +1649,22 @@ The installer will quit and all changes will be lost. Lehenetsia - + unknown - + extended - + unformatted - + swap @@ -1918,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 Ezin izan da %1 partizioan idatzi - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2104,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2338,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index 0676de2ff..8bd87d70b 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 1cfcb234c..d32639343 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -122,68 +122,6 @@ Running command %1 %2 Suoritetaan komentoa %1 %2 - - - External command crashed - Ulkoinen komento kaatui - - - - Command %1 crashed. -Output: -%2 - Komento %1 kaatui. -Tuloste: -%2 - - - - External command failed to start - Ulkoisen komennon käynnistys epäonnistui - - - - Command %1 failed to start. - Komennon %1 käynnistys epäonnistui. - - - - Internal error when starting command - Sisäinen virhe suoritettaessa komentoa - - - - Bad parameters for process job call. - Huonot parametrit prosessin kutsuun. - - - - External command failed to finish - Ulkoista komentoa ei voitu ajaa loppuun - - - - Command %1 failed to finish in %2s. -Output: -%3 - Komento %1 epäonnistui ajassa %2s. -Tuloste: -%3 - - - - External command finished with errors - Ulkoinen komento päättyi virheeseen - - - - Command %1 finished with exit code %2. -Output: -%3 - Komennon %1 suoritus loppui koodilla %2. -Tuloste: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Tuloste: - + &Cancel &Peruuta - + Cancel installation without changing the system. - + Cancel installation? Peruuta asennus? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Oletko varma että haluat peruuttaa käynnissä olevan asennusprosessin? Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + &Yes &Kyllä - + &No &Ei - + &Close &Sulje - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Asenna nyt - + Go &back - + &Done &Valmis - + The installation is complete. Close the installer. Asennus on valmis. Sulje asennusohjelma. - + Error Virhe - + Installation Failed Asennus Epäonnistui @@ -333,15 +271,88 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Python virhettä ei voitu hakea. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Huonot parametrit prosessin kutsuun. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Asennusohjelma - + Show debug information @@ -392,12 +403,12 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +419,83 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + + LVM LV name + + + + Flags: Liput: - + &Mount Point: &Liitoskohta: @@ -586,27 +602,27 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. K&oko: - + En&crypt - + Logical Looginen - + Primary Ensisijainen - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. Asennusohjelma epäonnistui osion luonnissa levylle '%1'. - - - Could not open device '%1'. - Ei pystytty avaamaan laitetta '%1'. - - - - Could not open partition table. - Osiotaulukkoa ei voitu avata. - - - - The installer failed to create file system on partition %1. - Asennusohjelma epäonnistui tiedostojärjestelmän luonnissa osiolle %1. - - - - The installer failed to update partition table on disk '%1'. - Asennusohjelman epäonnistui päivittää osio levyllä '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. Asennusohjelma epäonnistui osiotaulukon luonnissa kohteeseen %1. - - - Could not open device %1. - Laitetta %1 ei voitu avata. - CreateUserJob @@ -781,17 +772,17 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. The installer failed to delete partition %1. Asennusohjelma epäonnistui osion %1 poistossa. - - - Partition (%1) and device (%2) do not match. - Osio (%1) ja laite (%2) eivät täsmää. - - - - Could not open device %1. - Ei voitu avata laitetta %1. - - - - Could not open partition table. - Osiotaulukkoa ei voitu avata. - DeviceInfoWidget @@ -972,37 +948,37 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. FillGlobalStorageJob - + Set partition information Aseta osion tiedot - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Lomake - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Käynnistä uudelleen @@ -1051,45 +1032,25 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Alusta osio %1 (tiedostojärjestelmä: %2, koko: %3 MB) levyllä %4 - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. Levyn '%2' osion %1 alustus epäonnistui. - - - Could not open device '%1'. - Ei voitu avata laitetta '%1'. - - - - Could not open partition table. - Osiointitaulua ei voitu avata. - - - - The installer failed to create file system on partition %1. - Asennusohjelma on epäonnistunut tiedostojärjestelmän luonnissa osiolle %1. - - - - The installer failed to update partition table on disk '%1'. - Asennusohjelma on epäonnistunut osiointitaulun päivityksessä levylle '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Are you sure you want to create a new partition table on %1? Oletko varma, että haluat luoda uuden osion %1? @@ -1689,22 +1650,22 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Oletus - + unknown - + extended - + unformatted - + swap @@ -1921,24 +1882,24 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Aseta näppäimistön malliksi %1, asetelmaksi %2-%3 - + Failed to write keyboard configuration for the virtual console. Virtuaalikonsolin näppäimistöasetuksen tallentaminen epäonnistui. - - - + + + Failed to write to %1 Kirjoittaminen epäonnistui kohteeseen %1 - + Failed to write keyboard configuration for X11. X11 näppäimistöasetuksen tallentaminen epäonnistui. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index 60dfd8c53..da56fc8ab 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -122,68 +122,6 @@ Running command %1 %2 Exécution de la commande %1 %2 - - - External command crashed - La commande externe a échoué - - - - Command %1 crashed. -Output: -%2 - La commande %1 a échoué. -Sortie : -%2 - - - - External command failed to start - La commande externe n'a pas pu être lancée. - - - - Command %1 failed to start. - La commande %1 n'a pas pu être lancée. - - - - Internal error when starting command - Erreur interne au lancement de la commande - - - - Bad parameters for process job call. - Mauvais paramètres pour l'appel au processus de job. - - - - External command failed to finish - La commande externe ne s'est pas terminée. - - - - Command %1 failed to finish in %2s. -Output: -%3 - La commande %1 ne s'est pas terminée en %2s. -Sortie : -%3 - - - - External command finished with errors - La commande externe s'est terminée avec des erreurs - - - - Command %1 finished with exit code %2. -Output: -%3 - La commande %1 s'est terminée avec le code de sortie %2. -Sortie : -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Sortie : - + &Cancel &Annuler - + Cancel installation without changing the system. Annuler l'installation sans modifier votre système. - + Cancel installation? Abandonner l'installation ? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Voulez-vous réellement abandonner le processus d'installation ? L'installateur se fermera et les changements seront perdus. - + &Yes &Oui - + &No &Non - + &Close &Fermer - + Continue with setup? Poursuivre la configuration ? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> L'installateur %1 est sur le point de procéder aux changements sur le disque afin d'installer %2.<br/> <strong>Vous ne pourrez pas annulez ces changements.<strong> - + &Install now &Installer maintenant - + Go &back &Retour - + &Done &Terminé - + The installation is complete. Close the installer. L'installation est terminée. Fermer l'installateur. - + Error Erreur - + Installation Failed L'installation a échoué @@ -333,15 +271,90 @@ L'installateur se fermera et les changements seront perdus. Erreur Python non rapportable. + + CalamaresUtils::CommandList + + + Could not run command. + La commande n'a pas pu être exécutée. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + Aucun point de montage racine n'est défini, la commande n'a pas pu être exécutée dans l'environnement cible. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Sortie + + + + + External command crashed. + La commande externe s'est mal terminée. + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Mauvais paramètres pour l'appel au processus de job. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Installateur %1 - + Show debug information Afficher les informations de dépannage @@ -392,12 +405,12 @@ L'installateur se fermera et les changements seront perdus. <strong>Partitionnement manuel</strong><br/>Vous pouvez créer ou redimensionner vous-même des partitions. - + Boot loader location: Emplacement du chargeur de démarrage: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 va être réduit à %2Mo et une nouvelle partition de %3Mo va être créée pour %4. @@ -408,83 +421,83 @@ L'installateur se fermera et les changements seront perdus. - - - + + + Current: Actuel : - + Reuse %1 as home partition for %2. Réutiliser %1 comme partition home pour %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Sélectionnez une partition à réduire, puis faites glisser la barre du bas pour redimensionner</strong> - + <strong>Select a partition to install on</strong> <strong>Sélectionner une partition pour l'installation</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Une partition système EFI n'a pas pu être trouvée sur ce système. Veuillez retourner à l'étape précédente et sélectionner le partitionnement manuel pour configurer %1. - + The EFI system partition at %1 will be used for starting %2. La partition système EFI sur %1 va être utilisée pour démarrer %2. - + EFI system partition: Partition système EFI : - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ce périphérique de stockage ne semble pas contenir de système d'exploitation. Que souhaitez-vous faire ?<br/>Vous pourrez relire et confirmer vos choix avant que les modifications soient effectuées sur le périphérique de stockage. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Effacer le disque</strong><br/>Ceci va <font color="red">effacer</font> toutes les données actuellement présentes sur le périphérique de stockage sélectionné. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ce périphérique de stockage contient %1. Que souhaitez-vous faire ?<br/>Vous pourrez relire et confirmer vos choix avant que les modifications soient effectuées sur le périphérique de stockage. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installer à côté</strong><br/>L'installateur va réduire une partition pour faire de la place pour %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Remplacer une partition</strong><br>Remplace une partition par %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ce périphérique de stockage contient déjà un système d'exploitation. Que souhaitez-vous faire ?<br/>Vous pourrez relire et confirmer vos choix avant que les modifications soient effectuées sur le périphérique de stockage. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ce péiphérique de stockage contient déjà plusieurs systèmes d'exploitation. Que souhaitez-vous faire ?<br/>Vous pourrez relire et confirmer vos choix avant que les modifications soient effectuées sur le périphérique de stockage. @@ -533,7 +546,7 @@ L'installateur se fermera et les changements seront perdus. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +584,17 @@ L'installateur se fermera et les changements seront perdus. Sy&stème de fichiers: - + + LVM LV name + + + + Flags: Drapeaux: - + &Mount Point: Point de &Montage : @@ -586,27 +604,27 @@ L'installateur se fermera et les changements seront perdus. Ta&ille : - + En&crypt Chi&ffrer - + Logical Logique - + Primary Primaire - + GPT GPT - + Mountpoint already in use. Please select another one. Le point de montage est déjà utilisé. Merci d'en sélectionner un autre. @@ -614,45 +632,25 @@ L'installateur se fermera et les changements seront perdus. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Créer une nouvelle partition de %2Mo sur %4 (%3) avec le système de fichiers %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Créer une nouvelle partition de <strong>%2Mo</strong> sur <strong>%4</strong> (%3) avec le système de fichiers <strong>%1</strong>. - + Creating new %1 partition on %2. Création d'une nouvelle partition %1 sur %2. - + The installer failed to create partition on disk '%1'. Le programme d'installation n'a pas pu créer la partition sur le disque '%1'. - - - Could not open device '%1'. - Impossible d'ouvrir le périphérique '%1'. - - - - Could not open partition table. - Impossible d'ouvrir la table de partitionnement. - - - - The installer failed to create file system on partition %1. - Le programme d'installation n'a pas pu créer le système de fichiers sur la partition %1. - - - - The installer failed to update partition table on disk '%1'. - Le programme d'installation n'a pas pu mettre à jour la table de partitionnement sur le disque '%1'. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ L'installateur se fermera et les changements seront perdus. CreatePartitionTableJob - + Create new %1 partition table on %2. Créer une nouvelle table de partition %1 sur %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Créer une nouvelle table de partitions <strong>%1</strong> sur <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Création d'une nouvelle table de partitions %1 sur %2. - + The installer failed to create a partition table on %1. Le programme d'installation n'a pas pu créer la table de partitionnement sur le disque %1. - - - Could not open device %1. - Impossible d'ouvrir le périphérique %1. - CreateUserJob @@ -781,17 +774,17 @@ L'installateur se fermera et les changements seront perdus. DeletePartitionJob - + Delete partition %1. Supprimer la partition %1. - + Delete partition <strong>%1</strong>. Supprimer la partition <strong>%1</strong>. - + Deleting partition %1. Suppression de la partition %1. @@ -800,21 +793,6 @@ L'installateur se fermera et les changements seront perdus. The installer failed to delete partition %1. Le programme d'installation n'a pas pu supprimer la partition %1. - - - Partition (%1) and device (%2) do not match. - La partition (%1) et le périphérique (%2) ne correspondent pas. - - - - Could not open device %1. - Impossible d'ouvrir le périphérique %1. - - - - Could not open partition table. - Impossible d'ouvrir la table de partitionnement. - DeviceInfoWidget @@ -972,37 +950,37 @@ L'installateur se fermera et les changements seront perdus. FillGlobalStorageJob - + Set partition information Configurer les informations de la partition - + Install %1 on <strong>new</strong> %2 system partition. Installer %1 sur le <strong>nouveau</strong> système de partition %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Configurer la <strong>nouvelle</strong> partition %2 avec le point de montage <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Installer %2 sur la partition système %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Configurer la partition %3 <strong>%1</strong> avec le point de montage <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Installer le chargeur de démarrage sur <strong>%1</strong>. - + Setting up mount points. Configuration des points de montage. @@ -1015,7 +993,12 @@ L'installateur se fermera et les changements seront perdus. Formulaire - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Redémarrer maintenant @@ -1051,45 +1034,25 @@ L'installateur se fermera et les changements seront perdus. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formater la partition %1 (système de fichier : %2, taille : %3 Mo) sur %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formater la partition <strong>%1</strong> de <strong>%3MB</strong> avec le système de fichiers <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatage de la partition %1 avec le système de fichiers %2. - + The installer failed to format partition %1 on disk '%2'. Le programme d'installation n'a pas pu formater la partition %1 sur le disque '%2'. - - - Could not open device '%1'. - Impossible d'ouvrir le périphérique '%1'. - - - - Could not open partition table. - Impossible d'ouvrir la table de partitionnement. - - - - The installer failed to create file system on partition %1. - Le programme d'installation n'a pas pu créer le système de fichiers sur la partition %1. - - - - The installer failed to update partition table on disk '%1'. - Le programme d'installation n'a pas pu mettre à jour la table de partitionnement sur le disque '%1'. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ L'installateur se fermera et les changements seront perdus. Installer le chargeur de démarrage sur: - + Are you sure you want to create a new partition table on %1? Êtes-vous sûr de vouloir créer une nouvelle table de partitionnement sur %1 ? @@ -1689,22 +1652,22 @@ L'installateur se fermera et les changements seront perdus. Défaut - + unknown inconnu - + extended étendu - + unformatted non formaté - + swap swap @@ -1921,24 +1884,24 @@ L'installateur se fermera et les changements seront perdus. Configurer le modèle de clavier à %1, la disposition des touches à %2-%3 - + Failed to write keyboard configuration for the virtual console. Échec de l'écriture de la configuration clavier pour la console virtuelle. - - - + + + Failed to write to %1 Échec de l'écriture sur %1 - + Failed to write keyboard configuration for X11. Échec de l'écriture de la configuration clavier pour X11. - + Failed to write keyboard configuration to existing /etc/default directory. Impossible d'écrire la configuration du clavier dans le dossier /etc/default existant. @@ -2107,6 +2070,14 @@ L'installateur se fermera et les changements seront perdus. Impossible d'ourvir /etc/timezone pour écriture + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,8 +2312,8 @@ L'installateur se fermera et les changements seront perdus. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>pour %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Merci à : Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg et <a href="https://www.transifex.com/calamares/calamares/">l'équipe de traducteurs de Calamares</a>.<br/><br/>Le développement de <a href="http://calamares.io/">Calamares</a>est sponsorisé par <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index b5793bbdd..8a4f16c66 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index ddddb93a4..7ee16861f 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -123,68 +123,6 @@ Running command %1 %2 Executando a orde %1 %2 - - - External command crashed - A orde externa tivo un erro - - - - Command %1 crashed. -Output: -%2 - A orde %1 tivo un erro. -Saída: -%2 - - - - External command failed to start - Non se puido iniciar a orde externa - - - - Command %1 failed to start. - Non se puido iniciar a orde %1 - - - - Internal error when starting command - Erro interno ao comenzar a orde - - - - Bad parameters for process job call. - Erro nos parámetros ao chamar o traballo - - - - External command failed to finish - A orde externa non se puido rematar - - - - Command %1 failed to finish in %2s. -Output: -%3 - A orde %1 non se puido rematar en %2s -Saída: -%3 - - - - External command finished with errors - A orde externa rematouse con erros - - - - Command %1 finished with exit code %2. -Output: -%3 - A orde %1 rematou co código de erro %2. -Saída: -%3 - Calamares::PythonJob @@ -233,80 +171,80 @@ Saída: - + &Cancel &Cancelar - + Cancel installation without changing the system. Cancela-la instalación sen cambia-lo sistema - + Cancel installation? Cancelar a instalación? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Desexa realmente cancelar o proceso actual de instalación? O instalador pecharase e perderanse todos os cambios. - + &Yes &Si - + &No &Non - + &Close &Pechar - + Continue with setup? Continuar coa posta en marcha? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está a piques de realizar cambios no seu disco para instalar %2.<br/><strong>Estes cambios non poderán desfacerse.</strong> - + &Install now &Instalar agora - + Go &back Ir &atrás - + &Done &Feito - + The installation is complete. Close the installer. Completouse a instalacion. Peche o instalador - + Error Erro - + Installation Failed Erro na instalación @@ -334,15 +272,88 @@ O instalador pecharase e perderanse todos os cambios. Erro de Python non recuperable + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Erro nos parámetros ao chamar o traballo + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Instalador de %1 - + Show debug information Mostrar informes de depuración @@ -393,12 +404,12 @@ O instalador pecharase e perderanse todos os cambios. <strong>Particionado manual</strong><br/> Pode crear o redimensionar particións pola súa conta. - + Boot loader location: Localización do cargador de arranque: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 será acurtada a %2MB e unha nova partición de %3MB será creada para %4 @@ -409,83 +420,83 @@ O instalador pecharase e perderanse todos os cambios. - - - + + + Current: Actual: - + Reuse %1 as home partition for %2. Reutilizar %1 como partición home para %2 - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Seleccione unha partición para acurtar, logo empregue a barra para redimensionala</strong> - + <strong>Select a partition to install on</strong> <strong>Seleccione unha partición para instalar</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Non foi posible atopar unha partición de sistema de tipo EFI. Por favor, volva atrás e empregue a opción de particionado manual para crear unha en %1. - + The EFI system partition at %1 will be used for starting %2. A partición EFI do sistema en %1 será usada para iniciar %2. - + EFI system partition: Partición EFI do sistema: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esta unidade de almacenamento non semella ter un sistema operativo instalado nela. Que desexa facer?<br/>Poderá revisar e confirmar as súas eleccións antes de que calquera cambio sexa feito na unidade de almacenamento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Borrar disco</strong><br/>Esto <font color="red">eliminará</font> todos os datos gardados na unidade de almacenamento seleccionada. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. A unidade de almacenamento ten %1 nela. Que desexa facer?<br/>Poderá revisar e confirmar a súa elección antes de que se aplique algún cambio á unidade. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar a carón</strong><br/>O instalador encollerá a partición para facerlle sitio a %1 - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Substituír a partición</strong><br/>Substitúe a partición con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esta unidade de almacenamento xa ten un sistema operativo instalado nel. Que desexa facer?<br/>Poderá revisar e confirmar as súas eleccións antes de que calquera cambio sexa feito na unidade de almacenamento - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Esta unidade de almacenamento ten múltiples sistemas operativos instalados nela. Que desexa facer?<br/>Poderá revisar e confirmar as súas eleccións antes de que calquera cambio sexa feito na unidade de almacenamento. @@ -534,7 +545,7 @@ O instalador pecharase e perderanse todos os cambios. ContextualProcessJob - + Contextual Processes Job @@ -572,12 +583,17 @@ O instalador pecharase e perderanse todos os cambios. Sistema de ficheiros: - + + LVM LV name + + + + Flags: Bandeiras: - + &Mount Point: Punto de &montaxe: @@ -587,27 +603,27 @@ O instalador pecharase e perderanse todos os cambios. &Tamaño: - + En&crypt Encriptar - + Logical Lóxica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Punto de montaxe xa en uso. Faga o favor de escoller outro @@ -615,45 +631,25 @@ O instalador pecharase e perderanse todos os cambios. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Crear unha nova partición de %2 MB en %4 (%3) empregando o sistema de arquivos %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Crear unha nova partición de <strong>%2 MB</strong> en <strong>%4<7strong>(%3) empregando o sistema de arquivos <strong>%1</strong>. - + Creating new %1 partition on %2. Creando unha nova partición %1 en %2. - + The installer failed to create partition on disk '%1'. O instalador fallou ó crear a partición no disco '%1'. - - - Could not open device '%1'. - Non se pode abrir o dispositivo '%1'. - - - - Could not open partition table. - Non se pode abrir a táboa de particións. - - - - The installer failed to create file system on partition %1. - O instalador errou ó crear o sistema de arquivos na partición %1. - - - - The installer failed to update partition table on disk '%1'. - O instalador fallou ó actualizar a táboa de particións no disco '%1'. - CreatePartitionTableDialog @@ -686,30 +682,25 @@ O instalador pecharase e perderanse todos os cambios. CreatePartitionTableJob - + Create new %1 partition table on %2. Crear unha nova táboa de particións %1 en %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Crear unha nova táboa de particións %1 en <strong>%2</strong>(%3) - + Creating new %1 partition table on %2. Creando nova táboa de partición %1 en %2. - + The installer failed to create a partition table on %1. O instalador fallou ó crear a táboa de partición en %1. - - - Could not open device %1. - Non foi posíbel abrir o dispositivo %1. - CreateUserJob @@ -782,17 +773,17 @@ O instalador pecharase e perderanse todos os cambios. DeletePartitionJob - + Delete partition %1. Eliminar partición %1. - + Delete partition <strong>%1</strong>. Eliminar partición <strong>%1</strong>. - + Deleting partition %1. Eliminando partición %1 @@ -801,21 +792,6 @@ O instalador pecharase e perderanse todos os cambios. The installer failed to delete partition %1. O instalador fallou ó eliminar a partición %1 - - - Partition (%1) and device (%2) do not match. - A partición (%1) e o dispositivo (%2) non coinciden - - - - Could not open device %1. - Non foi posíbel abrir o dispositivo %1. - - - - Could not open partition table. - Non se pode abrir a táboa de particións. - DeviceInfoWidget @@ -973,37 +949,37 @@ O instalador pecharase e perderanse todos os cambios. FillGlobalStorageJob - + Set partition information Poñela información da partición - + Install %1 on <strong>new</strong> %2 system partition. Instalar %1 nunha <strong>nova</strong> partición do sistema %2 - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Configure unha <strong>nova</strong> partición %2 con punto de montaxe <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instalar %2 na partición do sistema %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Configurala partición %3 <strong>%1</strong> con punto de montaxe <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalar o cargador de arranque en <strong>%1</strong>. - + Setting up mount points. Configuralos puntos de montaxe. @@ -1016,7 +992,12 @@ O instalador pecharase e perderanse todos os cambios. Formulario - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Reiniciar agora. @@ -1052,45 +1033,25 @@ O instalador pecharase e perderanse todos os cambios. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formato da partición %1 (sistema de ficheiros: %2, tamaño: %3 MB) en %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formato <strong>%3MB</strong> partición <strong>%1</strong> con sistema de ficheiros <strong>%2</strong>. - + Formatting partition %1 with file system %2. Dando formato a %1 con sistema de ficheiros %2. - + The installer failed to format partition %1 on disk '%2'. O instalador fallou cando formateaba a partición %1 no disco '%2'. - - - Could not open device '%1'. - Non se pode abrir o dispositivo '%1'. - - - - Could not open partition table. - Non se pode abrir a táboa de particións. - - - - The installer failed to create file system on partition %1. - O instalador errou ó crear o sistema de arquivos na partición %1. - - - - The installer failed to update partition table on disk '%1'. - O instalador fallou ó actualizar a táboa de particións no disco '%1'. - InteractiveTerminalPage @@ -1533,7 +1494,7 @@ O instalador pecharase e perderanse todos os cambios. - + Are you sure you want to create a new partition table on %1? @@ -1690,22 +1651,22 @@ O instalador pecharase e perderanse todos os cambios. - + unknown - + extended - + unformatted - + swap @@ -1922,24 +1883,24 @@ O instalador pecharase e perderanse todos os cambios. Configurar modelo de teclado a %1, distribución a %2-%3 - + Failed to write keyboard configuration for the virtual console. Houbo un fallo ao escribir a configuración do teclado para a consola virtual. - - - + + + Failed to write to %1 Non pode escribir en %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2108,6 +2069,14 @@ O instalador pecharase e perderanse todos os cambios. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2342,7 +2311,7 @@ O instalador pecharase e perderanse todos os cambios. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index c4b21b5cc..d9d6e5b2b 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index 504da640b..c8f4dae96 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -122,68 +122,6 @@ Running command %1 %2 מריץ פקודה %1 %2 - - - External command crashed - פקודה חיצונית קרסה - - - - Command %1 crashed. -Output: -%2 - פקודה %1 קרסה. -פלט: -%2 - - - - External command failed to start - הרצת פקודה חיצונית כשלה - - - - Command %1 failed to start. - הרצת פקודה %1 כשלה. - - - - Internal error when starting command - שגיאה פנימית בעת התחלת הרצת הפקודה - - - - Bad parameters for process job call. - פרמטרים לא תקינים עבור קריאת עיבוד פעולה. - - - - External command failed to finish - הרצת פקודה חיצונית לא הצליחה להסתיים - - - - Command %1 failed to finish in %2s. -Output: -%3 - פקודה %1 לא הצליחה להסתיים ב %2 שניות. -פלט: -%3 - - - - External command finished with errors - פקודה חיצונית הסתיימה עם שגיאות - - - - Command %1 finished with exit code %2. -Output: -%3 - פקודה %1 הסתיימה עם קוד יציאה %2. -פלט: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &בטל - + Cancel installation without changing the system. בטל התקנה ללא ביצוע שינוי במערכת. - + Cancel installation? בטל את ההתקנה? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. האם אתה בטוח שברצונך לבטל את תהליך ההתקנה? אשף ההתקנה ייסגר וכל השינויים יאבדו. - + &Yes &כן - + &No &לא - + &Close &סגור - + Continue with setup? המשך עם הליך ההתקנה? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> אשף ההתקנה של %1 הולך לבצע שינויים בכונן שלך לטובת התקנת %2.<br/><strong>לא תוכל לבטל את השינויים הללו.</strong> - + &Install now &התקן כעת - + Go &back &אחורה - + &Done &בוצע - + The installation is complete. Close the installer. תהליך ההתקנה הושלם. אנא סגור את אשף ההתקנה. - + Error שגיאה - + Installation Failed ההתקנה נכשלה @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. שגיאת Python לא ניתנת לאחזור. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + פרמטרים לא תקינים עבור קריאת עיבוד פעולה. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer אשף התקנה של %1 - + Show debug information הצג מידע על ניפוי שגיאות @@ -392,12 +403,12 @@ The installer will quit and all changes will be lost. <strong>הגדרת מחיצות באופן ידני</strong><br/>תוכל ליצור או לשנות את גודל המחיצות בעצמך. - + Boot loader location: מיקום מנהל אתחול המערכת: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 תוקטן ל %2 MB ומחיצה חדשה בגודל %3 MB תיווצר עבור %4. @@ -408,83 +419,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: נוכחי: - + Reuse %1 as home partition for %2. השתמש ב %1 כמחיצת הבית, home, עבור %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>בחר מחיצה לכיווץ, לאחר מכן גרור את הסרגל התחתון בכדי לשנות את גודלה</strong> - + <strong>Select a partition to install on</strong> <strong>בחר מחיצה בכדי לבצע את ההתקנה עליה</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. מחיצת מערכת EFI לא נמצאה במערכת. אנא חזור והשתמש ביצירת מחיצות באופן ידני בכדי להגדיר את %1. - + The EFI system partition at %1 will be used for starting %2. מחיצת מערכת EFI ב %1 תשמש עבור טעינת %2. - + EFI system partition: מחיצת מערכת EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. לא נמצאה מערכת הפעלה על התקן אחסון זה. מה ברצונך לעשות?<br/> תוכל לסקור ולאשר את בחירתך לפני ששינויים יתבצעו על התקן האחסון. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>מחק כונן</strong><br/> פעולה זו <font color="red">תמחק</font> את כל המידע השמור על התקן האחסון הנבחר. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. נמצא %1 על התקן אחסון זה. מה ברצונך לעשות?<br/> תוכל לסקור ולאשר את בחירתך לפני ששינויים יתבצעו על התקן האחסון. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>התקן לצד</strong><br/> אשף ההתקנה יכווץ מחיצה בכדי לפנות מקום עבור %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>החלף מחיצה</strong><br/> מבצע החלפה של המחיצה עם %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. מערכת הפעלה קיימת על התקן האחסון הזה. מה ברצונך לעשות?<br/> תוכל לסקור ולאשר את בחירתך לפני ששינויים יתבצעו על התקן האחסון. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. מערכות הפעלה מרובות קיימות על התקן אחסון זה. מה ברצונך לעשות? <br/>תוכל לסקור ולאשר את בחירתך לפני ששינויים יתבצעו על התקן האחסון. @@ -533,7 +544,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ The installer will quit and all changes will be lost. מ&ערכת קבצים - + + LVM LV name + + + + Flags: סימונים: - + &Mount Point: נקודת &עיגון: @@ -586,27 +602,27 @@ The installer will quit and all changes will be lost. גו&דל: - + En&crypt ה&צפן - + Logical לוגי - + Primary ראשי - + GPT GPT - + Mountpoint already in use. Please select another one. נקודת העיגון בשימוש. אנא בחר נקודת עיגון אחרת. @@ -614,45 +630,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. צור מחיצה חדשה בגודל %2 MB על %4 (%3) עם מערכת קבצים %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. צור מחיצה חדשה בגודל <strong>%2 MB</strong> על <strong>%4</strong> (%3) עם מערכת קבצים <strong>%1</strong>. - + Creating new %1 partition on %2. מגדיר מחיצה %1 חדשה על %2. - + The installer failed to create partition on disk '%1'. אשף ההתקנה נכשל ביצירת מחיצה על כונן '%1'. - - - Could not open device '%1'. - לא ניתן לפתוח את התקן '%1'. - - - - Could not open partition table. - לא ניתן לפתוח את טבלת המחיצות. - - - - The installer failed to create file system on partition %1. - אשף ההתקנה נכשל בעת יצירת מערכת הקבצים על מחיצה %1. - - - - The installer failed to update partition table on disk '%1'. - אשף ההתקנה נכשל בעת עדכון טבלת המחיצות על כונן '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. צור טבלת מחיצות %1 חדשה על %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). צור טבלת מחיצות <strong>%1</strong> חדשה על <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. יוצר טבלת מחיצות %1 חדשה על %2. - + The installer failed to create a partition table on %1. אשף ההתקנה נכשל בעת יצירת טבלת המחיצות על %1. - - - Could not open device %1. - לא ניתן לפתוח את התקן %1. - CreateUserJob @@ -781,17 +772,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. מחק את מחיצה %1. - + Delete partition <strong>%1</strong>. מחק את מחיצה <strong>%1</strong>. - + Deleting partition %1. מבצע מחיקה של מחיצה %1. @@ -800,21 +791,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. אשף ההתקנה נכשל בעת מחיקת מחיצה %1. - - - Partition (%1) and device (%2) do not match. - מחיצה (%1) והתקן (%2) לא תואמים. - - - - Could not open device %1. - לא ניתן לפתוח את התקן %1. - - - - Could not open partition table. - לא ניתן לפתוח את טבלת המחיצות. - DeviceInfoWidget @@ -972,37 +948,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information הגדר מידע עבור המחיצה - + Install %1 on <strong>new</strong> %2 system partition. התקן %1 על מחיצת מערכת %2 <strong>חדשה</strong>. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. הגדר מחיצת מערכת %2 <strong>חדשה</strong>בעלת נקודת עיגון <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. התקן %2 על מחיצת מערכת %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. התקן מחיצה %3 <strong>%1</strong> עם נקודת עיגון <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. התקן מנהל אתחול מערכת על <strong>%1</strong>. - + Setting up mount points. מגדיר נקודות עיגון. @@ -1015,7 +991,12 @@ The installer will quit and all changes will be lost. Form - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &אתחל כעת @@ -1051,45 +1032,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. אתחל מחיצה %1 (מערכת קבצים: %2, גודל: %3 MB) על %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. אתחול מחיצה <strong>%1</strong> בגודל <strong>%3 MB</strong> עם מערכת קבצים <strong>%2</strong>. - + Formatting partition %1 with file system %2. מאתחל מחיצה %1 עם מערכת קבצים %2. - + The installer failed to format partition %1 on disk '%2'. אשף ההתקנה נכשל בעת אתחול המחיצה %1 על כונן '%2'. - - - Could not open device '%1'. - לא ניתן לפתוח את התקן '%1'. - - - - Could not open partition table. - לא ניתן לפתוח את טבלת המחיצות. - - - - The installer failed to create file system on partition %1. - אשף ההתקנה נכשל בעת יצירת מערכת הקבצים על מחיצה %1. - - - - The installer failed to update partition table on disk '%1'. - אשף ההתקנה נכשל בעת עדכון טבלת המחיצות על כונן '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ The installer will quit and all changes will be lost. התקן &מנהל אתחול מערכת על: - + Are you sure you want to create a new partition table on %1? האם אתה בטוח שברצונך ליצור טבלת מחיצות חדשה על %1? @@ -1689,22 +1650,22 @@ The installer will quit and all changes will be lost. ברירת מחדל - + unknown לא מוכר/ת - + extended מורחב/ת - + unformatted לא מאותחל/ת - + swap דפדוף, swap @@ -1921,24 +1882,24 @@ The installer will quit and all changes will be lost. הגדר דגם מקלדת ל %1, פריסת לוח מקשים ל %2-%3 - + Failed to write keyboard configuration for the virtual console. נכשלה כתיבת הגדרת מקלדת למסוף הוירטואלי. - - - + + + Failed to write to %1 נכשלה כתיבה ל %1 - + Failed to write keyboard configuration for X11. נכשלה כתיבת הגדרת מקלדת עבור X11. - + Failed to write keyboard configuration to existing /etc/default directory. נכשלה כתיבת הגדרת מקלדת לתיקיה קיימת /etc/default. @@ -2107,6 +2068,14 @@ The installer will quit and all changes will be lost. לא ניתן לפתוח את /etc/timezone לכתיבה + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,8 +2310,8 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>עבור %3</strong><br/><br/>זכויות יוצרים 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>זכויות יוצרים 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>תודות ל: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg ול<a href="https://www.transifex.com/calamares/calamares/">צוות התרגום של Calamares</a>.<br/><br/>פיתוח <a href="http://calamares.io/">Calamares</a> בחסות <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - משחררים תוכנה. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index a7c4083bc..667f853d4 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index 8ab780cf6..ef8db9dbb 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -122,68 +122,6 @@ Running command %1 %2 Izvršavam naredbu %1 %2 - - - External command crashed - Vanjska naredba je prekinula s radom - - - - Command %1 crashed. -Output: -%2 - Naredba %1 je prekinula s radom. -Izlaz: -%2 - - - - External command failed to start - Vanjska naredba nije uspješno pokrenuta - - - - Command %1 failed to start. - Naredba %1 nije uspješno pokrenuta. - - - - Internal error when starting command - Unutrašnja greška pri pokretanju naredbe - - - - Bad parameters for process job call. - Krivi parametri za proces poziva posla. - - - - External command failed to finish - Vanjska naredba se nije uspjela izvršiti - - - - Command %1 failed to finish in %2s. -Output: -%3 - Naredba %1 se nije uspjela izvršiti za %2s. -Izlaz: -%3 - - - - External command finished with errors - Vanjska naredba je završila sa pogreškama - - - - Command %1 finished with exit code %2. -Output: -%3 - Naredba %1 je završila sa izlaznim kodom %2. -Izlaz: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Izlaz: - + &Cancel &Odustani - + Cancel installation without changing the system. Odustanite od instalacije bez promjena na sustavu. - + Cancel installation? Prekinuti instalaciju? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Stvarno želite prekinuti instalacijski proces? Instalacijski program će izaći i sve promjene će biti izgubljene. - + &Yes &Da - + &No &Ne - + &Close &Zatvori - + Continue with setup? Nastaviti s postavljanjem? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 instalacijski program će napraviti promjene na disku kako bi instalirao %2.<br/><strong>Nećete moći vratiti te promjene.</strong> - + &Install now &Instaliraj sada - + Go &back Idi &natrag - + &Done &Gotovo - + The installation is complete. Close the installer. Instalacija je završena. Zatvorite instalacijski program. - + Error Greška - + Installation Failed Instalacija nije uspjela @@ -333,15 +271,90 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Nedohvatljiva Python greška. + + CalamaresUtils::CommandList + + + Could not run command. + Ne mogu pokrenuti naredbu. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + Nije definirana root točka montiranja tako da se naredba ne može izvršiti na ciljanoj okolini. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Izlaz: + + + + + External command crashed. + Vanjska naredba je prekinula s radom. + + + + Command <i>%1</i> crashed. + Naredba <i>%1</i> je prekinula s radom. + + + + External command failed to start. + Vanjska naredba nije uspješno pokrenuta. + + + + Command <i>%1</i> failed to start. + Naredba <i>%1</i> nije uspješno pokrenuta. + + + + Internal error when starting command. + Unutrašnja greška pri pokretanju naredbe. + + + + Bad parameters for process job call. + Krivi parametri za proces poziva posla. + + + + External command failed to finish. + Vanjska naredba se nije uspjela izvršiti. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Naredba <i>%1</i> nije uspjela završiti za %2 sekundi. + + + + External command finished with errors. + Vanjska naredba je završila sa pogreškama. + + + + Command <i>%1</i> finished with exit code %2. + Naredba <i>%1</i> je završila sa izlaznim kodom %2. + + CalamaresWindow - + %1 Installer %1 Instalacijski program - + Show debug information Prikaži debug informaciju @@ -392,12 +405,12 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.<strong>Ručno particioniranje</strong><br/>Možete sami stvoriti ili promijeniti veličine particija. - + Boot loader location: Lokacija boot učitavača: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 će se smanjiti na %2MB i stvorit će se nova %3MB particija za %4. @@ -408,83 +421,83 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. - - - + + + Current: Trenutni: - + Reuse %1 as home partition for %2. Koristi %1 kao home particiju za %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Odaberite particiju za smanjivanje, te povlačenjem donjeg pokazivača odaberite promjenu veličine</strong> - + <strong>Select a partition to install on</strong> <strong>Odaberite particiju za instalaciju</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. EFI particija ne postoji na ovom sustavu. Vratite se natrag i koristite ručno particioniranje da bi ste postavili %1. - + The EFI system partition at %1 will be used for starting %2. EFI particija na %1 će se koristiti za pokretanje %2. - + EFI system partition: EFI particija: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Izgleda da na ovom disku nema operacijskog sustava. Što želite učiniti?<br/>Moći ćete provjeriti i potvrditi vaš odabir prije bilo kakvih promjena na disku. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Obriši disk</strong><br/>To će <font color="red">obrisati</font> sve podatke na odabranom disku. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ovaj disk ima %1. Što želite učiniti?<br/>Moći ćete provjeriti i potvrditi vaš odabir prije bilo kakvih promjena na disku. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instaliraj uz postojeće</strong><br/>Instalacijski program će smanjiti particiju da bi napravio mjesto za %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Zamijeni particiju</strong><br/>Zamijenjuje particiju sa %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ovaj disk već ima operacijski sustav. Što želite učiniti?<br/>Moći ćete provjeriti i potvrditi vaš odabir prije bilo kakvih promjena na disku. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ovaj disk ima više operacijskih sustava. Što želite učiniti?<br/>Moći ćete provjeriti i potvrditi vaš odabir prije bilo kakvih promjena na disku. @@ -533,7 +546,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. ContextualProcessJob - + Contextual Processes Job Posao kontekstualnih procesa @@ -571,12 +584,17 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Da&totečni sustav: - + + LVM LV name + LVM LV ime + + + Flags: Oznake: - + &Mount Point: &Točke montiranja: @@ -586,27 +604,27 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Ve&ličina: - + En&crypt Ši&friraj - + Logical Logično - + Primary Primarno - + GPT GPT - + Mountpoint already in use. Please select another one. Točka montiranja se već koristi. Odaberite drugu. @@ -614,45 +632,25 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Stvori novu %2MB particiju na %4 (%3) s datotečnim sustavom %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Stvori novu <strong>%2MB</strong> particiju na <strong>%4</strong> (%3) s datotečnim sustavom <strong>%1</strong>. - + Creating new %1 partition on %2. Stvaram novu %1 particiju na %2. - + The installer failed to create partition on disk '%1'. Instalacijski program nije uspio stvoriti particiju na disku '%1'. - - - Could not open device '%1'. - Ne mogu otvoriti uređaj '%1'. - - - - Could not open partition table. - Ne mogu otvoriti particijsku tablicu. - - - - The installer failed to create file system on partition %1. - Instalacijski program nije uspio stvoriti datotečni sustav na particiji %1. - - - - The installer failed to update partition table on disk '%1'. - Instalacijski program nije uspio nadograditi particijsku tablicu na disku '%1'. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. CreatePartitionTableJob - + Create new %1 partition table on %2. Stvori novu %1 particijsku tablicu na %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Stvori novu <strong>%1</strong> particijsku tablicu na <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Stvaram novu %1 particijsku tablicu na %2. - + The installer failed to create a partition table on %1. Instalacijski program nije uspio stvoriti particijsku tablicu na %1. - - - Could not open device %1. - Ne mogu otvoriti uređaj %1. - CreateUserJob @@ -781,17 +774,17 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. DeletePartitionJob - + Delete partition %1. Obriši particiju %1. - + Delete partition <strong>%1</strong>. Obriši particiju <strong>%1</strong>. - + Deleting partition %1. Brišem particiju %1. @@ -800,21 +793,6 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.The installer failed to delete partition %1. Instalacijski program nije uspio izbrisati particiju %1. - - - Partition (%1) and device (%2) do not match. - Particija (%1) i uređaj (%2) se ne poklapaju. - - - - Could not open device %1. - Ne mogu otvoriti uređaj %1. - - - - Could not open partition table. - Ne mogu otvoriti particijsku tablicu. - DeviceInfoWidget @@ -972,37 +950,37 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. FillGlobalStorageJob - + Set partition information Postavi informacije o particiji - + Install %1 on <strong>new</strong> %2 system partition. Instaliraj %1 na <strong>novu</strong> %2 sistemsku particiju. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Postavi <strong>novu</strong> %2 particiju s točkom montiranja <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instaliraj %2 na %3 sistemsku particiju <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Postavi %3 particiju <strong>%1</strong> s točkom montiranja <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instaliraj boot učitavač na <strong>%1</strong>. - + Setting up mount points. Postavljam točke montiranja. @@ -1015,7 +993,12 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Oblik - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Kada je odabrana ova opcija, vaš sustav će se ponovno pokrenuti kada kliknete na <span style=" font-style:italic;">Gotovo</span> ili zatvorite instalacijski program.</p></body></html> + + + &Restart now &Ponovno pokreni sada @@ -1051,45 +1034,25 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatiraj particiju %1 (datotečni sustav: %2, veličina: %3 MB) na %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatiraj <strong>%3MB</strong>particiju <strong>%1</strong> na datotečni sustav <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatiraj particiju %1 na datotečni sustav %2. - + The installer failed to format partition %1 on disk '%2'. Instalacijski program nije uspio formatirati particiju %1 na disku '%2'. - - - Could not open device '%1'. - Ne mogu otvoriti uređaj '%1'. - - - - Could not open partition table. - Ne mogu otvoriti particijsku tablicu. - - - - The installer failed to create file system on partition %1. - Instalacijski program nije uspio stvoriti datotečni sustav na particiji %1. - - - - The installer failed to update partition table on disk '%1'. - Instalacijski program nije uspio nadograditi particijsku tablicu na disku '%1'. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Instaliraj boot &učitavač na: - + Are you sure you want to create a new partition table on %1? Jeste li sigurni da želite stvoriti novu particijsku tablicu na %1? @@ -1689,22 +1652,22 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Zadano - + unknown nepoznato - + extended prošireno - + unformatted nije formatirano - + swap swap @@ -1921,24 +1884,24 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Postavi model tpkovnice na %1, raspored na %2-%3 - + Failed to write keyboard configuration for the virtual console. Neuspješno pisanje konfiguracije tipkovnice za virtualnu konzolu. - - - + + + Failed to write to %1 Neuspješno pisanje na %1 - + Failed to write keyboard configuration for X11. Neuspješno pisanje konfiguracije tipkovnice za X11. - + Failed to write keyboard configuration to existing /etc/default directory. Neuspješno pisanje konfiguracije tipkovnice u postojeći /etc/default direktorij. @@ -2046,7 +2009,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. rootMountPoint is %1 - rootTočkaMontiranja je %1 + Root točka montiranja je %1 @@ -2107,6 +2070,14 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Ne mogu otvoriti /etc/timezone za pisanje + + ShellProcessJob + + + Shell Processes Job + Posao shell procesa + + SummaryPage @@ -2341,8 +2312,8 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>za %3</strong><br/><br/>Autorska prava 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorska prava 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Zahvale: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg i <a href="https://www.transifex.com/calamares/calamares/">Calamares timu za prevođenje</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> sponzorira <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>za %3</strong><br/><br/>Autorska prava 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorska prava 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Zahvale: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg i <a href="https://www.transifex.com/calamares/calamares/">Calamares timu za prevođenje</a>.<br/><br/><a href="https://calamares.io/">Calamares sponzorira <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index e0a6d5f58..d659f52d8 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -122,68 +122,6 @@ Running command %1 %2 Parancs futtatása %1 %2 - - - External command crashed - Külső parancs összeomlott - - - - Command %1 crashed. -Output: -%2 - Parancs %1 összeomlott. -Kimenet: -%2 - - - - External command failed to start - Külső parancsot nem sikerült elindítani - - - - Command %1 failed to start. - A parancs %1 -et nem sikerült elindítani. - - - - Internal error when starting command - Belső hiba parancs végrehajtásakor - - - - Bad parameters for process job call. - Hibás paraméterek a folyamat hívásához. - - - - External command failed to finish - Külső parancs nem fejeződött be - - - - Command %1 failed to finish in %2s. -Output: -%3 - Parancs %1 nem sikerült befejezni a %2 -ben. -Kimenet: -%3 - - - - External command finished with errors - Külső parancs hibával fejeződött be - - - - Command %1 finished with exit code %2. -Output: -%3 - Parancs %1 befejeződött a kilépési kóddal %2. -Kimenet: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Kimenet: - + &Cancel &Mégse - + Cancel installation without changing the system. Kilépés a telepítőből a rendszer megváltoztatása nélkül. - + Cancel installation? Abbahagyod a telepítést? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Biztos abba szeretnéd hagyni a telepítést? Minden változtatás elveszik, ha kilépsz a telepítőből. - + &Yes &Igen - + &No @Nem - + &Close &Bezár - + Continue with setup? Folytatod a telepítéssel? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> A %1 telepítő változtatásokat fog elvégezni, hogy telepítse a következőt: %2.<br/><strong>A változtatások visszavonhatatlanok lesznek.</strong> - + &Install now &Telepítés most - + Go &back Menj &vissza - + &Done &Befejez - + The installation is complete. Close the installer. A telepítés befejeződött, Bezárhatod a telepítőt. - + Error Hiba - + Installation Failed Telepítés nem sikerült @@ -333,15 +271,88 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Összehasonlíthatatlan Python hiba. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Hibás paraméterek a folyamat hívásához. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Telepítő - + Show debug information Hibakeresési információk mutatása @@ -393,12 +404,12 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l <strong>Manuális partícionálás</strong><br/>Létrehozhat vagy átméretezhet partíciókat. - + Boot loader location: Rendszerbetöltő helye: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 lesz zsugorítva %2MB méretűre és egy új %3MB méretű partíció lesz létrehozva itt %4 @@ -409,83 +420,83 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l - - - + + + Current: Aktuális: - + Reuse %1 as home partition for %2. %1 partíció használata mint home partíció a %2 -n - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Válaszd ki a partíciót amit zsugorítani akarsz és egérrel méretezd át.</strong> - + <strong>Select a partition to install on</strong> <strong>Válaszd ki a telepítésre szánt partíciót </strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nem található EFI partíció a rendszeren. Menj vissza a manuális partícionáláshoz és állíts be %1. - + The EFI system partition at %1 will be used for starting %2. A %1 EFI rendszer partíció lesz használva %2 indításához. - + EFI system partition: EFI rendszerpartíció: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Úgy tűnik ezen a tárolóeszközön nincs operációs rendszer. Mit szeretnél csinálni?<br/>Lehetőséged lesz átnézni és megerősíteni a választásod mielőtt bármilyen változtatás történik a tárolóeszközön. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Lemez törlése</strong><br/>Ez <font color="red">törölni</font> fogja a lemezen levő összes adatot. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ezen a tárolóeszközön %1 található. Mit szeretnél tenni?<br/>Lehetőséged lesz átnézni és megerősíteni a választásod mielőtt bármilyen változtatás történik a tárolóeszközön. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Meglévő mellé telepíteni</strong><br/>A telepítő zsugorítani fogja a partíciót, hogy elférjen a %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>A partíció lecserélése</strong> a következővel: %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Ez a tárolóeszköz már tartalmaz egy operációs rendszert. Mit szeretnél tenni?<br/>Lehetőséged lesz átnézni és megerősíteni a választásod mielőtt bármilyen változtatás történik a tárolóeszközön. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. A tárolóeszközön több operációs rendszer található. Mit szeretnél tenni?<br/>Lehetőséged lesz átnézni és megerősíteni a választásod mielőtt bármilyen változtatás történik a tárolóeszközön. @@ -534,7 +545,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l ContextualProcessJob - + Contextual Processes Job @@ -572,12 +583,17 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Fájlrendszer: - + + LVM LV name + + + + Flags: Zászlók: - + &Mount Point: &Csatolási pont: @@ -587,27 +603,27 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Mé&ret: - + En&crypt Titkosítás - + Logical Logikai - + Primary Elsődleges - + GPT GPT - + Mountpoint already in use. Please select another one. A csatolási pont már használatban van. Kérlek, válassz másikat. @@ -615,45 +631,25 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Új %2MB- os partíció létrehozása a %4 (%3) eszközön %1 fájlrendszerrel. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Új <strong>%2MB</strong>- os partíció létrehozása a </strong>%4</strong> (%3) eszközön <strong>%1</strong> fájlrendszerrel. - + Creating new %1 partition on %2. Új %1 partíció létrehozása a következőn: %2. - + The installer failed to create partition on disk '%1'. A telepítő nem tudta létrehozni a partíciót ezen a lemezen '%1'. - - - Could not open device '%1'. - Nem sikerült az eszköz megnyitása '%1'. - - - - Could not open partition table. - Nem sikerült a partíciós tábla megnyitása. - - - - The installer failed to create file system on partition %1. - A telepítő nem tudta létrehozni a fájlrendszert a %1 partíción. - - - - The installer failed to update partition table on disk '%1'. - A telepítő nem tudta frissíteni a partíciós táblát a %1 lemezen. - CreatePartitionTableDialog @@ -686,30 +682,25 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l CreatePartitionTableJob - + Create new %1 partition table on %2. Új %1 partíciós tábla létrehozása a következőn: %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Új <strong>%1 </strong> partíciós tábla létrehozása a következőn: <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Új %1 partíciós tábla létrehozása a következőn: %2. - + The installer failed to create a partition table on %1. A telepítőnek nem sikerült létrehoznia a partíciós táblát a lemezen %1. - - - Could not open device %1. - Nem sikerült megnyitni a %1 eszközt. - CreateUserJob @@ -782,17 +773,17 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l DeletePartitionJob - + Delete partition %1. %1 partíció törlése - + Delete partition <strong>%1</strong>. A következő partíció törlése: <strong>%1</strong>. - + Deleting partition %1. %1 partíció törlése @@ -801,21 +792,6 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l The installer failed to delete partition %1. A telepítő nem tudta törölni a %1 partíciót. - - - Partition (%1) and device (%2) do not match. - A (%1) nevű partíció és a (%2) nevű eszköz között nincs egyezés. - - - - Could not open device %1. - Nem sikerült megnyitni a %1 eszközt. - - - - Could not open partition table. - Nem sikerült a partíciós tábla megnyitása. - DeviceInfoWidget @@ -973,37 +949,37 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l FillGlobalStorageJob - + Set partition information Partíció információk beállítása - + Install %1 on <strong>new</strong> %2 system partition. %1 telepítése az <strong>új</strong> %2 partícióra. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. <strong>Új</strong> %2 partíció beállítása <strong>%1</strong> csatolási ponttal. - + Install %2 on %3 system partition <strong>%1</strong>. %2 telepítése %3 <strong>%1</strong> rendszer partícióra. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. %3 partíció beállítása <strong>%1</strong> <strong>%2</strong> csatolási ponttal. - + Install boot loader on <strong>%1</strong>. Rendszerbetöltő telepítése ide <strong>%1</strong>. - + Setting up mount points. Csatlakozási pontok létrehozása @@ -1016,7 +992,12 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Adatlap - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now $Újraindítás most @@ -1052,45 +1033,25 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Partíció formázása %1 (fájlrendszer: %2, méret: %3 MB) a %4 -on. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. <strong>%3MB</strong> partíció formázása <strong>%1</strong> a következő fájlrendszerrel <strong>%2</strong>. - + Formatting partition %1 with file system %2. %1 partíció formázása %2 fájlrendszerrel. - + The installer failed to format partition %1 on disk '%2'. A telepítő nem tudta formázni a %1 partíciót a %2 lemezen. - - - Could not open device '%1'. - Nem sikerült megnyitni a %1 eszközt. - - - - Could not open partition table. - Nem sikerült a partíciós tábla megnyitása. - - - - The installer failed to create file system on partition %1. - A telepítő nem tudta létrehozni a fájlrendszert a %1 partíción. - - - - The installer failed to update partition table on disk '%1'. - A telepítő nem tudta frissíteni a partíciós táblát a %1 lemezen. - InteractiveTerminalPage @@ -1533,7 +1494,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l &Rendszerbetöltő telepítése ide: - + Are you sure you want to create a new partition table on %1? Biztos vagy benne, hogy létrehozol egy új partíciós táblát itt %1 ? @@ -1690,22 +1651,22 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Alapértelmezett - + unknown ismeretlen - + extended kiterjesztett - + unformatted formázatlan - + swap Swap @@ -1922,24 +1883,24 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Billentyűzet beállítása %1, elrendezés %2-%3 - + Failed to write keyboard configuration for the virtual console. Hiba történt a billentyűzet virtuális konzolba való beállításakor - - - + + + Failed to write to %1 Hiba történt %1 -re történő íráskor - + Failed to write keyboard configuration for X11. Hiba történt a billentyűzet X11- hez való beállításakor - + Failed to write keyboard configuration to existing /etc/default directory. Hiba történt a billentyűzet konfiguráció alapértelmezett /etc/default mappába valló elmentésekor. @@ -2108,6 +2069,14 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Nem lehet megnyitni írásra: /etc/timezone + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2343,9 +2312,8 @@ Calamares hiba %1. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Minden jog fenntartva 2014-2017 Teo Mrnjavac <teo@kde.org>;<br/>Minden jog fenntartva 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Köszönet: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Philip Müller, Pier Luigi Fiorini and Rohan Garg és a <a href="https://www.transifex.com/calamares/calamares/" Calamares Fordító Csapat/a>. -<br/><a href="http://calamares.io/">Calamares</a> fejlesztés támogatói:<br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index f5595cb6b..5935d12c5 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -122,68 +122,6 @@ Running command %1 %2 Menjalankan perintah %1 %2 - - - External command crashed - Perintah eksternal mogok - - - - Command %1 crashed. -Output: -%2 - Perintah %1 mogok. -Keluaran: -%2 - - - - External command failed to start - Perintah eksternal gagal dijalankan - - - - Command %1 failed to start. - Perintah %1 gagal dijalankan. - - - - Internal error when starting command - Terjadi kesalahan internal saat menjalankan perintah - - - - Bad parameters for process job call. - Parameter buruk untuk memproses panggilan tugas, - - - - External command failed to finish - Perintah eksternal gagal diselesaikan - - - - Command %1 failed to finish in %2s. -Output: -%3 - Perintah %1 gagal diselesaikan dalam %2s. -Keluaran: -%3 - - - - External command finished with errors - Perintah eksternal diselesaikan dengan kesalahan - - - - Command %1 finished with exit code %2. -Output: -%3 - Perintah %1 diselesaikan dengan kode keluar %2. -Keluaran: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Keluaran: - + &Cancel &Batal - + Cancel installation without changing the system. Batal pemasangan tanpa mengubah sistem yang ada. - + Cancel installation? Batalkan pemasangan? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Apakah Anda benar-benar ingin membatalkan proses pemasangan ini? Pemasangan akan ditutup dan semua perubahan akan hilang. - + &Yes &Ya - + &No &Tidak - + &Close &Tutup - + Continue with setup? Lanjutkan dengan setelan ini? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Pemasang %1 akan membuat perubahan ke disk Anda untuk memasang %2.<br/><strong>Anda tidak dapat membatalkan perubahan tersebut.</strong> - + &Install now &Pasang sekarang - + Go &back &Kembali - + &Done &Kelar - + The installation is complete. Close the installer. Pemasangan sudah lengkap. Tutup pemasang. - + Error Kesalahan - + Installation Failed Pemasangan Gagal @@ -333,15 +271,88 @@ Pemasangan akan ditutup dan semua perubahan akan hilang. Tidak dapat mengambil pesan kesalahan Python. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Parameter buruk untuk memproses panggilan tugas, + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Pemasang %1 - + Show debug information Tampilkan informasi debug @@ -394,12 +405,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.<strong>Pemartisian manual</strong><br/>Anda bisa membuat atau mengubah ukuran partisi. - + Boot loader location: Lokasi Boot loader: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 akan disusutkan menjadi %2MB dan partisi baru %3MB akan dibuat untuk %4. @@ -410,83 +421,83 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. - - - + + + Current: Saat ini: - + Reuse %1 as home partition for %2. Gunakan kembali %1 sebagai partisi home untuk %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Pilih sebuah partisi untuk diiris, kemudian seret bilah di bawah untuk mengubah ukuran</strong> - + <strong>Select a partition to install on</strong> <strong>Pilih sebuah partisi untuk memasang</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Sebuah partisi sistem EFI tidak ditemukan pada sistem ini. Silakan kembali dan gunakan pemartisian manual untuk mengeset %1. - + The EFI system partition at %1 will be used for starting %2. Partisi sistem EFI di %1 akan digunakan untuk memulai %2. - + EFI system partition: Partisi sistem EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Tampaknya media penyimpanan ini tidak mengandung sistem operasi. Apa yang hendak Anda lakukan?<br/>Anda dapat menelaah dan mengkonfirmasi pilihan Anda sebelum dilakukan perubahan pada media penyimpanan. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Hapus disk</strong><br/>Aksi ini akan <font color="red">menghapus</font> semua berkas yang ada pada media penyimpanan terpilih. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Media penyimpanan ini mengandung %1. Apa yang hendak Anda lakukan?<br/>Anda dapat menelaah dan mengkonfirmasi pilihan Anda sebelum dilakukan perubahan pada media penyimpanan. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Pasang berdampingan dengan</strong><br/>Pemasang akan mengiris sebuah partisi untuk memberi ruang bagi %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Ganti sebuah partisi</strong><br/> Ganti partisi dengan %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Media penyimpanan ini telah mengandung sistem operasi. Apa yang hendak Anda lakukan?<br/>Anda dapat menelaah dan mengkonfirmasi pilihan Anda sebelum dilakukan perubahan pada media penyimpanan. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Media penyimpanan ini telah mengandung beberapa sistem operasi. Apa yang hendak Anda lakukan?<br/>Anda dapat menelaah dan mengkonfirmasi pilihan Anda sebelum dilakukan perubahan pada media penyimpanan. @@ -535,7 +546,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. ContextualProcessJob - + Contextual Processes Job @@ -573,12 +584,17 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Sistem Berkas: - + + LVM LV name + + + + Flags: Tanda: - + &Mount Point: &Titik Kait: @@ -588,27 +604,27 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Uku&ran: - + En&crypt Enkripsi - + Logical Logikal - + Primary Utama - + GPT GPT - + Mountpoint already in use. Please select another one. Titik-kait sudah digunakan. Silakan pilih yang lainnya. @@ -616,45 +632,25 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Buat partisi %2MB baru pada %4 (%3) dengan sistem berkas %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Buat <strong>%2MB</strong> partisi baru pada <strong>%4</strong> (%3) dengan sistem berkas <strong>%1</strong>. - + Creating new %1 partition on %2. Membuat partisi %1 baru di %2. - + The installer failed to create partition on disk '%1'. Pemasang gagal untuk membuat partisi di disk '%1'. - - - Could not open device '%1'. - Tidak dapat membuka piranti '%1'. - - - - Could not open partition table. - Tidak dapat membuka tabel partisi. - - - - The installer failed to create file system on partition %1. - Pemasang gagal membuat sistem berkas pada partisi %1. - - - - The installer failed to update partition table on disk '%1'. - Pemasang gagal memperbarui tabel partisi pada disk %1. - CreatePartitionTableDialog @@ -687,30 +683,25 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. CreatePartitionTableJob - + Create new %1 partition table on %2. Membuat tabel partisi %1 baru di %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Membuat tabel partisi <strong>%1</strong> baru di <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Membuat tabel partisi %1 baru di %2. - + The installer failed to create a partition table on %1. Pemasang gagal membuat tabel partisi pada %1. - - - Could not open device %1. - Tidak dapat membuka piranti %1. - CreateUserJob @@ -783,17 +774,17 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. DeletePartitionJob - + Delete partition %1. Hapus partisi %1. - + Delete partition <strong>%1</strong>. Hapus partisi <strong>%1</strong> - + Deleting partition %1. Menghapus partisi %1. @@ -802,21 +793,6 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.The installer failed to delete partition %1. Pemasang gagal untuk menghapus partisi %1. - - - Partition (%1) and device (%2) do not match. - Partisi (%1) dan perangkat (%2) tidak sesuai. - - - - Could not open device %1. - Tidak dapat membuka perangkat %1. - - - - Could not open partition table. - Tidak dapat membuka tabel partisi. - DeviceInfoWidget @@ -974,37 +950,37 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. FillGlobalStorageJob - + Set partition information Tetapkan informasi partisi - + Install %1 on <strong>new</strong> %2 system partition. Pasang %1 pada partisi sistem %2 <strong>baru</strong> - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Setel partisi %2 <strong>baru</strong> dengan tempat kait <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Pasang %2 pada sistem partisi %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Setel partisi %3 <strong>%1</strong> dengan tempat kait <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Pasang boot loader di <strong>%1</strong>. - + Setting up mount points. Menyetel tempat kait. @@ -1017,7 +993,12 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Formulir - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now Mulai ulang seka&rang @@ -1053,45 +1034,25 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Format partisi %1 (sistem berkas: %2, ukuran: %3 MB) pada %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Format <strong>%3MB</strong> partisi <strong>%1</strong> dengan berkas sistem <strong>%2</strong>. - + Formatting partition %1 with file system %2. Memformat partisi %1 dengan sistem berkas %2. - + The installer failed to format partition %1 on disk '%2'. Pemasang gagal memformat partisi %1 pada disk '%2'.'%2'. - - - Could not open device '%1'. - Tidak dapat membuka piranti '%1'. - - - - Could not open partition table. - Tidak dapat membuka tabel partisi. - - - - The installer failed to create file system on partition %1. - Pemasang gagal membuat sistem berkas pada partisi %1. - - - - The installer failed to update partition table on disk '%1'. - Pemasang gagal memperbarui tabel partisi pada disk '%1'. - InteractiveTerminalPage @@ -1534,7 +1495,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Pasang boot %loader pada: - + Are you sure you want to create a new partition table on %1? Apakah Anda yakin ingin membuat tabel partisi baru pada %1? @@ -1691,22 +1652,22 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Standar - + unknown tidak diketahui: - + extended extended - + unformatted tidak terformat: - + swap swap @@ -1923,24 +1884,24 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Model papan ketik ditetapkan ke %1, tata letak ke %2-%3 - + Failed to write keyboard configuration for the virtual console. Gagal menulis konfigurasi keyboard untuk virtual console. - - - + + + Failed to write to %1 Gagal menulis ke %1. - + Failed to write keyboard configuration for X11. Gagal menulis konfigurasi keyboard untuk X11. - + Failed to write keyboard configuration to existing /etc/default directory. Gagal menulis konfigurasi keyboard ke direktori /etc/default yang ada. @@ -2109,6 +2070,14 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Tidak bisa membuka /etc/timezone untuk penulisan + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2343,8 +2312,8 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - %1<br/><strong>%2<br/>untuk %3</strong><br/><br/>Hak Cipta 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Hak Cipta 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Terimakasih kepada: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg dan <a href="https://www.transifex.com/calamares/calamares/">regu penerjemah Calamares</a>.<br/><br/>Pengembangan <a href="http://calamares.io/">Calamares</a> disponsori oleh<br/> <a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 96317f899..5cb3f629e 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -122,68 +122,6 @@ Running command %1 %2 Keyri skipun %1 %2 - - - External command crashed - Ytri skipun hrundi - - - - Command %1 crashed. -Output: -%2 - Skipun %1 hrundi. -Frálag: -%2 - - - - External command failed to start - Ytri skipun ræstist ekki - - - - Command %1 failed to start. - Skipun %1 ræstist ekki. - - - - Internal error when starting command - Innri villa við að ræsa skipun - - - - Bad parameters for process job call. - - - - - External command failed to finish - Ytri skipun lauk ekki - - - - Command %1 failed to finish in %2s. -Output: -%3 - Skipun %1 lauk ekki í %2 -Frálag: -%3 - - - - External command finished with errors - Ytri skipun kláruð með villum - - - - Command %1 finished with exit code %2. -Output: -%3 - Skipun %1 lauk með lokakóða %2 -Frálag: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Frálag: - + &Cancel &Hætta við - + Cancel installation without changing the system. Hætta við uppsetningu ánþess að breyta kerfinu. - + Cancel installation? Hætta við uppsetningu? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Viltu virkilega að hætta við núverandi uppsetningarferli? Uppsetningarforritið mun hætta og allar breytingar tapast. - + &Yes &Já - + &No &Nei - + &Close &Loka - + Continue with setup? Halda áfram með uppsetningu? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 uppsetningarforritið er um það bil að gera breytingar á diskinum til að setja upp %2.<br/><strong>Þú munt ekki geta afturkallað þessar breytingar.</strong> - + &Install now Setja &inn núna - + Go &back Fara til &baka - + &Done &Búið - + The installation is complete. Close the installer. Uppsetning er lokið. Lokaðu uppsetningarforritinu. - + Error Villa - + Installation Failed Uppsetning mistókst @@ -333,15 +271,88 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Ósækjanleg Python villa. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 uppsetningarforrit - + Show debug information Birta villuleitarupplýsingar @@ -392,12 +403,12 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. <strong>Handvirk disksneiðing</strong><br/>Þú getur búið til eða breytt stærð disksneiða sjálf(ur). - + Boot loader location: Staðsetning ræsistjóra - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 verður minnkuð í %2MB og ný %3MB disksneið verður búin til fyrir %4. @@ -408,83 +419,83 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. - - - + + + Current: Núverandi: - + Reuse %1 as home partition for %2. Endurnota %1 sem heimasvæðis disksneið fyrir %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Veldu disksneið til að minnka, dragðu síðan botnstikuna til að breyta stærðinni</strong> - + <strong>Select a partition to install on</strong> <strong>Veldu disksneið til að setja upp á </strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. EFI kerfisdisksneið er hvergi að finna á þessu kerfi. Farðu til baka og notaðu handvirka skiptingu til að setja upp %1. - + The EFI system partition at %1 will be used for starting %2. EFI kerfisdisksneið á %1 mun verða notuð til að ræsa %2. - + EFI system partition: EFI kerfisdisksneið: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Þetta geymslu tæki hefur mörg stýrikerfi á sér. Hvað viltu gera?<br/>Þú verður að vera fær um að yfirfara og staðfesta val þitt áður en breytingar eru gerðar til geymslu tæki. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Eyða disk</strong><br/>Þetta mun <font color="red">eyða</font> öllum gögnum á þessu valdna geymslu tæki. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Þetta geymslu tæki hefur %1 á sér. Hvað viltu gera?<br/>Þú verður að vera fær um að yfirfara og staðfesta val þitt áður en breytingar eru gerðar til geymslu tæki. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Setja upp samhliða</strong><br/>Uppsetningarforritið mun minnka disksneið til að búa til pláss fyrir %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Skipta út disksneið</strong><br/>Skiptir disksneið út með %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Þetta geymslu tæki hefur stýrikerfi á sér. Hvað viltu gera?<br/>Þú verður að vera fær um að yfirfara og staðfesta val þitt áður en breytingar eru gerðar til geymslu tæki. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Þetta geymslu tæki hefur mörg stýrikerfi á sér. Hvað viltu gera?<br/>Þú verður að vera fær um að yfirfara og staðfesta val þitt áður en breytingar eru gerðar til geymslu tæki. @@ -533,7 +544,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Skráa&kerfi: - + + LVM LV name + + + + Flags: Flögg: - + &Mount Point: Tengi&punktur: @@ -586,27 +602,27 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. St&ærð: - + En&crypt &Dulrita - + Logical Rökleg - + Primary Aðal - + GPT GPT - + Mountpoint already in use. Please select another one. Tengipunktur er þegar í notkun. Veldu einhvern annan. @@ -614,45 +630,25 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Búa til nýja %2MB disksneið á %4 (%3) með %1 skráakerfi. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Búa til nýja <strong>%2MB</strong> disksneið á <strong>%4</strong> (%3) með skrár kerfi <strong>%1</strong>. - + Creating new %1 partition on %2. Búa til nýja %1 disksneiðatöflu á %2. - + The installer failed to create partition on disk '%1'. Uppsetningarforritinu mistókst að búa til disksneið á diski '%1'. - - - Could not open device '%1'. - Gat ekki opnað tæki '%1'. - - - - Could not open partition table. - Gat ekki opnað disksneiðatöflu. - - - - The installer failed to create file system on partition %1. - Uppsetningarforritinu mistókst að búa til skráakerfi á disksneið %1. - - - - The installer failed to update partition table on disk '%1'. - Uppsetningarforritinu mistókst að uppfæra disksneið á diski '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. CreatePartitionTableJob - + Create new %1 partition table on %2. Búa til nýja %1 disksneiðatöflu á %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Búa til nýja <strong>%1</strong> disksneiðatöflu á <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Búa til nýja %1 disksneiðatöflu á %2. - + The installer failed to create a partition table on %1. Uppsetningarforritinu mistókst að búa til disksneiðatöflu á diski '%1'. - - - Could not open device %1. - Gat ekki opnað tæki %1. - CreateUserJob @@ -781,17 +772,17 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. DeletePartitionJob - + Delete partition %1. Eyða disksneið %1. - + Delete partition <strong>%1</strong>. Eyða disksneið <strong>%1</strong>. - + Deleting partition %1. Eyði disksneið %1. @@ -800,21 +791,6 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. The installer failed to delete partition %1. Uppsetningarforritinu mistókst að eyða disksneið %1. - - - Partition (%1) and device (%2) do not match. - Disksneið (%1) og tæki (%2) passa ekki saman. - - - - Could not open device %1. - Gat ekki opnað tæki %1. - - - - Could not open partition table. - Gat ekki opnað disksneiðatöflu. - DeviceInfoWidget @@ -972,37 +948,37 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. FillGlobalStorageJob - + Set partition information Setja upplýsingar um disksneið - + Install %1 on <strong>new</strong> %2 system partition. Setja upp %1 á <strong>nýja</strong> %2 disk sneiðingu. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Setja upp <strong>nýtt</strong> %2 snið með tengipunkti <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Setja upp %2 á %3 disk sneiðingu <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Setja upp %3 snið <strong>%1</strong> með tengipunkti <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Setja ræsistjórann upp á <strong>%1</strong>. - + Setting up mount points. Set upp tengipunkta. @@ -1015,7 +991,12 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Eyðublað - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Endurræsa núna @@ -1051,45 +1032,25 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Forsníða disksneið %1 (skráakerfi: %2, stærð: %3 MB) á %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Forsníða <strong>%3MB</strong> disksneið <strong>%1</strong> með <strong>%2</strong> skráakerfinu. - + Formatting partition %1 with file system %2. Forsníða disksneið %1 með %2 skráakerfinu. - + The installer failed to format partition %1 on disk '%2'. Uppsetningarforritinu mistókst að forsníða disksneið %1 á diski '%2'. - - - Could not open device '%1'. - Gat ekki opnað tæki '%1'. - - - - Could not open partition table. - Gat ekki opnað disksneiðatöflu. - - - - The installer failed to create file system on partition %1. - Uppsetningarforritinu mistókst að búa til skráakerfi á disksneið %1. - - - - The installer failed to update partition table on disk '%1'. - Uppsetningarforritinu mistókst að uppfæra disksneiðatöflu á diski '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Setja upp ræsistjóran á: - + Are you sure you want to create a new partition table on %1? Ertu viss um að þú viljir búa til nýja disksneið á %1? @@ -1689,22 +1650,22 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Sjálfgefið - + unknown óþekkt - + extended útvíkkuð - + unformatted ekki forsniðin - + swap swap diskminni @@ -1921,24 +1882,24 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 Tókst ekki að skrifa %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Get ekki opnað /etc/timezone til að skrifa. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index 416863527..a194d99ba 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -122,68 +122,6 @@ Running command %1 %2 Comando in esecuzione %1 %2 - - - External command crashed - Il comando esterno si è arrestato - - - - Command %1 crashed. -Output: -%2 - Il comando %1 si è arrestato. -Output: -%2 - - - - External command failed to start - Il comando esterno non si è avviato - - - - Command %1 failed to start. - Il comando %1 non si è avviato - - - - Internal error when starting command - Errore interno all'avvio del comando - - - - Bad parameters for process job call. - Parametri errati per elaborare l'attività richiesta - - - - External command failed to finish - Il comando esterno non è stato portato a termine - - - - Command %1 failed to finish in %2s. -Output: -%3 - Il comando %1 non è stato portato a termine in %2s. -Output: -%3 - - - - External command finished with errors - Il comando esterno è terminato con errori - - - - Command %1 finished with exit code %2. -Output: -%3 - Il comando %1 è terminato con codice di uscita %2. -Output: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Annulla - + Cancel installation without changing the system. Annullare l'installazione senza modificare il sistema. - + Cancel installation? Annullare l'installazione? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Si vuole davvero annullare l'installazione in corso? Il programma d'installazione sarà terminato e tutte le modifiche andranno perse. - + &Yes &Si - + &No &No - + &Close &Chiudi - + Continue with setup? Procedere con la configurazione? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Il programma d'nstallazione %1 sta per eseguire delle modifiche al tuo disco per poter installare %2.<br/><strong> Non sarà possibile annullare tali modifiche.</strong> - + &Install now &Installa adesso - + Go &back &Indietro - + &Done &Fatto - + The installation is complete. Close the installer. L'installazione è terminata. Chiudere l'installer. - + Error Errore - + Installation Failed Installazione non riuscita @@ -333,15 +271,88 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Errore di Python non definibile. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Parametri errati per elaborare l'attività richiesta + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Programma di installazione - + Show debug information Mostra le informazioni di debug @@ -392,12 +403,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno <strong>Partizionamento manuale</strong><br/>Si possono creare o ridimensionare le partizioni manualmente. - + Boot loader location: Posizionamento del boot loader: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 sarà ridotta a %2MB e una nuova partizione di %3MB sarà creata per %4. @@ -408,83 +419,83 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno - - - + + + Current: Corrente: - + Reuse %1 as home partition for %2. Riutilizzare %1 come partizione home per &2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Selezionare una partizione da ridurre, trascina la barra inferiore per ridimensionare</strong> - + <strong>Select a partition to install on</strong> <strong>Selezionare la partizione sulla quale si vuole installare</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Impossibile trovare una partizione EFI di sistema. Si prega di tornare indietro ed effettuare un partizionamento manuale per configurare %1. - + The EFI system partition at %1 will be used for starting %2. La partizione EFI di sistema su %1 sarà usata per avviare %2. - + EFI system partition: Partizione EFI di sistema: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Questo dispositivo di memoria non sembra contenere alcun sistema operativo. Come si vuole procedere?<br/>Si potranno comunque rivedere e confermare le scelte prima di apportare i cambiamenti al dispositivo. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Cancellare disco</strong><br/>Questo <font color="red">cancellerà</font> tutti i dati attualmente presenti sul dispositivo di memoria. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Questo dispositivo di memoria ha %1. Come si vuole procedere?<br/>Si potranno comunque rivedere e confermare le scelte prima di apportare i cambiamenti al dispositivo. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installare a fianco</strong><br/>Il programma di installazione ridurrà una partizione per dare spazio a %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Sostituire una partizione</strong><br/>Sostituisce una partizione con %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Questo dispositivo di memoria contenere già un sistema operativo. Come si vuole procedere?<br/>Si potranno comunque rivedere e confermare le scelte prima di apportare i cambiamenti al dispositivo. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Questo dispositivo di memoria contenere diversi sistemi operativi. Come si vuole procedere?<br/>Comunque si potranno rivedere e confermare le scelte prima di apportare i cambiamenti al dispositivo. @@ -533,7 +544,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno ContextualProcessJob - + Contextual Processes Job Attività dei processi contestuali @@ -571,12 +582,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Fi&le System: - + + LVM LV name + + + + Flags: Flag: - + &Mount Point: Punto di &mount: @@ -586,27 +602,27 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno &Dimensione: - + En&crypt Cr&iptare - + Logical Logica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Il punto di mount è già in uso. Sceglierne un altro. @@ -614,45 +630,25 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Creare una nuova partizione da %2MB su %4 (%3) con file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Creare una nuova partizione da <strong>%2MB</strong> su <strong>%4</strong> (%3) con file system <strong>%1</strong>. - + Creating new %1 partition on %2. Creazione della nuova partizione %1 su %2. - + The installer failed to create partition on disk '%1'. Il programma di installazione non è riuscito a creare la partizione sul disco '%1'. - - - Could not open device '%1'. - Impossibile aprire il disco '%1'. - - - - Could not open partition table. - Impossibile aprire la tabella delle partizioni. - - - - The installer failed to create file system on partition %1. - Il programma di installazione non è riuscito a creare il file system nella partizione %1. - - - - The installer failed to update partition table on disk '%1'. - Il programma di installazione non è riuscito ad aggiornare la tabella delle partizioni sul disco '%1' - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno CreatePartitionTableJob - + Create new %1 partition table on %2. Creare una nuova tabella delle partizioni %1 su %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Creare una nuova tabella delle partizioni <strong>%1</strong> su <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Creazione della nuova tabella delle partizioni %1 su %2. - + The installer failed to create a partition table on %1. Il programma di installazione non è riuscito a creare una tabella delle partizioni su %1. - - - Could not open device %1. - Impossibile aprire il dispositivo %1. - CreateUserJob @@ -781,17 +772,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno DeletePartitionJob - + Delete partition %1. Cancellare la partizione %1. - + Delete partition <strong>%1</strong>. Cancellare la partizione <strong>%1</strong>. - + Deleting partition %1. Cancellazione partizione %1. @@ -800,21 +791,6 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno The installer failed to delete partition %1. Il programma di installazione non è riuscito a cancellare la partizione %1. - - - Partition (%1) and device (%2) do not match. - La partizione (%1) ed il dispositivo (%2) non corrispondono. - - - - Could not open device %1. - Impossibile aprire il dispositivo %1. - - - - Could not open partition table. - Impossibile aprire la tabella delle partizioni. - DeviceInfoWidget @@ -972,37 +948,37 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno FillGlobalStorageJob - + Set partition information Impostare informazioni partizione - + Install %1 on <strong>new</strong> %2 system partition. Installare %1 sulla <strong>nuova</strong> partizione di sistema %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Impostare la <strong>nuova</strong> %2 partizione con punto di mount <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Installare %2 sulla partizione di sistema %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Impostare la partizione %3 <strong>%1</strong> con punto di montaggio <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Installare il boot loader su <strong>%1</strong>. - + Setting up mount points. Impostazione dei punti di mount. @@ -1015,7 +991,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Modulo - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Riavviare ora @@ -1051,45 +1032,25 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formattare la partizione %1 (file system: %2, dimensioni: %3 MB) su %4 - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formattare la partizione <strong>%1</strong> da <strong>%3MB</strong> con file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formattazione della partizione %1 con file system %2. - + The installer failed to format partition %1 on disk '%2'. Il programma di installazione non è riuscito a formattare la partizione %1 sul disco '%2'. - - - Could not open device '%1'. - Impossibile aprire il dispositivo '%1'. - - - - Could not open partition table. - Impossibile aprire la tabella delle partizioni. - - - - The installer failed to create file system on partition %1. - Il programma di installazione non è riuscito a creare il file system sulla partizione %1. - - - - The installer failed to update partition table on disk '%1'. - Il programma di installazione non è riuscito ad aggiornare la tabella delle partizioni sul disco '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Installare il boot &loader su: - + Are you sure you want to create a new partition table on %1? Si è sicuri di voler creare una nuova tabella delle partizioni su %1? @@ -1689,22 +1650,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Default - + unknown sconosciuto - + extended estesa - + unformatted non formattata - + swap swap @@ -1921,24 +1882,24 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Imposta il modello di tastiera a %1, con layout %2-%3 - + Failed to write keyboard configuration for the virtual console. Impossibile scrivere la configurazione della tastiera per la console virtuale. - - - + + + Failed to write to %1 Impossibile scrivere su %1 - + Failed to write keyboard configuration for X11. Impossibile scrivere la configurazione della tastiera per X11. - + Failed to write keyboard configuration to existing /etc/default directory. Impossibile scrivere la configurazione della tastiera nella cartella /etc/default. @@ -2107,6 +2068,14 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Impossibile aprire il file /etc/timezone in scrittura + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,8 +2310,8 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>per %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Si ringrazia: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg e il <a href="https://www.transifex.com/calamares/calamares/">Team di traduzione di Calamares</a>.<br/><br/>Lo sviluppo di<a href="http://calamares.io/">Calamares</a> è sponsorizzato da<br/><a href="http://www.blue-systems.com/">Blue Systems </a>- Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 942c9b4c0..0e542f60c 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -122,68 +122,6 @@ Running command %1 %2 コマンド %1 %2 を実行中 - - - External command crashed - 外部コマンドのクラッシュ - - - - Command %1 crashed. -Output: -%2 - コマンド %1 がクラッシュ -出力: -%2 - - - - External command failed to start - 外部コマンドの開始に失敗 - - - - Command %1 failed to start. - コマンド %1 の開始に失敗 - - - - Internal error when starting command - コマンド開始時における内部エラー - - - - Bad parameters for process job call. - ジョブ呼び出しにおける不正なパラメータ - - - - External command failed to finish - 外部コマンドの完了に失敗 - - - - Command %1 failed to finish in %2s. -Output: -%3 - %2s においてコマンド %1 が完了に失敗しました。 -出力: -%3 - - - - External command finished with errors - 外部コマンドでエラー - - - - Command %1 finished with exit code %2. -Output: -%3 - コマンド %1 がコード %2 によって終了 -出力: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel 中止(&C) - + Cancel installation without changing the system. システムを変更しないでインストールを中止します。 - + Cancel installation? インストールを中止しますか? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 本当に現在の作業を中止しますか? すべての変更が取り消されます。 - + &Yes はい(&Y) - + &No いいえ(&N) - + &Close 閉じる(&C) - + Continue with setup? セットアップを続行しますか? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 インストーラーは %2 をインストールするためにディスクの内容を変更しようとします。<br/><strong>これらの変更は取り消しできなくなります。</strong> - + &Install now 今すぐインストール(&I) - + Go &back 戻る(&B) - + &Done 実行(&D) - + The installation is complete. Close the installer. インストールが完了しました。インストーラーを閉じます。 - + Error エラー - + Installation Failed インストールに失敗 @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. 取得不能なPythonエラー。 + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + ジョブ呼び出しにおける不正なパラメータ + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 インストーラー - + Show debug information デバッグ情報を表示 @@ -392,12 +403,12 @@ The installer will quit and all changes will be lost. <strong>手動パーティション</strong><br/>パーティションの作成、あるいはサイズ変更を行うことができます。 - + Boot loader location: ブートローダーの場所: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 は %2 MB に縮小され、新しい %3 MB のパーティションが %4 のために作成されます。 @@ -408,83 +419,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: 現在: - + Reuse %1 as home partition for %2. %1 を %2 のホームパーティションとして再利用する - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>縮小するパーティションを選択し、下のバーをドラッグしてサイズを変更して下さい</strong> - + <strong>Select a partition to install on</strong> <strong>インストールするパーティションの選択</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. システムにEFIシステムパーティションが存在しません。%1 のセットアップのため、元に戻り、手動パーティショニングを使用してください。 - + The EFI system partition at %1 will be used for starting %2. %1 上のEFIシステムパーテイションは %2 のスタートに使用されます。 - + EFI system partition: EFI システムパーティション: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. このストレージデバイスは、オペレーティングシステムを持っていないようです。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>ディスクの消去</strong><br/>選択したストレージデバイス上のデータがすべて <font color="red">削除</font>されます。 - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. このストレージデバイスは %1 を有しています。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>共存してインストール</strong><br/>インストーラは %1 用の空きスペースを確保するため、パーティションを縮小します。 - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>パーティションの置換</strong><br/>パーティションを %1 に置き換えます。 - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. この記憶装置は、すでにオペレーティングシステムが存在します。どうしますか?<br/>ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. このストレージデバイスには、複数のオペレーティングシステムが存在します。どうしますか?<br />ストレージデバイスに対する変更が実施される前に、変更点をレビューし、確認することができます。 @@ -533,7 +544,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ The installer will quit and all changes will be lost. ファイルシステム (&L): - + + LVM LV name + + + + Flags: フラグ: - + &Mount Point: マウントポイント(&M) @@ -586,27 +602,27 @@ The installer will quit and all changes will be lost. サイズ(&Z) - + En&crypt 暗号化(&C) - + Logical 論理 - + Primary プライマリ - + GPT GPT - + Mountpoint already in use. Please select another one. マウントポイントは既に使用されています。他を選択してください。 @@ -614,45 +630,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. ファイルシステム %1 で %4 (%3) 上に新しく%2 MBのパーティションを作成 - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. ファイルシステム %1で <strong>%4</strong> (%3) 上に新しく<strong>%2MB</strong>のパーティションを作成 - + Creating new %1 partition on %2. %2 上に新しく %1 パーティションを作成中 - + The installer failed to create partition on disk '%1'. インストーラーはディスク '%1' にパーティションを作成することに失敗しました。 - - - Could not open device '%1'. - デバイス '%1' を開けませんでした。 - - - - Could not open partition table. - パーティションテーブルを開くことができませんでした。 - - - - The installer failed to create file system on partition %1. - インストーラーは %1 パーティション上でのファイルシステムの作成に失敗しました。 - - - - The installer failed to update partition table on disk '%1'. - インストーラーはディスク '%1' 上にあるパーティションテーブルの更新に失敗しました。 - CreatePartitionTableDialog @@ -685,30 +681,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. %2 上に新しく %1 パーティションテーブルを作成 - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). <strong>%2</strong> (%3) 上に新しく <strong>%1</strong> パーティションテーブルを作成 - + Creating new %1 partition table on %2. %2 上に新しく %1 パーティションテーブルを作成中 - + The installer failed to create a partition table on %1. インストーラーは%1 上でのパーティションテーブルの作成に失敗しました。 - - - Could not open device %1. - デバイス %1 を開けませんでした。 - CreateUserJob @@ -781,17 +772,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. パーティション %1 の削除 - + Delete partition <strong>%1</strong>. パーティション <strong>%1</strong> の削除 - + Deleting partition %1. パーティション %1 の削除中。 @@ -800,21 +791,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. インストーラーはパーティション %1 の削除に失敗しました。 - - - Partition (%1) and device (%2) do not match. - パーティション (%1) とデバイス (%2) が適合しません。 - - - - Could not open device %1. - デバイス %1 を開けませんでした。 - - - - Could not open partition table. - パーティションテーブルを開くことができませんでした。 - DeviceInfoWidget @@ -972,37 +948,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information パーティション情報の設定 - + Install %1 on <strong>new</strong> %2 system partition. <strong>新しい</strong> %2 システムパーティションに %1 をインストール。 - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. マウントポイント <strong>%1</strong> に <strong>新しい</strong> %2 パーティションをセットアップ。 - + Install %2 on %3 system partition <strong>%1</strong>. %3 システムパーティション <strong>%1</strong> に%2 をインストール。 - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. パーティション <strong>%1</strong> マウントポイント <strong>%2</strong> に %3 をセットアップ。 - + Install boot loader on <strong>%1</strong>. <strong>%1</strong> にブートローダーをインストール - + Setting up mount points. マウントポイントの設定。 @@ -1015,7 +991,12 @@ The installer will quit and all changes will be lost. フォーム - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now 今すぐ再起動(&R) @@ -1052,45 +1033,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. %4 上でパーティション %1 (ファイルシステム: %2, サイズ: %3 MB) のフォーマット - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. <strong>%3MB</strong> パーティション <strong>%1</strong> をファイルシステム<strong>%2</strong>でフォーマット。 - + Formatting partition %1 with file system %2. ファイルシステム %2 でパーティション %1 をフォーマット中。 - + The installer failed to format partition %1 on disk '%2'. インストーラーはディスク '%2' 上のパーティション %1 のフォーマットに失敗しました。 - - - Could not open device '%1'. - デバイス '%1' を開けませんでした。 - - - - Could not open partition table. - パーティションテーブルを開くことができませんでした。 - - - - The installer failed to create file system on partition %1. - インストラーは %1 パーティションにシステムを作成することに失敗しました。 - - - - The installer failed to update partition table on disk '%1'. - インストーラーはディスク '%1' 上のパーティションテーブルのアップデートに失敗しました。 - InteractiveTerminalPage @@ -1533,7 +1494,7 @@ The installer will quit and all changes will be lost. ブートローダーインストール先 (&L): - + Are you sure you want to create a new partition table on %1? %1 上で新しいパーティションテーブルを作成します。よろしいですか? @@ -1690,22 +1651,22 @@ The installer will quit and all changes will be lost. デフォルト - + unknown 不明 - + extended 拡張 - + unformatted 未フォーマット - + swap スワップ @@ -1922,24 +1883,24 @@ The installer will quit and all changes will be lost. キーボードのモデルを %1 に、レイアウトを %2-%3に設定 - + Failed to write keyboard configuration for the virtual console. 仮想コンソールでのキーボード設定の書き込みに失敗しました。 - - - + + + Failed to write to %1 %1 への書き込みに失敗しました - + Failed to write keyboard configuration for X11. X11 のためのキーボード設定の書き込みに失敗しました。 - + Failed to write keyboard configuration to existing /etc/default directory. 現存する /etc/default ディレクトリへのキーボード設定の書き込みに失敗しました。 @@ -2108,6 +2069,14 @@ The installer will quit and all changes will be lost. /etc/timezone を開くことができません + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2342,8 +2311,8 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 42a59148c..0f995f0ca 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel Ба&с тарту - + Cancel installation without changing the system. - + Cancel installation? Орнатудан бас тарту керек пе? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: EFI жүйелік бөлімі: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_kn.ts b/lang/calamares_kn.ts index 48a8dc01e..ee3d46ff7 100644 --- a/lang/calamares_kn.ts +++ b/lang/calamares_kn.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel ರದ್ದುಗೊಳಿಸು - + Cancel installation without changing the system. - + Cancel installation? ಅನುಸ್ಥಾಪನೆಯನ್ನು ರದ್ದುಮಾಡುವುದೇ? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes ಹೌದು - + &No ಇಲ್ಲ - + &Close ಮುಚ್ಚಿರಿ - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error ದೋಷ - + Installation Failed ಅನುಸ್ಥಾಪನೆ ವಿಫಲವಾಗಿದೆ @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: ಪ್ರಸಕ್ತ: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index 265ef153b..7396bdda6 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index e8a084281..96328fa5f 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -122,68 +122,6 @@ Running command %1 %2 Vykdoma komanda %1 %2 - - - External command crashed - Išorinė komanda nepavyko - - - - Command %1 crashed. -Output: -%2 - Komanda %1 nustojo veikti . -Išvestis: -%2 - - - - External command failed to start - Nepavyko paleisti išorinės komandos - - - - Command %1 failed to start. - Nepavyko paleisti %1 komandos - - - - Internal error when starting command - Vidinė komandos klaida - - - - Bad parameters for process job call. - Netinkamas proceso parametras - - - - External command failed to finish - Nepavyko pabaigti išorinės komandos - - - - Command %1 failed to finish in %2s. -Output: -%3 - Nepavyko pabaigti komandos %1 per %2s. -Išvestis: -%3 - - - - External command finished with errors - Išorinė komanda pabaigta su klaidomis - - - - Command %1 finished with exit code %2. -Output: -%3 - Komanda %1 pabaigta su išėjimo kodu %2. -Išvestis: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Išvestis: - + &Cancel A&tšaukti - + Cancel installation without changing the system. Atsisakyti diegimo, nieko sistemoje nekeičiant. - + Cancel installation? Atsisakyti diegimo? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ar tikrai norite atšaukti dabartinio diegimo procesą? Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. - + &Yes &Taip - + &No &Ne - + &Close &Užverti - + Continue with setup? Tęsti sąranką? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 diegimo programa, siekdama įdiegti %2, ketina atlikti pakeitimus diske.<br/><strong>Šių pakeitimų atšaukti nebegalėsite.</strong> - + &Install now Į&diegti dabar - + Go &back &Grįžti - + &Done A&tlikta - + The installation is complete. Close the installer. Diegimas užbaigtas. Užverkite diegimo programą. - + Error Klaida - + Installation Failed Diegimas nepavyko @@ -333,15 +271,90 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Neatgaunama Python klaida. + + CalamaresUtils::CommandList + + + Could not run command. + Nepavyko paleisti komandos. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + Nėra apibrėžta šaknies prijungimo vieta, taigi komanda negali būti įvykdyta paskirties aplinkoje. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Išvestis: + + + + + External command crashed. + Išorinė komanda užstrigo. + + + + Command <i>%1</i> crashed. + Komanda <i>%1</i> užstrigo. + + + + External command failed to start. + Nepavyko paleisti išorinės komandos. + + + + Command <i>%1</i> failed to start. + Nepavyko paleisti komandos <i>%1</i>. + + + + Internal error when starting command. + Paleidžiant komandą, įvyko vidinė klaida. + + + + Bad parameters for process job call. + Netinkamas proceso parametras + + + + External command failed to finish. + Nepavyko pabaigti išorinės komandos. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Nepavyko per %2 sek. pabaigti komandos <i>%1</i>. + + + + External command finished with errors. + Išorinė komanda pabaigta su klaidomis. + + + + Command <i>%1</i> finished with exit code %2. + Komanda <i>%1</i> pabaigta su išėjimo kodu %2. + + CalamaresWindow - + %1 Installer %1 diegimo programa - + Show debug information Rodyti derinimo informaciją @@ -392,12 +405,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. <strong>Rankinis skaidymas</strong><br/>Galite patys kurti ar keisti skaidinių dydžius. - + Boot loader location: Paleidyklės vieta: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 bus sumažintas iki %2MB ir naujas %3MB skaidinys bus sukurtas sistemai %4. @@ -408,83 +421,83 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. - - - + + + Current: Dabartinis: - + Reuse %1 as home partition for %2. Pakartotinai naudoti %1 kaip namų skaidinį, skirtą %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Pasirinkite, kurį skaidinį sumažinti, o tuomet vilkite juostą, kad pakeistumėte skaidinio dydį</strong> - + <strong>Select a partition to install on</strong> <strong>Pasirinkite kuriame skaidinyje įdiegti</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Šioje sistemoje niekur nepavyko rasti EFI skaidinio. Prašome grįžti ir naudoti rankinį skaidymą, kad nustatytumėte %1. - + The EFI system partition at %1 will be used for starting %2. %2 paleidimui bus naudojamas EFI sistemos skaidinys, esantis ties %1. - + EFI system partition: EFI sistemos skaidinys: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Atrodo, kad šiame įrenginyje nėra operacinės sistemos. Ką norėtumėte daryti?<br/>Prieš atliekant bet kokius pakeitimus atminties įrenginyje, jūs galėsite apžvelgti ir patvirtinti savo pasirinkimus. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Ištrinti diską</strong><br/>Tai <font color="red">ištrins</font> visus, pasirinktame atminties įrenginyje, esančius duomenis. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Šiame atminties įrenginyje jau yra %1. Ką norėtumėte daryti?<br/>Prieš atliekant bet kokius pakeitimus atminties įrenginyje, jūs galėsite apžvelgti ir patvirtinti savo pasirinkimus. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Įdiegti šalia</strong><br/>Diegimo programa sumažins skaidinį, kad atlaisvintų vietą sistemai %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Pakeisti skaidinį</strong><br/>Pakeičia skaidinį ir įrašo %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Šiame atminties įrenginyje jau yra operacinė sistema. Ką norėtumėte daryti?<br/>Prieš atliekant bet kokius pakeitimus atminties įrenginyje, jūs galėsite apžvelgti ir patvirtinti savo pasirinkimus. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Šiame atminties įrenginyje jau yra kelios operacinės sistemos. Ką norėtumėte daryti?<br/>Prieš atliekant bet kokius pakeitimus atminties įrenginyje, jūs galėsite apžvelgti ir patvirtinti savo pasirinkimus. @@ -533,7 +546,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. ContextualProcessJob - + Contextual Processes Job Konteksto procesų užduotis @@ -571,12 +584,17 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Fai&lų sistema: - + + LVM LV name + LVM LV pavadinimas + + + Flags: Vėliavėlės: - + &Mount Point: &Prijungimo vieta: @@ -586,27 +604,27 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. D&ydis: - + En&crypt Užši&fruoti - + Logical Loginė - + Primary Pagrindinė - + GPT GPT - + Mountpoint already in use. Please select another one. Prijungimo taškas jau yra naudojamas. Prašome pasirinkti kitą. @@ -614,45 +632,25 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Sukurti naują %2MB skaidinį diske %4 (%3) su %1 failų sistema. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Sukurti naują <strong>%2MB</strong> skaidinį diske <strong>%4</strong> (%3) su <strong>%1</strong> failų sistema. - + Creating new %1 partition on %2. Kuriamas naujas %1 skaidinys ties %2. - + The installer failed to create partition on disk '%1'. Diegimo programai nepavyko sukurti skaidinio diske '%1'. - - - Could not open device '%1'. - Nepavyko atidaryti įrenginio '%1'. - - - - Could not open partition table. - Nepavyko atidaryti skaidinių lentelės. - - - - The installer failed to create file system on partition %1. - Diegimo programai nepavyko sukurti failų sistemos skaidinyje %1. - - - - The installer failed to update partition table on disk '%1'. - Diegimo programai napavyko atnaujinti skaidinių lentelės diske '%1'. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. CreatePartitionTableJob - + Create new %1 partition table on %2. Sukurti naują %1 skaidinių lentelę ties %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Sukurti naują <strong>%1</strong> skaidinių lentelę diske <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Kuriama nauja %1 skaidinių lentelė ties %2. - + The installer failed to create a partition table on %1. Diegimo programai nepavyko %1 sukurti skaidinių lentelės. - - - Could not open device %1. - Nepavyko atidaryti įrenginio %1. - CreateUserJob @@ -781,17 +774,17 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. DeletePartitionJob - + Delete partition %1. Ištrinti skaidinį %1. - + Delete partition <strong>%1</strong>. Ištrinti skaidinį <strong>%1</strong>. - + Deleting partition %1. Ištrinamas skaidinys %1. @@ -800,21 +793,6 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. The installer failed to delete partition %1. Diegimo programai nepavyko ištrinti skaidinio %1. - - - Partition (%1) and device (%2) do not match. - Skaidinys (%1) ir įrenginys (%2) nesutampa. - - - - Could not open device %1. - Nepavyko atidaryti įrenginio %1. - - - - Could not open partition table. - Nepavyko atidaryti skaidinių lentelės. - DeviceInfoWidget @@ -972,37 +950,37 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. FillGlobalStorageJob - + Set partition information Nustatyti skaidinio informaciją - + Install %1 on <strong>new</strong> %2 system partition. Įdiegti %1 <strong>naujame</strong> %2 sistemos skaidinyje. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Nustatyti <strong>naują</strong> %2 skaidinį su prijungimo tašku <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Diegti %2 sistemą, %3 sistemos skaidinyje <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Nustatyti %3 skaidinį <strong>%1</strong> su prijungimo tašku <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Diegti paleidyklę skaidinyje <strong>%1</strong>. - + Setting up mount points. Nustatomi prijungimo taškai. @@ -1015,7 +993,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Forma - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Pažymėjus šį langelį, jūsų sistema nedelsiant pasileis iš naujo, kai spustelėsite <span style=" font-style:italic;">Atlikta</span> ar užversite diegimo programą.</p></body></html> + + + &Restart now &Paleisti iš naujo dabar @@ -1051,45 +1034,25 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatuoti skaidinį %1 (failų sistema: %2, dydis: %3 MB) diske %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatuoti <strong>%3MB</strong> skaidinį <strong>%1</strong> su failų sistema <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatuojamas skaidinys %1 su %2 failų sistema. - + The installer failed to format partition %1 on disk '%2'. Diegimo programai nepavyko formatuoti „%2“ disko skaidinio %1. - - - Could not open device '%1'. - Nepavyko atidaryti įrenginio '%1'. - - - - Could not open partition table. - Nepavyko atidaryti skaidinių lentelės. - - - - The installer failed to create file system on partition %1. - Diegimo programai nepavyko sukurti failų sistemos skaidinyje %1. - - - - The installer failed to update partition table on disk '%1'. - Diegimo programai nepavyko atnaujinti skaidinių lentelės diske '%1'. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Įdiegti pa&leidyklę skaidinyje: - + Are you sure you want to create a new partition table on %1? Ar tikrai %1 norite sukurti naują skaidinių lentelę? @@ -1689,22 +1652,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Numatytasis - + unknown nežinoma - + extended išplėsta - + unformatted nesutvarkyta - + swap sukeitimų (swap) @@ -1921,24 +1884,24 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Nustatyti klaviatūros modelį kaip %1, o išdėstymą kaip %2-%3 - + Failed to write keyboard configuration for the virtual console. Nepavyko įrašyti klaviatūros sąrankos virtualiam pultui. - - - + + + Failed to write to %1 Nepavyko įrašyti į %1 - + Failed to write keyboard configuration for X11. Nepavyko įrašyti klaviatūros sąrankos X11 aplinkai. - + Failed to write keyboard configuration to existing /etc/default directory. Nepavyko įrašyti klaviatūros konfigūracijos į esamą /etc/default katalogą. @@ -2107,6 +2070,14 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Nepavyksta įrašymui atidaryti failo /etc/timezone + + ShellProcessJob + + + Shell Processes Job + Apvalkalo procesų užduotis + + SummaryPage @@ -2341,8 +2312,8 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>sistemai %3</strong><br/><br/>Autorių teisės 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorių teisės 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Dėkojame: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg ir <a href="https://www.transifex.com/calamares/calamares/">Calamares vertėjų komandai</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> kūrimą remia <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Išlaisvinanti programinė įranga. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>sistemai %3</strong><br/><br/>Autorių teisės 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorių teisės 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Dėkojame: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg ir <a href="https://www.transifex.com/calamares/calamares/">Calamares vertėjų komandai</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> kūrimą remia <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Išlaisvinanti programinė įranga. diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index 244531ca6..e82ba2556 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -122,66 +122,6 @@ Running command %1 %2 %1 %2 आज्ञा चालवला जातोय - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - बाह्य आज्ञा सुरु करण्यात अपयश - - - - Command %1 failed to start. - %1 आज्ञा सुरु करण्यात अपयश - - - - Internal error when starting command - आज्ञा सुरु करताना अंतर्गत त्रुटी - - - - Bad parameters for process job call. - - - - - External command failed to finish - बाह्य आज्ञा पूर्ण करताना अपयश - - - - Command %1 failed to finish in %2s. -Output: -%3 - %1 ही आज्ञा %2s मधे पूर्ण करताना अपयश. -आउटपुट : -%3 - - - - External command finished with errors - बाह्य आज्ञा त्रुट्यांसहित पूर्ण झाली - - - - Command %1 finished with exit code %2. -Output: -%3 - %1 ही आज्ञा %2 या निर्गम कोडसहित पूर्ण झाली. -आउटपुट : -%3 - Calamares::PythonJob @@ -230,79 +170,79 @@ Output: - + &Cancel &रद्द करा - + Cancel installation without changing the system. प्रणालीत बदल न करता अधिष्टापना रद्द करा. - + Cancel installation? अधिष्ठापना रद्द करायचे? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &होय - + &No &नाही - + &Close &बंद करा - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &आता अधिष्ठापित करा - + Go &back &मागे जा - + &Done &पूर्ण झाली - + The installation is complete. Close the installer. अधिष्ठापना संपूर्ण झाली. अधिष्ठापक बंद करा. - + Error त्रुटी - + Installation Failed अधिष्ठापना अयशस्वी झाली @@ -330,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 अधिष्ठापक - + Show debug information दोषमार्जन माहिती दर्शवा @@ -389,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -405,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: सद्या : - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -530,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -568,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -583,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical तार्किक - + Primary प्राथमिक - + GPT - + Mountpoint already in use. Please select another one. @@ -611,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. %2 वर %1 हे नवीन विभाजन निर्माण करत आहे - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -682,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -778,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -797,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -969,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1012,7 +990,12 @@ The installer will quit and all changes will be lost. स्वरुप - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1048,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1529,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1686,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1918,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2104,6 +2067,14 @@ The installer will quit and all changes will be lost. /etc/timezone लिहिण्याकरिता उघडू शकत नाही + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2338,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 5617fb139..9341d8363 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -122,68 +122,6 @@ Running command %1 %2 - - - External command crashed - Ekstern kommando feilet - - - - Command %1 crashed. -Output: -%2 - Kommando %1 feilet. -Output: -%2 - - - - External command failed to start - Ekstern kommando kunne ikke startes - - - - Command %1 failed to start. - Kommando %1 kunne ikke startes - - - - Internal error when starting command - Intern feil ved start av kommando - - - - Bad parameters for process job call. - Ugyldige parametere for prosessens oppgavekall - - - - External command failed to finish - Ekstern kommando kunne ikke fullføres - - - - Command %1 failed to finish in %2s. -Output: -%3 - Kommando %1 feilet i å fullføre etter %2s. -Output: -%3 - - - - External command finished with errors - Ekstern kommando fullført med feil - - - - Command %1 finished with exit code %2. -Output: -%3 - Kommando %1 fullført med utgangskode %2. -Output: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Avbryt - + Cancel installation without changing the system. - + Cancel installation? Avbryte installasjon? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Vil du virkelig avbryte installasjonen? Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + &Yes - + &No - + &Close - + Continue with setup? Fortsette å sette opp? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 vil nå gjøre endringer på harddisken, for å installere %2. <br/><strong>Du vil ikke kunne omgjøre disse endringene.</strong> - + &Install now &Installer nå - + Go &back Gå &tilbake - + &Done - + The installation is complete. Close the installer. - + Error Feil - + Installation Failed Installasjon feilet @@ -333,15 +271,88 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.Ukjent Python feil. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Ugyldige parametere for prosessens oppgavekall + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Installasjonsprogram - + Show debug information Vis feilrettingsinformasjon @@ -392,12 +403,12 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +419,83 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + + LVM LV name + + + + Flags: - + &Mount Point: &Monteringspunkt: @@ -586,27 +602,27 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.St&ørrelse: - + En&crypt - + Logical Logisk - + Primary Primær - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - Klarte ikke å åpne enheten '%1'. - - - - Could not open partition table. - Klarte ikke å åpne partisjonstabellen. - - - - The installer failed to create file system on partition %1. - Lyktes ikke med å opprette filsystem på partisjon %1 - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -781,17 +772,17 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - Klarte ikke å åpne partisjonstabellen. - DeviceInfoWidget @@ -972,37 +948,37 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.Form - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1051,45 +1032,25 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - Klarte ikke å åpne enheten '%1'. - - - - Could not open partition table. - Klarte ikke å åpne partisjonstabellen. - - - - The installer failed to create file system on partition %1. - Lyktes ikke med å opprette filsystem på partisjon %1 - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Are you sure you want to create a new partition table on %1? @@ -1689,22 +1650,22 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + unknown - + extended - + unformatted - + swap @@ -1921,24 +1882,24 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index d1b987353..d02ee85a3 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -122,68 +122,6 @@ Running command %1 %2 Uitvoeren van opdracht %1 %2 - - - External command crashed - Externe opdracht is vastgelopen - - - - Command %1 crashed. -Output: -%2 - Opdracht %1 is vastglopen. -Output: -%2 - - - - External command failed to start - Externe opdracht starten mislukt - - - - Command %1 failed to start. - Opdracht %1 starten mislukt. - - - - Internal error when starting command - Interne fout bij starten opdracht - - - - Bad parameters for process job call. - Onjuiste parameters voor procestaak - - - - External command failed to finish - Externe opdracht voltooiing mislukt - - - - Command %1 failed to finish in %2s. -Output: -%3 - Opdracht %1 mislukt voor voltooiing in %2s. -Uitvoer: -%3 - - - - External command finished with errors - Externe opdracht voltooid met fouten - - - - Command %1 finished with exit code %2. -Output: -%3 - Opdracht %1 voltooid met exit code %2. -Uitvoer: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Uitvoer: - + &Cancel &Afbreken - + Cancel installation without changing the system. Installatie afbreken zonder aanpassingen aan het systeem. - + Cancel installation? Installatie afbreken? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Wil je het huidige installatieproces echt afbreken? Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - + &Yes &ja - + &No &Nee - + &Close &Sluiten - + Continue with setup? Doorgaan met installatie? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Het %1 installatieprogramma zal nu aanpassingen maken aan je schijf om %2 te installeren.<br/><strong>Deze veranderingen kunnen niet ongedaan gemaakt worden.</strong> - + &Install now Nu &installeren - + Go &back Ga &terug - + &Done Voltooi&d - + The installation is complete. Close the installer. De installatie is voltooid. Sluit het installatie-programma. - + Error Fout - + Installation Failed Installatie Mislukt @@ -333,15 +271,88 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Onbekende Python fout. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Onjuiste parameters voor procestaak + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Installatieprogramma - + Show debug information Toon debug informatie @@ -392,12 +403,12 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. <strong>Handmatig partitioneren</strong><br/>Je maakt of wijzigt zelf de partities. - + Boot loader location: Bootloader locatie: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 zal verkleind worden tot %2MB en een nieuwe %3MB partitie zal worden aangemaakt voor %4. @@ -408,83 +419,83 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - - - + + + Current: Huidig: - + Reuse %1 as home partition for %2. Hergebruik %1 als home-partitie voor %2 - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Selecteer een partitie om te verkleinen, en sleep vervolgens de onderste balk om het formaat te wijzigen</strong> - + <strong>Select a partition to install on</strong> <strong>Selecteer een partitie om op te installeren</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Er werd geen EFI systeempartitie gevonden op dit systeem. Gelieve terug te gaan en manueel te partitioneren om %1 in te stellen. - + The EFI system partition at %1 will be used for starting %2. De EFI systeempartitie op %1 zal gebruikt worden om %2 te starten. - + EFI system partition: EFI systeempartitie: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dit opslagmedium lijkt geen besturingssysteem te bevatten. Wat wil je doen?<br/>Je zal jouw keuzes kunnen nazien en bevestigen voordat er iets aan het opslagmedium wordt veranderd. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Wis schijf</strong><br/>Dit zal alle huidige gegevens op de geselecteerd opslagmedium <font color="red">verwijderen</font>. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dit opslagmedium bevat %1. Wat wil je doen?<br/>Je zal jouw keuzes kunnen nazien en bevestigen voordat er iets aan het opslagmedium wordt veranderd. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installeer ernaast</strong><br/>Het installatieprogramma zal een partitie verkleinen om plaats te maken voor %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Vervang een partitie</strong><br/>Vervangt een partitie met %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dit opslagmedium bevat reeds een besturingssysteem. Wat wil je doen?<br/>Je zal jouw keuzes kunnen nazien en bevestigen voordat er iets aan het opslagmedium wordt veranderd. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Dit opslagmedium bevat meerdere besturingssystemen. Wat wil je doen?<br/>Je zal jouw keuzes kunnen nazien en bevestigen voordat er iets aan het opslagmedium wordt veranderd. @@ -533,7 +544,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. &Bestandssysteem - + + LVM LV name + + + + Flags: Vlaggen: - + &Mount Point: Aan&koppelpunt @@ -586,27 +602,27 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. &Grootte: - + En&crypt &Versleutelen - + Logical Logisch - + Primary Primair - + GPT GPT - + Mountpoint already in use. Please select another one. Aankoppelpunt reeds in gebruik. Gelieve een andere te kiezen. @@ -614,45 +630,25 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Maak nieuwe %2MB partitie aan op %4 (%3) met bestandsysteem %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Maak een nieuwe <strong>%2MB</strong> partitie aan op <strong>%4</strong> (%3) met bestandsysteem <strong>%1</strong>. - + Creating new %1 partition on %2. Nieuwe %1 partitie aanmaken op %2. - + The installer failed to create partition on disk '%1'. Het installatieprogramma kon geen partitie aanmaken op schijf '%1'. - - - Could not open device '%1'. - Kan apparaat %1 niet openen. - - - - Could not open partition table. - Kon partitietabel niet open - - - - The installer failed to create file system on partition %1. - Het installatieprogramma kon geen bestandssysteem aanmaken op partitie %1. - - - - The installer failed to update partition table on disk '%1'. - Het installatieprogramma kon de partitietabel op schijf '%1' niet bijwerken . - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. CreatePartitionTableJob - + Create new %1 partition table on %2. Maak een nieuwe %1 partitietabel aan op %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Maak een nieuwe <strong>%1</strong> partitietabel aan op <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Nieuwe %1 partitietabel aanmaken op %2. - + The installer failed to create a partition table on %1. Het installatieprogramma kon geen partitietabel aanmaken op %1. - - - Could not open device %1. - Kon apparaat %1 niet openen. - CreateUserJob @@ -781,17 +772,17 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. DeletePartitionJob - + Delete partition %1. Verwijder partitie %1. - + Delete partition <strong>%1</strong>. Verwijder partitie <strong>%1</strong>. - + Deleting partition %1. Partitie %1 verwijderen. @@ -800,21 +791,6 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. The installer failed to delete partition %1. Het installatieprogramma kon partitie %1 niet verwijderen. - - - Partition (%1) and device (%2) do not match. - Partitie (%1) en apparaat (%2) komen niet overeen. - - - - Could not open device %1. - Kon apparaat %1 niet openen. - - - - Could not open partition table. - Kon de partitietabel niet openen. - DeviceInfoWidget @@ -972,37 +948,37 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. FillGlobalStorageJob - + Set partition information Instellen partitie-informatie - + Install %1 on <strong>new</strong> %2 system partition. Installeer %1 op <strong>nieuwe</strong> %2 systeempartitie. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Maak <strong>nieuwe</strong> %2 partitie met aankoppelpunt <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Installeer %2 op %3 systeempartitie <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Stel %3 partitie <strong>%1</strong> in met aankoppelpunt <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Installeer bootloader op <strong>%1</strong>. - + Setting up mount points. Aankoppelpunten instellen. @@ -1015,7 +991,12 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Formulier - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Nu herstarten @@ -1051,45 +1032,25 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formateer partitie %1 (bestandssysteem: %2, grootte: %3 MB) op %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatteer <strong>%3MB</strong> partitie <strong>%1</strong> met bestandsysteem <strong>%2</strong>. - + Formatting partition %1 with file system %2. Partitie %1 formatteren met bestandssysteem %2. - + The installer failed to format partition %1 on disk '%2'. Installatieprogramma heeft gefaald om partitie %1 op schijf %2 te formateren. - - - Could not open device '%1'. - Kan apparaat '%1' niet openen. - - - - Could not open partition table. - Kan de partitietabel niet openen. - - - - The installer failed to create file system on partition %1. - Installatieprogramma heeft gefaald om een bestandsysteem te creëren op partitie %1. - - - - The installer failed to update partition table on disk '%1'. - Installatieprogramma heeft gefaald om de partitietabel bij te werken op schijf '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Installeer boot&loader op: - + Are you sure you want to create a new partition table on %1? Weet u zeker dat u een nieuwe partitie tabel wil maken op %1? @@ -1689,22 +1650,22 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Standaard - + unknown onbekend - + extended uitgebreid - + unformatted niet-geformateerd - + swap wisselgeheugen @@ -1921,24 +1882,24 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Stel toetsenbordmodel in op %1 ,indeling op %2-%3 - + Failed to write keyboard configuration for the virtual console. Kon de toetsenbordconfiguratie voor de virtuele console niet opslaan. - - - + + + Failed to write to %1 Schrijven naar %1 mislukt - + Failed to write keyboard configuration for X11. Schrijven toetsenbord configuratie voor X11 mislukt. - + Failed to write keyboard configuration to existing /etc/default directory. Kon de toetsenbordconfiguratie niet wegschrijven naar de bestaande /etc/default map. @@ -2107,6 +2068,14 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Kan niet schrijven naar /etc/timezone + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,8 +2310,8 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>voor %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Met dank aan: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg en het <a href="https://www.transifex.com/calamares/calamares/">Calamares vertaalteam</a>.<br/><br/>De ontwikkeling van <a href="http://calamares.io/">Calamares</a> wordt gesponsord door <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index 0ae79b322..242583228 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -122,68 +122,6 @@ Running command %1 %2 Wykonywanie polecenia %1 %2 - - - External command crashed - Zewnętrzne polecenie nie powiodło się - - - - Command %1 crashed. -Output: -%2 - Polecenie %1 nie powiodło się. -Wyjście: -%2 - - - - External command failed to start - Zewnętrzne polecenie nie uruchomiło się - - - - Command %1 failed to start. - Polecenie %1 nie uruchomiło się. - - - - Internal error when starting command - Wystąpił błąd wewnętrzny podczas uruchamiania polecenia - - - - Bad parameters for process job call. - Błędne parametry wywołania zadania. - - - - External command failed to finish - Nie udało się ukończyć zewnętrznego polecenia - - - - Command %1 failed to finish in %2s. -Output: -%3 - Nie udało się ukończyć polecenia %1 w %2s. -Wyjście: -%3 - - - - External command finished with errors - Zewnętrzne polecenie zakończone z błędami - - - - Command %1 finished with exit code %2. -Output: -%3 - Polecenie %1 zakończone z kodem wyjścia %2. -Wyjście: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Wyjście: - + &Cancel &Anuluj - + Cancel installation without changing the system. Anuluj instalację bez dokonywania zmian w systemie. - + Cancel installation? Anulować instalację? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Czy na pewno chcesz anulować obecny proces instalacji? Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - + &Yes &Tak - + &No &Nie - + &Close Zam&knij - + Continue with setup? Kontynuować z programem instalacyjnym? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instalator %1 zamierza przeprowadzić zmiany na Twoim dysku, aby zainstalować %2.<br/><strong>Nie będziesz mógł cofnąć tych zmian.</strong> - + &Install now &Zainstaluj teraz - + Go &back &Cofnij się - + &Done &Ukończono - + The installation is complete. Close the installer. Instalacja ukończona pomyślnie. Możesz zamknąć instalator. - + Error Błąd - + Installation Failed Wystąpił błąd instalacji @@ -333,15 +271,90 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Nieosiągalny błąd Pythona. + + CalamaresUtils::CommandList + + + Could not run command. + Nie można wykonać polecenia. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + Nie określono rootMountPoint, więc polecenie nie może zostać wykonane w docelowym środowisku. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Wyjście: + + + + + External command crashed. + Zewnętrzne polecenie zakończone niepowodzeniem. + + + + Command <i>%1</i> crashed. + Wykonanie polecenia <i>%1</i> nie powiodło się. + + + + External command failed to start. + Nie udało się uruchomić zewnętrznego polecenia. + + + + Command <i>%1</i> failed to start. + Polecenie <i>%1</i> nie zostało uruchomione. + + + + Internal error when starting command. + Wystąpił wewnętrzny błąd podczas uruchamiania polecenia. + + + + Bad parameters for process job call. + Błędne parametry wywołania zadania. + + + + External command failed to finish. + Nie udało się ukończyć zewnętrznego polecenia. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Nie udało się ukończyć polecenia <i>%1</i> w ciągu %2 sekund. + + + + External command finished with errors. + Ukończono zewnętrzne polecenie z błędami. + + + + Command <i>%1</i> finished with exit code %2. + Polecenie <i>%1</i> zostało ukończone z błędem o kodzie %2. + + CalamaresWindow - + %1 Installer Instalator %1 - + Show debug information Pokaż informacje debugowania @@ -392,12 +405,12 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.<strong>Ręczne partycjonowanie</strong><br/>Możesz samodzielnie utworzyć lub zmienić rozmiar istniejących partycji. - + Boot loader location: Położenie programu rozruchowego: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 zostanie zmniejszony do %2MB a nowa partycja %3MB zostanie utworzona dla %4. @@ -408,83 +421,83 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - - - + + + Current: Bieżący: - + Reuse %1 as home partition for %2. Użyj ponownie %1 jako partycji domowej dla %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Wybierz partycję do zmniejszenia, a następnie przeciągnij dolny pasek, aby zmienić jej rozmiar</strong> - + <strong>Select a partition to install on</strong> <strong>Wybierz partycję, na której przeprowadzona będzie instalacja</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nigdzie w tym systemie nie można odnaleźć partycji systemowej EFI. Prosimy się cofnąć i użyć ręcznego partycjonowania dysku do ustawienia %1. - + The EFI system partition at %1 will be used for starting %2. Partycja systemowa EFI na %1 będzie użyta do uruchamiania %2. - + EFI system partition: Partycja systemowa EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. To urządzenie pamięci masowej prawdopodobnie nie posiada żadnego systemu operacyjnego. Co chcesz zrobić?<br/>Będziesz miał możliwość przejrzenia oraz zatwierdzenia swoich ustawień przed wykonaniem jakichkolwiek zmian na tym urządzeniu. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Wyczyść dysk</strong><br/>Ta operacja <font color="red">usunie</font> wszystkie dane obecnie znajdujące się na wybranym urządzeniu przechowywania. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. To urządzenie pamięci masowej posiada %1. Co chcesz zrobić?<br/>Będziesz miał możliwość przejrzenia oraz zatwierdzenia swoich ustawień przed wykonaniem jakichkolwiek zmian na tym urządzeniu. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Zainstaluj obok siebie</strong><br/>Instalator zmniejszy partycję, aby zrobić miejsce dla %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Zastąp partycję</strong><br/>Zastępowanie partycji poprzez %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. To urządzenie pamięci masowej posiada już system operacyjny. Co chcesz zrobić?<br/>Będziesz miał możliwość przejrzenia oraz zatwierdzenia swoich ustawień przed wykonaniem jakichkolwiek zmian na tym urządzeniu. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. To urządzenie pamięci masowej posiada kilka systemów operacyjnych. Co chcesz zrobić?<br/>Będziesz miał możliwość przejrzenia oraz zatwierdzenia swoich ustawień przed wykonaniem jakichkolwiek zmian na tym urządzeniu. @@ -533,7 +546,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +584,17 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.System p&lików: - + + LVM LV name + Nazwa LV LVM + + + Flags: Flagi: - + &Mount Point: Punkt &montowania: @@ -586,27 +604,27 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Ro&zmiar: - + En&crypt Zaszy%fruj - + Logical Logiczna - + Primary Podstawowa - + GPT GPT - + Mountpoint already in use. Please select another one. Punkt montowania jest już używany. Proszę wybrać inny. @@ -614,45 +632,25 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Utwórz nową partycję %2MB na %4 (%3) z systemem plików %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Utwórz nową partycję <strong>%2MB</strong> na <strong>%4</strong> (%3) z systemem plików <strong>%1</strong>. - + Creating new %1 partition on %2. Tworzenie nowej partycji %1 na %2. - + The installer failed to create partition on disk '%1'. Instalator nie mógł utworzyć partycji na dysku '%1'. - - - Could not open device '%1'. - Nie udało się otworzyć urządzenia '%1'. - - - - Could not open partition table. - Nie udało się otworzyć tablicy partycji. - - - - The installer failed to create file system on partition %1. - Instalator nie mógł utworzyć systemu plików na partycji %1. - - - - The installer failed to update partition table on disk '%1'. - Instalator nie mógł zaktualizować tablicy partycji na dysku '%1'. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. CreatePartitionTableJob - + Create new %1 partition table on %2. Utwórz nową tablicę partycję %1 na %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Utwórz nową tabelę partycji <strong>%1</strong> na <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Tworzenie nowej tablicy partycji %1 na %2. - + The installer failed to create a partition table on %1. Instalator nie mógł utworzyć tablicy partycji na %1. - - - Could not open device %1. - Nie udało się otworzyć urządzenia %1. - CreateUserJob @@ -781,17 +774,17 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. DeletePartitionJob - + Delete partition %1. Usuń partycję %1. - + Delete partition <strong>%1</strong>. Usuń partycję <strong>%1</strong>. - + Deleting partition %1. Usuwanie partycji %1. @@ -800,21 +793,6 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.The installer failed to delete partition %1. Instalator nie mógł usunąć partycji %1. - - - Partition (%1) and device (%2) do not match. - Partycja (%1) i urządzenie (%2) nie pasują do siebie. - - - - Could not open device %1. - Nie udało się otworzyć urządzenia %1. - - - - Could not open partition table. - Nie udało się otworzyć tablicy partycji. - DeviceInfoWidget @@ -972,37 +950,37 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. FillGlobalStorageJob - + Set partition information Ustaw informacje partycji - + Install %1 on <strong>new</strong> %2 system partition. Zainstaluj %1 na <strong>nowej</strong> partycji systemowej %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Ustaw <strong>nową</strong> partycję %2 z punktem montowania <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Zainstaluj %2 na partycji systemowej %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Ustaw partycję %3 <strong>%1</strong> z punktem montowania <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Zainstaluj program rozruchowy na <strong>%1</strong>. - + Setting up mount points. Ustawianie punktów montowania. @@ -1015,7 +993,12 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Form - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Gdy to pole jest zaznaczone, system uruchomi się ponownie, gdy klikniesz <span style=" font-style:italic;">Wykonano</span> lub zamkniesz instalator.</p></body></html> + + + &Restart now &Uruchom ponownie teraz @@ -1051,45 +1034,25 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatuj partycję %1 (system plików: %2, rozmiar: %3 MB) na %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Sformatuj partycję <strong>%3MB</strong> <strong>%1</strong> z systemem plików <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatowanie partycji %1 z systemem plików %2. - + The installer failed to format partition %1 on disk '%2'. Instalator nie mógł sformatować partycji %1 na dysku '%2'. - - - Could not open device '%1'. - Nie można otworzyć urządzenia '%1'. - - - - Could not open partition table. - Nie udało się otworzyć tablicy partycji. - - - - The installer failed to create file system on partition %1. - Instalator nie mógł utworzyć systemu plików na partycji %1. - - - - The installer failed to update partition table on disk '%1'. - Instalator nie mógł zaktualizować tablicy partycji na dysku '%1'. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Zainsta&luj program rozruchowy na: - + Are you sure you want to create a new partition table on %1? Czy na pewno chcesz utworzyć nową tablicę partycji na %1? @@ -1689,22 +1652,22 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Domyślnie - + unknown nieznany - + extended rozszerzona - + unformatted niesformatowany - + swap przestrzeń wymiany @@ -1921,24 +1884,24 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Ustaw model klawiatury na %1, jej układ na %2-%3 - + Failed to write keyboard configuration for the virtual console. Błąd zapisu konfiguracji klawiatury dla konsoli wirtualnej. - - - + + + Failed to write to %1 Nie można zapisać do %1 - + Failed to write keyboard configuration for X11. Błąd zapisu konfiguracji klawiatury dla X11. - + Failed to write keyboard configuration to existing /etc/default directory. Błąd zapisu konfiguracji układu klawiatury dla istniejącego katalogu /etc/default. @@ -2107,6 +2070,14 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Nie można otworzyć /etc/timezone celem zapisu + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2128,22 +2099,22 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. Installation feedback - + Informacja zwrotna o instalacji Sending installation feedback. - + Wysyłanie informacji zwrotnej o instalacji. Internal error in install-tracking. - + Błąd wewnętrzny śledzenia instalacji. HTTP request timed out. - + Wyczerpano limit czasu żądania HTTP. @@ -2219,17 +2190,17 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + Jeżeli wybierzesz tę opcję, zostaną wysłane informacje dotyczące tej instalacji i używanego sprzętu. Zostaną wysłane <b>jednokrotnie</b> po zakończeniu instalacji. By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + Jeżeli wybierzesz tę opcję, <b>okazjonalnie</b> będą wysyłane informacje dotyczące tej instalacji, używanego sprzętu i aplikacji do %1. By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. - + Jeżeli wybierzesz tą opcję, <b>regularnie</b> będą wysyłane informacje dotyczące tej instalacji, używanego sprzętu i aplikacji do %1. @@ -2341,8 +2312,8 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>dla %3</strong><br/><br/>Prawa autorskie 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Prawa autorskie 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Podziękowania dla: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg i <a href="https://www.transifex.com/calamares/calamares/">zespołu tłumaczy Calamares</a>.<br/><br/><a href="http://calamares.io/">Projekt Calamares</a> jest sponsorowany przez <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>dla %3</strong><br/><br/>Prawa autorskie 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Prawa autorskie 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Podziękowania dla: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg i <a href="https://www.transifex.com/calamares/calamares/">zespołu tłumaczy Calamares</a>.<br/><br/><a href="https://calamares.io/">Projekt Calamares</a> jest sponsorowany przez <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_pl_PL.ts b/lang/calamares_pl_PL.ts index 1a1b5bd88..ab78c6eb2 100644 --- a/lang/calamares_pl_PL.ts +++ b/lang/calamares_pl_PL.ts @@ -122,68 +122,6 @@ Running command %1 %2 - - - External command crashed - Zewnętrzne polecenie nie powiodło się - - - - Command %1 crashed. -Output: -%2 - Polecenie %1 nie powiodło się. -Wyjście: -%2 - - - - External command failed to start - Zewnętrzne polecenie nie uruchomiło się - - - - Command %1 failed to start. - Polecenie %1 nie uruchomiło się. - - - - Internal error when starting command - Błąd wewnętrzny podczas uruchamiania polecenia - - - - Bad parameters for process job call. - Błędne parametry wywołania zadania. - - - - External command failed to finish - Nie udało się zakończyć zewnętrznego polecenia - - - - Command %1 failed to finish in %2s. -Output: -%3 - Nie udało się zakończyć polecenia %1 w %2s. -Wyjście: -%3 - - - - External command finished with errors - Zewnętrzne polecenie zakończone z błędami - - - - Command %1 finished with exit code %2. -Output: -%3 - Polecenie %1 zakończone z kodem wyjścia %2. -Wyjście: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Wyjście: - + &Cancel &Anuluj - + Cancel installation without changing the system. - + Cancel installation? Przerwać instalację? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Czy naprawdę chcesz przerwać instalację? Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + &Yes - + &No - + &Close - + Continue with setup? Kontynuować instalację? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Zainstaluj - + Go &back &Wstecz - + &Done - + The installation is complete. Close the installer. - + Error Błąd - + Installation Failed Wystąpił błąd instalacji @@ -333,15 +271,88 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.Niepobieralny błąd Pythona. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Błędne parametry wywołania zadania. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Instalator %1 - + Show debug information Pokaż informację debugowania @@ -392,12 +403,12 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +419,83 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: Partycja systemowa EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + + LVM LV name + + + + Flags: Flagi: - + &Mount Point: Punkt &montowania: @@ -586,27 +602,27 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.Ro&zmiar: - + En&crypt - + Logical Logiczna - + Primary Podstawowa - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. Instalator nie mógł utworzyć partycji na dysku '%1'. - - - Could not open device '%1'. - Nie udało się otworzyć urządzenia '%1'. - - - - Could not open partition table. - Nie udało się otworzyć tablicy partycji. - - - - The installer failed to create file system on partition %1. - Instalator nie mógł utworzyć systemu plików na partycji %1. - - - - The installer failed to update partition table on disk '%1'. - Instalator nie mógł zaktualizować tablicy partycji na dysku '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. Instalator nie mógł utworzyć tablicy partycji na %1. - - - Could not open device %1. - Nie udało się otworzyć urządzenia %1. - CreateUserJob @@ -781,17 +772,17 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.The installer failed to delete partition %1. Instalator nie mógł usunąć partycji %1. - - - Partition (%1) and device (%2) do not match. - Partycja (%1) i urządzenie (%2) są niezgodne. - - - - Could not open device %1. - Nie udało się otworzyć urządzenia %1. - - - - Could not open partition table. - Nie udało się otworzyć tablicy partycji. - DeviceInfoWidget @@ -972,37 +948,37 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. FillGlobalStorageJob - + Set partition information Ustaw informacje partycji - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.Formularz - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1051,45 +1032,25 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatuj partycję %1 (system plików: %2, rozmiar: %3 MB) na %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. Instalator nie mógł sformatować partycji %1 na dysku '%2'. - - - Could not open device '%1'. - Nie można otworzyć urządzenia '%1'. - - - - Could not open partition table. - Nie udało się otworzyć tablicy partycji. - - - - The installer failed to create file system on partition %1. - Instalator nie mógł utworzyć systemu plików na partycji %1. - - - - The installer failed to update partition table on disk '%1'. - Instalator nie mógł zaktualizować tablicy partycji na dysku '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Are you sure you want to create a new partition table on %1? Na pewno utworzyć nową tablicę partycji na %1? @@ -1689,22 +1650,22 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.Domyślnie - + unknown - + extended - + unformatted - + swap @@ -1921,24 +1882,24 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index b1f7594ee..89c6f9a68 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -122,68 +122,6 @@ Running command %1 %2 Executando comando %1 %2 - - - External command crashed - Comando externo falhou - - - - Command %1 crashed. -Output: -%2 - Comando %1 falhou -Saída: -%2 - - - - External command failed to start - Comando externo falhou ao inciar - - - - Command %1 failed to start. - Comando %1 falhou ao iniciar. - - - - Internal error when starting command - Erro interno ao iniciar comando - - - - Bad parameters for process job call. - Parâmetros ruins para a chamada da tarefa do processo. - - - - External command failed to finish - Comando externo falhou ao finalizar - - - - Command %1 failed to finish in %2s. -Output: -%3 - Comando %1 falhou ao finalizar em %2. -Saída: -%3 - - - - External command finished with errors - Comando externo terminou com erros - - - - Command %1 finished with exit code %2. -Output: -%3 - Comando %1 finalizou com o código de saída %2. -Saída: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Saída: - + &Cancel &Cancelar - + Cancel installation without changing the system. Cancelar instalação sem modificar o sistema. - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Você deseja realmente cancelar a instalação atual? O instalador será fechado e todas as alterações serão perdidas. - + &Yes &Sim - + &No &Não - + &Close Fe&char - + Continue with setup? Continuar com configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O instalador %1 está prestes a fazer alterações no disco a fim de instalar %2.<br/><strong>Você não será capaz de desfazer estas mudanças.</strong> - + &Install now &Instalar agora - + Go &back &Voltar - + &Done Completa&do - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. - + Error Erro - + Installation Failed Falha na Instalação @@ -333,15 +271,90 @@ O instalador será fechado e todas as alterações serão perdidas.Erro inbuscável do Python. + + CalamaresUtils::CommandList + + + Could not run command. + Não foi possível executar o comando. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + O comando não pode ser executado no ambiente de destino porque o rootMontPoint não foi definido. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Saída: + + + + + External command crashed. + O comando externo falhou. + + + + Command <i>%1</i> crashed. + O comando <i>%1</i> falhou. + + + + External command failed to start. + O comando externo falhou ao iniciar. + + + + Command <i>%1</i> failed to start. + O comando <i>%1</i> falhou ao iniciar. + + + + Internal error when starting command. + Erro interno ao iniciar o comando. + + + + Bad parameters for process job call. + Parâmetros ruins para a chamada da tarefa do processo. + + + + External command failed to finish. + O comando externo falhou ao finalizar. + + + + Command <i>%1</i> failed to finish in %2 seconds. + O comando <i>%1</i> falhou ao finalizar em %2 segundos. + + + + External command finished with errors. + O comando externo foi concluído com erros. + + + + Command <i>%1</i> finished with exit code %2. + O comando <i>%1</i> foi concluído com o código %2. + + CalamaresWindow - + %1 Installer Instalador %1 - + Show debug information Exibir informações de depuração @@ -394,12 +407,12 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.<strong>Particionamento manual</strong><br/>Você pode criar ou redimensionar partições. - + Boot loader location: Local do gerenciador de inicialização: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 será reduzida para %2MB e uma nova partição de %3MB será criada para %4. @@ -410,83 +423,83 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. - - - + + + Current: Atual: - + Reuse %1 as home partition for %2. Reutilizar %1 como partição home para %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Selecione uma partição para reduzir, então arraste a barra de baixo para redimensionar</strong> - + <strong>Select a partition to install on</strong> <strong>Selecione uma partição para instalação</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Uma partição de sistema EFI não pôde ser encontrada neste dispositivo. Por favor, volte e use o particionamento manual para gerenciar %1. - + The EFI system partition at %1 will be used for starting %2. A partição de sistema EFI em %1 será utilizada para iniciar %2. - + EFI system partition: Partição de sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Parece que não há um sistema operacional neste dispositivo. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Apagar disco</strong><br/>Isto <font color="red">excluirá</font> todos os dados no dispositivo de armazenamento selecionado. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento possui %1 nele. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar lado a lado</strong><br/>O instalador reduzirá uma partição para liberar espaço para %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Substituir uma partição</strong><br/>Substitui uma partição com %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Já há um sistema operacional neste dispositivo de armazenamento. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Há diversos sistemas operacionais neste dispositivo de armazenamento. O que você gostaria de fazer?<br/>Você poderá revisar e confirmar suas opções antes que as alterações sejam feitas no dispositivo de armazenamento. @@ -535,7 +548,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. ContextualProcessJob - + Contextual Processes Job Tarefa de Processos Contextuais @@ -573,12 +586,17 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Sistema de &Arquivos: - + + LVM LV name + Nome do LVM LV + + + Flags: Marcadores: - + &Mount Point: Ponto de &Montagem: @@ -588,27 +606,27 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.&Tamanho: - + En&crypt &Criptografar - + Logical Lógica - + Primary Primária - + GPT GPT - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor, selecione outro. @@ -616,45 +634,25 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Criar nova partição de %2MB em %4 (%3) com o sistema de arquivos %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Criar nova partição de <strong>%2MB</strong> em <strong>%4</strong> (%3) com o sistema de arquivos <strong>%1</strong>. - + Creating new %1 partition on %2. Criando nova partição %1 em %2. - + The installer failed to create partition on disk '%1'. O instalador não conseguiu criar partições no disco '%1'. - - - Could not open device '%1'. - Não foi possível abrir o dispositivo '%1'. - - - - Could not open partition table. - Não foi possível abrir a tabela de partições. - - - - The installer failed to create file system on partition %1. - O instalador não conseguiu criar o sistema de arquivos na partição %1. - - - - The installer failed to update partition table on disk '%1'. - O instalador falhou ao atualizar a tabela de partições no disco '%1'. - CreatePartitionTableDialog @@ -687,30 +685,25 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. CreatePartitionTableJob - + Create new %1 partition table on %2. Criar nova tabela de partições %1 em %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Criar nova tabela de partições <strong>%1</strong> em <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Criando nova tabela de partições %1 em %2. - + The installer failed to create a partition table on %1. O instalador não conseguiu criar uma tabela de partições em %1. - - - Could not open device %1. - Não foi possível abrir o dispositivo %1. - CreateUserJob @@ -783,17 +776,17 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. DeletePartitionJob - + Delete partition %1. Excluir a partição %1. - + Delete partition <strong>%1</strong>. Excluir a partição <strong>%1</strong>. - + Deleting partition %1. Excluindo a partição %1. @@ -802,21 +795,6 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.The installer failed to delete partition %1. O instalador não conseguiu excluir a partição %1. - - - Partition (%1) and device (%2) do not match. - Partição (%1) e dispositivo (%2) não correspondem. - - - - Could not open device %1. - Não foi possível abrir o dispositivo %1. - - - - Could not open partition table. - Não foi possível abrir a tabela de partições. - DeviceInfoWidget @@ -974,37 +952,37 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. FillGlobalStorageJob - + Set partition information Definir informações da partição - + Install %1 on <strong>new</strong> %2 system partition. Instalar %1 em <strong>nova</strong> partição %2 do sistema. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Configurar <strong>nova</strong> partição %2 com ponto de montagem <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instalar %2 em partição %3 do sistema <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Configurar partição %3 <strong>%1</strong> com ponto de montagem <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalar gerenciador de inicialização em <strong>%1</strong>. - + Setting up mount points. Configurando pontos de montagem. @@ -1017,7 +995,12 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Formulário - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Quando esta caixa estiver assinalada, o seu sistema será reiniciado imediatamente ao clicar em <span style=" font-style:italic;">Concluir</span> ou fechar o instalador.</p></body></html> + + + &Restart now &Reiniciar agora @@ -1053,45 +1036,25 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatar partição %1 (sistema de arquivos: %2, tamanho: %3 MB) em %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatar a partição de <strong>%3MB</strong> <strong>%1</strong> com o sistema de arquivos <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatando partição %1 com o sistema de arquivos %2. - + The installer failed to format partition %1 on disk '%2'. O instalador falhou em formatar a partição %1 no disco '%2'. - - - Could not open device '%1'. - Não foi possível abrir o dispositivo '%1'. - - - - Could not open partition table. - Não foi possível abrir a tabela de partições. - - - - The installer failed to create file system on partition %1. - O instalador falhou ao criar o sistema de arquivos na partição %1. - - - - The installer failed to update partition table on disk '%1'. - O instalador falhou ao atualizar a tabela de partições no disco '%1'. - InteractiveTerminalPage @@ -1534,7 +1497,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Insta&lar o gerenciador de inicialização em: - + Are you sure you want to create a new partition table on %1? Você tem certeza de que deseja criar uma nova tabela de partições em %1? @@ -1691,22 +1654,22 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Padrão - + unknown desconhecido - + extended estendida - + unformatted não formatado - + swap swap @@ -1923,24 +1886,24 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Definir modelo de teclado para %1, layout para %2-%3 - + Failed to write keyboard configuration for the virtual console. Falha ao gravar a configuração do teclado para o console virtual. - - - + + + Failed to write to %1 Falha ao gravar em %1 - + Failed to write keyboard configuration for X11. Falha ao gravar a configuração do teclado para X11. - + Failed to write keyboard configuration to existing /etc/default directory. Falha ao gravar a configuração do teclado no diretório /etc/default existente. @@ -2109,6 +2072,14 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Não foi possível abrir /etc/timezone para gravação + + ShellProcessJob + + + Shell Processes Job + Processos de trabalho do Shell + + SummaryPage @@ -2343,8 +2314,8 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>por %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimentos: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg e ao <a href="https://www.transifex.com/calamares/calamares/">time de tradutores do Calamares</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> o desenvolvimento é patrocinado por <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>para %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimentos a: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg e às <a href="https://www.transifex.com/calamares/calamares/">equipes de tradutores do Calamares</a>.<br/><br/>O desenvolvimento do <a href="https://calamares.io/">Calamares</a> tem apoio de <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 9fcd66398..25ebaeef1 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -122,68 +122,6 @@ Running command %1 %2 A executar comando %1 %2 - - - External command crashed - Comando externo crashou - - - - Command %1 crashed. -Output: -%2 - Comando %1 crashou. -Saída: -%2 - - - - External command failed to start - Comando externo falhou ao iniciar - - - - Command %1 failed to start. - Comando% 1 falhou ao iniciar. - - - - Internal error when starting command - Erro interno ao iniciar comando - - - - Bad parameters for process job call. - Maus parâmetros para chamada de processamento de tarefa. - - - - External command failed to finish - Comando externo não conseguiu terminar - - - - Command %1 failed to finish in %2s. -Output: -%3 - Comando %1 falhou ao terminar em %2s. -Saída: -%3 - - - - External command finished with errors - Comando externo terminou com erros - - - - Command %1 finished with exit code %2. -Output: -%3 - Comando %1 finalizou com o código de saída %2. -Saída: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Saída: - + &Cancel &Cancelar - + Cancel installation without changing the system. Cancelar instalar instalação sem modificar o sistema. - + Cancel installation? Cancelar a instalação? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Tem a certeza que pretende cancelar o atual processo de instalação? O instalador será encerrado e todas as alterações serão perdidas. - + &Yes &Sim - + &No &Não - + &Close &Fechar - + Continue with setup? Continuar com a configuração? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> O %1 instalador está prestes a fazer alterações ao seu disco em ordem para instalar %2.<br/><strong>Não será capaz de desfazer estas alterações.</strong> - + &Install now &Instalar agora - + Go &back Voltar &atrás - + &Done &Feito - + The installation is complete. Close the installer. A instalação está completa. Feche o instalador. - + Error Erro - + Installation Failed Falha na Instalação @@ -333,15 +271,90 @@ O instalador será encerrado e todas as alterações serão perdidas.Erro inatingível do Python. + + CalamaresUtils::CommandList + + + Could not run command. + Não foi possível correr o comando. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + Não está definido o Ponto de Montagem root, portanto o comando não pode ser corrido no ambiente alvo. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Saída de Dados: + + + + + External command crashed. + O comando externo "crashou". + + + + Command <i>%1</i> crashed. + Comando <i>%1</i> "crashou". + + + + External command failed to start. + Comando externo falhou ao iniciar. + + + + Command <i>%1</i> failed to start. + Comando <i>%1</i> falhou ao iniciar. + + + + Internal error when starting command. + Erro interno ao iniciar comando. + + + + Bad parameters for process job call. + Maus parâmetros para chamada de processamento de tarefa. + + + + External command failed to finish. + Comando externo falhou a finalização. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Comando <i>%1</i> falhou ao finalizar em %2 segundos. + + + + External command finished with errors. + Comando externo finalizou com erros. + + + + Command <i>%1</i> finished with exit code %2. + Comando <i>%1</i> finalizou com código de saída %2. + + CalamaresWindow - + %1 Installer %1 Instalador - + Show debug information Mostrar informação de depuração @@ -392,12 +405,12 @@ O instalador será encerrado e todas as alterações serão perdidas.<strong>Particionamento manual</strong><br/>Pode criar ou redimensionar partições manualmente. - + Boot loader location: Localização do carregador de arranque: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 será encolhida para %2MB e uma nova %3MB partição será criada para %4. @@ -408,83 +421,83 @@ O instalador será encerrado e todas as alterações serão perdidas. - - - + + + Current: Atual: - + Reuse %1 as home partition for %2. Reutilizar %1 como partição home para %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Selecione uma partição para encolher, depois arraste a barra de fundo para redimensionar</strong> - + <strong>Select a partition to install on</strong> <strong>Selecione uma partição para instalar</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Nenhuma partição de sistema EFI foi encontrada neste sistema. Por favor volte atrás e use o particionamento manual para configurar %1. - + The EFI system partition at %1 will be used for starting %2. A partição de sistema EFI em %1 será usada para iniciar %2. - + EFI system partition: Partição de sistema EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento aparenta não ter um sistema operativo. O que quer fazer?<br/>Poderá rever e confirmar as suas escolhas antes de qualquer alteração ser feita no dispositivo de armazenamento. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Apagar disco</strong><br/>Isto irá <font color="red">apagar</font> todos os dados atualmente apresentados no dispositivo de armazenamento selecionado. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento tem %1 nele. O que quer fazer?<br/>Poderá rever e confirmar as suas escolhas antes de qualquer alteração ser feita no dispositivo de armazenamento. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalar paralelamente</strong><br/>O instalador irá encolher a partição para arranjar espaço para %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Substituir a partição</strong><br/>Substitui a partição com %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento já tem um sistema operativo nele. O que quer fazer?<br/>Poderá rever e confirmar as suas escolhas antes de qualquer alteração ser feita no dispositivo de armazenamento. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Este dispositivo de armazenamento tem múltiplos sistemas operativos nele, O que quer fazer?<br/>Poderá rever e confirmar as suas escolhas antes de qualquer alteração ser feita no dispositivo de armazenamento. @@ -533,7 +546,7 @@ O instalador será encerrado e todas as alterações serão perdidas. ContextualProcessJob - + Contextual Processes Job Tarefa de Processos Contextuais @@ -571,12 +584,17 @@ O instalador será encerrado e todas as alterações serão perdidas.Sistema de Fi&cheiros: - + + LVM LV name + nome LVM LV + + + Flags: Flags: - + &Mount Point: &Ponto de Montagem: @@ -586,27 +604,27 @@ O instalador será encerrado e todas as alterações serão perdidas.Ta&manho: - + En&crypt En&criptar - + Logical Lógica - + Primary Primária - + GPT GPT - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor selecione outro. @@ -614,45 +632,25 @@ O instalador será encerrado e todas as alterações serão perdidas. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Criar nova partição de %2MB em %4 (%3) com sistema de ficheiros %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Criar nova partição de <strong>%2MB</strong> em <strong>%4</strong> (%3) com sistema de ficheiros <strong>%1</strong>. - + Creating new %1 partition on %2. Criando nova partição %1 em %2. - + The installer failed to create partition on disk '%1'. O instalador falhou a criação da partição no disco '%1'. - - - Could not open device '%1'. - Não foi possível abrir o dispositivo '%1'. - - - - Could not open partition table. - Não foi possível abrir a tabela de partições. - - - - The installer failed to create file system on partition %1. - O instalador falhou a criação do sistema de ficheiros na partição %1. - - - - The installer failed to update partition table on disk '%1'. - O instalador falhou ao atualizar a tabela de partições no disco '%1'. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ O instalador será encerrado e todas as alterações serão perdidas. CreatePartitionTableJob - + Create new %1 partition table on %2. Criar nova %1 tabela de partições em %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Criar nova <strong>%1</strong> tabela de partições <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. A criar nova %1 tabela de partições em %2. - + The installer failed to create a partition table on %1. O instalador falhou a criação de uma tabela de partições em %1. - - - Could not open device %1. - Não foi possível abrir o dispositivo %1. - CreateUserJob @@ -781,17 +774,17 @@ O instalador será encerrado e todas as alterações serão perdidas. DeletePartitionJob - + Delete partition %1. Apagar partição %1. - + Delete partition <strong>%1</strong>. Apagar partição <strong>%1</strong>. - + Deleting partition %1. A apagar a partição %1. @@ -800,21 +793,6 @@ O instalador será encerrado e todas as alterações serão perdidas.The installer failed to delete partition %1. O instalador não conseguiu apagar a partição %1. - - - Partition (%1) and device (%2) do not match. - Partição (%1) e dispositivo (%2) não correspondem. - - - - Could not open device %1. - Não foi possível abrir o dispositivo %1. - - - - Could not open partition table. - Não foi possível abrir tabela de partições. - DeviceInfoWidget @@ -972,37 +950,37 @@ O instalador será encerrado e todas as alterações serão perdidas. FillGlobalStorageJob - + Set partition information Definir informação da partição - + Install %1 on <strong>new</strong> %2 system partition. Instalar %1 na <strong>nova</strong> %2 partição de sistema. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Criar <strong>nova</strong> %2 partição com ponto de montagem <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instalar %2 em %3 partição de sistema <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Criar %3 partitição <strong>%1</strong> com ponto de montagem <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalar carregador de arranque em <strong>%1</strong>. - + Setting up mount points. Definindo pontos de montagem. @@ -1015,7 +993,12 @@ O instalador será encerrado e todas as alterações serão perdidas.Formulário - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Quando esta caixa está assinalada, o seu sistema irá reiniciar automaticamente quando clicar em <span style=" font-style:italic;">Feito</span> ou fechar o instalador.</p></body></html> + + + &Restart now &Reiniciar agora @@ -1051,45 +1034,25 @@ O instalador será encerrado e todas as alterações serão perdidas. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatar partição %1 (sistema de ficheiros: %2, tamanho: %3 MB) em %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatar <strong>%3MB</strong> partitição <strong>%1</strong> com sistema de ficheiros <strong>%2</strong>. - + Formatting partition %1 with file system %2. A formatar partição %1 com sistema de ficheiros %2. - + The installer failed to format partition %1 on disk '%2'. O instalador falhou ao formatar a partição %1 no disco '%2'. - - - Could not open device '%1'. - Não foi possível abrir o dispositivo '%1'. - - - - Could not open partition table. - Não foi possível abrir a tabela de partições. - - - - The installer failed to create file system on partition %1. - O instalador falhou ao criar o sistema de ficheiros na partição %1. - - - - The installer failed to update partition table on disk '%1'. - O instalador falhou ao atualizar a tabela de partições no disco '%1'. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ O instalador será encerrado e todas as alterações serão perdidas.Instalar &carregador de arranque em: - + Are you sure you want to create a new partition table on %1? Tem certeza de que deseja criar uma nova tabela de partições em %1? @@ -1689,22 +1652,22 @@ O instalador será encerrado e todas as alterações serão perdidas.Padrão - + unknown desconhecido - + extended estendido - + unformatted não formatado - + swap swap @@ -1921,24 +1884,24 @@ O instalador será encerrado e todas as alterações serão perdidas.Definir modelo do teclado para %1, disposição para %2-%3 - + Failed to write keyboard configuration for the virtual console. Falha ao escrever configuração do teclado para a consola virtual. - - - + + + Failed to write to %1 Falha ao escrever para %1 - + Failed to write keyboard configuration for X11. Falha ao escrever configuração do teclado para X11. - + Failed to write keyboard configuration to existing /etc/default directory. Falha ao escrever a configuração do teclado para a diretoria /etc/default existente. @@ -2107,6 +2070,14 @@ O instalador será encerrado e todas as alterações serão perdidas.Não é possível abrir /etc/timezone para escrita + + ShellProcessJob + + + Shell Processes Job + Tarefa de Processos da Shell + + SummaryPage @@ -2341,8 +2312,8 @@ O instalador será encerrado e todas as alterações serão perdidas. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Direitos de Cópia 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Direitos de Cópia 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimentos a: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg e para <a href="https://www.transifex.com/calamares/calamares/">a equipa de tradutores do Calamares</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> desenvolvimento apoiado por <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>para %3</strong><br/><br/>Direitos de cópia 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Direitos de cópia 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimentos a: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg e à <a href="https://www.transifex.com/calamares/calamares/">equipa de tradutores do Calamares</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> desenvolvimento patrocinado por <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index 24b974aca..6694183f5 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -122,68 +122,6 @@ Running command %1 %2 Se rulează comanda %1 %2 - - - External command crashed - Comandă externă a avut o pană - - - - Command %1 crashed. -Output: -%2 - Comanda %1 în pană. -Rezultat: -%2 - - - - External command failed to start - Comanda externă nu a pornit - - - - Command %1 failed to start. - Comanda %1 nu a pornit. - - - - Internal error when starting command - Eroare internă în pornirea comenzii - - - - Bad parameters for process job call. - Parametri proști pentru apelul sarcinii de proces. - - - - External command failed to finish - Comanda externă nu s-a terminat - - - - Command %1 failed to finish in %2s. -Output: -%3 - Comanda %1 nu s-a terminat în %2s. -Rezultat: -%3 - - - - External command finished with errors - Comanda externă s-a terminat cu erori - - - - Command %1 finished with exit code %2. -Output: -%3 - Comanda %1 s-a terminat cu codul de ieșire %2. -Rezultat: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Rezultat: - + &Cancel &Anulează - + Cancel installation without changing the system. Anulează instalarea fără schimbarea sistemului. - + Cancel installation? Anulez instalarea? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doriți să anulați procesul curent de instalare? Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + &Yes &Da - + &No &Nu - + &Close În&chide - + Continue with setup? Continuați configurarea? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Programul de instalare %1 este pregătit să facă schimbări pe discul dumneavoastră pentru a instala %2.<br/><strong>Nu veți putea anula aceste schimbări.</strong> - + &Install now &Instalează acum - + Go &back Î&napoi - + &Done &Gata - + The installation is complete. Close the installer. Instalarea este completă. Închide instalatorul. - + Error Eroare - + Installation Failed Instalare eșuată @@ -333,15 +271,88 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Eroare Python nepreluabilă + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Parametri proști pentru apelul sarcinii de proces. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Program de instalare %1 - + Show debug information Arată informația de depanare @@ -392,12 +403,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.<strong>Partiționare manuală</strong><br/>Puteți crea sau redimensiona partițiile. - + Boot loader location: Locație boot loader: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 va fi micșorată la %2MB și o nouă partiție %3MB va fi creată pentru %4. @@ -408,83 +419,83 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. - - - + + + Current: Actual: - + Reuse %1 as home partition for %2. Reutilizează %1 ca partiție home pentru %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Selectează o partiție de micșorat, apoi trageți bara din jos pentru a redimensiona</strong> - + <strong>Select a partition to install on</strong> <strong>Selectează o partiție pe care să se instaleze</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. O partiție de sistem EFI nu poate fi găsită nicăieri în acest sistem. Vă rugăm să reveniți și să partiționați manual pentru a seta %1. - + The EFI system partition at %1 will be used for starting %2. Partiția de sistem EFI de la %1 va fi folosită pentru a porni %2. - + EFI system partition: Partiție de sistem EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Acest dispozitiv de stocare nu pare să aibă un sistem de operare instalat. Ce doriți să faceți?<br/>Veți putea revedea și confirma alegerile făcute înainte să fie realizate schimbări pe dispozitivul de stocare. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Șterge discul</strong><br/>Aceasta va <font color="red">șterge</font> toate datele prezente pe dispozitivul de stocare selectat. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Acest dispozitiv de stocare are %1. Ce doriți să faceți?<br/>Veți putea revedea și confirma alegerile făcute înainte să fie realizate schimbări pe dispozitivul de stocare. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instalează laolaltă</strong><br/>Instalatorul va micșora o partiție pentru a face loc pentru %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Înlocuiește o partiție</strong><br/>Înlocuiește o partiție cu %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Acest dispozitiv de stocare are deja un sistem de operare instalat. Ce doriți să faceți?<br/>Veți putea revedea și confirma alegerile făcute înainte de se realiza schimbări pe dispozitivul de stocare. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Acest dispozitiv de stocare are mai multe sisteme de operare instalate. Ce doriți să faceți?<br/>Veți putea revedea și confirma alegerile făcute înainte de a se realiza schimbări pe dispozitivul de stocare. @@ -533,7 +544,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. ContextualProcessJob - + Contextual Processes Job Job de tip Contextual Process @@ -571,12 +582,17 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Sis&tem de fișiere: - + + LVM LV name + + + + Flags: Flags: - + &Mount Point: Punct de &Montare @@ -586,27 +602,27 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Mă&rime: - + En&crypt &Criptează - + Logical Logică - + Primary Primară - + GPT GPT - + Mountpoint already in use. Please select another one. Punct de montare existent. Vă rugăm alegeţi altul. @@ -614,45 +630,25 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Creează o nouă partiție de %2MB pe %4 (3%) cu sistemul de operare %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Creează o nouă partiție de <strong>%2MB</strong> pe <strong>%4</strong> (%3) cu sistemul de fișiere <strong>%1</strong>. - + Creating new %1 partition on %2. Se creează nouă partiție %1 pe %2. - + The installer failed to create partition on disk '%1'. Programul de instalare nu a putut crea partiția pe discul „%1”. - - - Could not open device '%1'. - Nu se poate deschide dispozitivul „%1”. - - - - Could not open partition table. - Nu se poate deschide tabela de partiții. - - - - The installer failed to create file system on partition %1. - Programul de instalare nu a putut crea sistemul de fișiere pe partiția %1. - - - - The installer failed to update partition table on disk '%1'. - Programul de instalare nu a putut actualiza tabela de partiții pe discul „%1”. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. CreatePartitionTableJob - + Create new %1 partition table on %2. Creați o nouă tabelă de partiții %1 pe %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Creați o nouă tabelă de partiții <strong>%1</strong> pe <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Se creează o nouă tabelă de partiții %1 pe %2. - + The installer failed to create a partition table on %1. Programul de instalare nu a putut crea o tabelă de partiții pe %1. - - - Could not open device %1. - Nu se poate deschide dispozitivul %1. - CreateUserJob @@ -781,17 +772,17 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. DeletePartitionJob - + Delete partition %1. Șterge partiția %1. - + Delete partition <strong>%1</strong>. Șterge partiția <strong>%1</strong>. - + Deleting partition %1. Se șterge partiția %1. @@ -800,21 +791,6 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.The installer failed to delete partition %1. Programul de instalare nu a putut șterge partiția %1. - - - Partition (%1) and device (%2) do not match. - Partiția (%1) și dispozitivul (%2) nu se potrivesc. - - - - Could not open device %1. - Nu se poate deschide dispozitivul %1. - - - - Could not open partition table. - Nu se poate deschide tabela de partiții. - DeviceInfoWidget @@ -972,37 +948,37 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. FillGlobalStorageJob - + Set partition information Setează informația pentru partiție - + Install %1 on <strong>new</strong> %2 system partition. Instalează %1 pe <strong>noua</strong> partiție de sistem %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Setează <strong>noua</strong> partiție %2 cu punctul de montare <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instalează %2 pe partiția de sistem %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Setează partiția %3 <strong>%1</strong> cu punctul de montare <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalează bootloader-ul pe <strong>%1</strong>. - + Setting up mount points. Se setează puncte de montare. @@ -1015,7 +991,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Formular - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Repornește acum @@ -1051,45 +1032,25 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatează partiția %1 (sistem de fișiere: %2, mărime: %3 MB) pe %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formatează partiția <strong>%1</strong>, de <strong>%3MB</strong> cu sistemul de fișiere <strong>%2</strong>. - + Formatting partition %1 with file system %2. Se formatează partiția %1 cu sistemul de fișiere %2. - + The installer failed to format partition %1 on disk '%2'. Programul de instalare nu a putut formata partiția %1 pe discul „%2”. - - - Could not open device '%1'. - Nu se poate deschide dispozitivul „%1. - - - - Could not open partition table. - Nu se poate deschide tabela de partiții. - - - - The installer failed to create file system on partition %1. - Programul de instalare nu a putut crea sistemul de fișiere pe partiția %1. - - - - The installer failed to update partition table on disk '%1'. - Programul de instalare nu a putut actualiza tabela de partiții pe discul „%1”. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Instalează boot&loaderul pe: - + Are you sure you want to create a new partition table on %1? Sigur doriți să creați o nouă tabelă de partiție pe %1? @@ -1689,22 +1650,22 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Implicit - + unknown necunoscut - + extended extins - + unformatted neformatat - + swap swap @@ -1921,24 +1882,24 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Setează modelul de tastatură la %1, cu aranjamentul %2-%3 - + Failed to write keyboard configuration for the virtual console. Nu s-a reușit scrierea configurației de tastatură pentru consola virtuală. - - - + + + Failed to write to %1 Nu s-a reușit scrierea %1 - + Failed to write keyboard configuration for X11. Nu s-a reușit scrierea configurației de tastatură pentru X11. - + Failed to write keyboard configuration to existing /etc/default directory. Nu s-a reușit scrierea configurației de tastatură în directorul existent /etc/default. @@ -2107,6 +2068,14 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Nu se poate deschide /etc/timezone pentru scriere + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,8 +2310,8 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>pentru %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Mulțumim: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg și <a href="https://www.transifex.com/calamares/calamares/">Echipei de translatori Calamares</a>.<br/><br/>Dezvoltarea<a href="http://calamares.io/">Calamares</a> este sponsorizată de <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 398a3c7e6..5ad426faf 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -122,68 +122,6 @@ Running command %1 %2 Выполняется команда %1 %2 - - - External command crashed - Во внешней команде произошел сбой - - - - Command %1 crashed. -Output: -%2 - В команде %1 произошел сбой. -Вывод: -%2 - - - - External command failed to start - Невозможно запустить внешнюю команду - - - - Command %1 failed to start. - Невозможно запустить команду %1. - - - - Internal error when starting command - Внутрення ошибка при запуске команды - - - - Bad parameters for process job call. - Неверные параметры для вызова процесса. - - - - External command failed to finish - Невозможно завершить внешнюю команду - - - - Command %1 failed to finish in %2s. -Output: -%3 - Команда %1 не завершилась за %2 с. -Вывод: -%3 - - - - External command finished with errors - Внешняя команда завершилась с ошибками - - - - Command %1 finished with exit code %2. -Output: -%3 - Команда %1 завершлась с кодом возврата %2. -Вывод: -%3 - Calamares::PythonJob @@ -232,79 +170,79 @@ Output: - + &Cancel О&тмена - + Cancel installation without changing the system. Отменить установку без изменения системы. - + Cancel installation? Отменить установку? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Действительно прервать процесс установки? Программа установки сразу прекратит работу, все изменения будут потеряны. - + &Yes &Да - + &No &Нет - + &Close &Закрыть - + Continue with setup? Продолжить установку? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Программа установки %1 готова внести изменения на Ваш диск, чтобы установить %2.<br/><strong>Отменить эти изменения будет невозможно.</strong> - + &Install now Приступить к &установке - + Go &back &Назад - + &Done &Готово - + The installation is complete. Close the installer. Установка завершена. Закройте установщик. - + Error Ошибка - + Installation Failed Установка завершилась неудачей @@ -332,15 +270,88 @@ The installer will quit and all changes will be lost. Неизвестная ошибка Python + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Неверные параметры для вызова процесса. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Программа установки %1 - + Show debug information Показать отладочную информацию @@ -391,12 +402,12 @@ The installer will quit and all changes will be lost. <strong>Ручная разметка</strong><br/>Вы можете самостоятельно создавать разделы или изменять их размеры. - + Boot loader location: Расположение загрузчика: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 будет уменьшен до %2MB и новый раздел %3MB будет создан для %4. @@ -407,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: Текущий: - + Reuse %1 as home partition for %2. Использовать %1 как домашний раздел для %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Выберите раздел для уменьшения, затем двигайте ползунок, изменяя размер</strong> - + <strong>Select a partition to install on</strong> <strong>Выберите раздел для установки</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Не найдено системного раздела EFI. Пожалуйста, вернитесь назад и выполните ручную разметку %1. - + The EFI system partition at %1 will be used for starting %2. Системный раздел EFI на %1 будет использован для запуска %2. - + EFI system partition: Системный раздел EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Видимо, на этом устройстве нет операционной системы. Что Вы хотите сделать?<br/>Вы сможете изменить или подтвердить свой выбор до того, как на устройстве будут сделаны какие-либо изменения. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Стереть диск</strong><br/>Это <font color="red">удалит</font> все данные, которые сейчас находятся на выбранном устройстве. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На этом устройстве есть %1. Что Вы хотите сделать?<br/>Вы сможете изменить или подтвердить свой выбор до того, как на устройстве будут сделаны какие-либо изменения. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Установить рядом</strong><br/>Программа установки уменьшит раздел, чтобы освободить место для %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Заменить раздел</strong><br/>Меняет раздел на %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На этом устройстве уже есть операционная система. Что Вы хотите сделать?<br/>Вы сможете изменить или подтвердить свой выбор до того, как на устройстве будут сделаны какие-либо изменения. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На этом устройстве есть несколько операционных систем. Что Вы хотите сделать?<br/>Вы сможете изменить или подтвердить свой выбор до того, как на устройстве будут сделаны какие-либо изменения. @@ -532,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -570,12 +581,17 @@ The installer will quit and all changes will be lost. &Файловая система: - + + LVM LV name + + + + Flags: Флаги: - + &Mount Point: Точка &монтирования @@ -585,27 +601,27 @@ The installer will quit and all changes will be lost. Ра&змер: - + En&crypt Ши&фровать - + Logical Логический - + Primary Основной - + GPT GPT - + Mountpoint already in use. Please select another one. Точка монтирования уже занята. Пожалуйста, выберете другую. @@ -613,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Создать новый раздел %2 MB на %4 (%3) с файловой системой %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Создать новый раздел <strong>%2 MB</strong> на <strong>%4</strong> (%3) с файловой системой <strong>%1</strong>. - + Creating new %1 partition on %2. Создается новый %1 раздел на %2. - + The installer failed to create partition on disk '%1'. Программа установки не смогла создать раздел на диске '%1'. - - - Could not open device '%1'. - Не удалось открыть устройство '%1'. - - - - Could not open partition table. - Не удалось открыть таблицу разделов. - - - - The installer failed to create file system on partition %1. - Программа установки не смогла создать файловую систему на разделе %1. - - - - The installer failed to update partition table on disk '%1'. - Программа установки не смогла обновить таблицу разделов на диске '%1'. - CreatePartitionTableDialog @@ -684,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. Создать новую таблицу разделов %1 на %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Создать новую таблицу разделов <strong>%1</strong> на <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Создается новая таблица разделов %1 на %2. - + The installer failed to create a partition table on %1. Программа установки не смогла создать таблицу разделов на %1. - - - Could not open device %1. - Не удалось открыть устройство %1. - CreateUserJob @@ -780,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. Удалить раздел %1. - + Delete partition <strong>%1</strong>. Удалить раздел <strong>%1</strong>. - + Deleting partition %1. Удаляется раздел %1. @@ -799,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. Программе установки не удалось удалить раздел %1. - - - Partition (%1) and device (%2) do not match. - Раздел (%1) и устройство (%2) не совпадают. - - - - Could not open device %1. - Не удалось открыть устройство %1. - - - - Could not open partition table. - Не удалось открыть таблицу разделов. - DeviceInfoWidget @@ -971,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information Установить сведения о разделе - + Install %1 on <strong>new</strong> %2 system partition. Установить %1 на <strong>новый</strong> системный раздел %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Настроить <strong>новый</strong> %2 раздел с точкой монтирования <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Установить %2 на %3 системный раздел <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Настроить %3 раздел <strong>%1</strong> с точкой монтирования <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Установить загрузчик на <strong>%1</strong>. - + Setting up mount points. Настраиваются точки монтирования. @@ -1014,7 +990,12 @@ The installer will quit and all changes will be lost. Геометрия - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now П&ерезагрузить @@ -1050,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Форматировать раздел %1 (файловая система: %2, размер: %3 МБ) на %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Форматировать раздел <strong>%1</strong> размером <strong>%3MB</strong> с файловой системой <strong>%2</strong>. - + Formatting partition %1 with file system %2. Форматируется раздел %1 под файловую систему %2. - + The installer failed to format partition %1 on disk '%2'. Программе установки не удалось отформатировать раздел %1 на диске '%2'. - - - Could not open device '%1'. - Не удалось открыть устройство '%1'. - - - - Could not open partition table. - Не удалось открыть таблицу разделов. - - - - The installer failed to create file system on partition %1. - Программе установки не удалось создать файловую систему на разделе %1. - - - - The installer failed to update partition table on disk '%1'. - Программе установки не удалось обновить таблицу разделов на диске '%1'. - InteractiveTerminalPage @@ -1531,7 +1492,7 @@ The installer will quit and all changes will be lost. Установить &загрузчик в: - + Are you sure you want to create a new partition table on %1? Вы уверены, что хотите создать новую таблицу разделов на %1? @@ -1688,22 +1649,22 @@ The installer will quit and all changes will be lost. По умолчанию - + unknown неизвестный - + extended расширенный - + unformatted неформатированный - + swap swap @@ -1920,24 +1881,24 @@ The installer will quit and all changes will be lost. Установить модель клавиатуры на %1, раскладку на %2-%3 - + Failed to write keyboard configuration for the virtual console. Не удалось записать параметры клавиатуры для виртуальной консоли. - - - + + + Failed to write to %1 Не удалось записать на %1 - + Failed to write keyboard configuration for X11. Не удалось записать параметры клавиатуры для X11. - + Failed to write keyboard configuration to existing /etc/default directory. Не удалось записать параметры клавиатуры в существующий каталог /etc/default. @@ -2106,6 +2067,14 @@ The installer will quit and all changes will be lost. Невозможно открыть /etc/timezone для записи + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2340,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index 7780d2548..46881901d 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -122,68 +122,6 @@ Running command %1 %2 Spúšťa sa príkaz %1 %2 - - - External command crashed - Externý príkaz nečakane skončil - - - - Command %1 crashed. -Output: -%2 - Príkaz %1 nečakane skončil. -Výstup: -%2 - - - - External command failed to start - Zlyhalo spustenie externého príkazu - - - - Command %1 failed to start. - Zlyhalo spustenie príkazu %1. - - - - Internal error when starting command - Vnútorná chyba pri spúšťaní príkazu - - - - Bad parameters for process job call. - Nesprávne parametre pre volanie úlohy procesu. - - - - External command failed to finish - Zlyhalo dokončenie externého príkazu - - - - Command %1 failed to finish in %2s. -Output: -%3 - Zlyhalo dokončenie príkazu %1 v trvaní %2s. -Výstup: -%3 - - - - External command finished with errors - Externý príkaz bol dokončený s chybami - - - - Command %1 finished with exit code %2. -Output: -%3 - Príkaz %1 bol dokončený s konečným kódom %2. -Výstup: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Výstup: - + &Cancel &Zrušiť - + Cancel installation without changing the system. Zruší inštaláciu bez zmeny systému. - + Cancel installation? Zrušiť inštaláciu? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Skutočne chcete zrušiť aktuálny priebeh inštalácie? Inštalátor sa ukončí a všetky zmeny budú stratené. - + &Yes _Áno - + &No _Nie - + &Close _Zavrieť - + Continue with setup? Pokračovať v inštalácii? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Inštalátor distribúcie %1 sa chystá vykonať zmeny na vašom disku, aby nainštaloval distribúciu %2. <br/><strong>Tieto zmeny nebudete môcť vrátiť späť.</strong> - + &Install now &Inštalovať teraz - + Go &back Prejsť s&päť - + &Done _Dokončiť - + The installation is complete. Close the installer. Inštalácia je dokončená. Zatvorí inštalátor. - + Error Chyba - + Installation Failed Inštalácia zlyhala @@ -333,15 +271,90 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Nezískateľná chyba jazyka Python. + + CalamaresUtils::CommandList + + + Could not run command. + Nepodarilo sa spustiť príkaz. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Výstup: + + + + + External command crashed. + Externý príkaz nečakane skončil. + + + + Command <i>%1</i> crashed. + Príkaz <i>%1</i> nečakane skončil. + + + + External command failed to start. + Zlyhalo spustenie externého príkazu. + + + + Command <i>%1</i> failed to start. + Zlyhalo spustenie príkazu <i>%1</i> . + + + + Internal error when starting command. + Počas spúšťania príkazu sa vyskytla interná chyba. + + + + Bad parameters for process job call. + Nesprávne parametre pre volanie úlohy procesu. + + + + External command failed to finish. + Zlyhalo dokončenie externého príkazu. + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + Externý príkaz bol dokončený s chybami. + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Inštalátor distribúcie %1 - + Show debug information Zobraziť ladiace informácie @@ -392,12 +405,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. <strong>Ručné rozdelenie oddielov</strong><br/>Môžete vytvoriť alebo zmeniť veľkosť oddielov podľa seba. - + Boot loader location: Umiestnenie zavádzača: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. Oddiel %1 bude zmenšený na %2MB a nový %3MB oddiel bude vytvorený pre distribúciu %4. @@ -408,83 +421,83 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. - - - + + + Current: Teraz: - + Reuse %1 as home partition for %2. Opakované použitie oddielu %1 ako domovského pre distribúciu %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Vyberte oddiel na zmenšenie a potom potiahnutím spodného pruhu zmeňte veľkosť</strong> - + <strong>Select a partition to install on</strong> <strong>Vyberte oddiel, na ktorý sa má inštalovať</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Oddiel systému EFI sa nedá v tomto počítači nájsť. Prosím, prejdite späť a použite ručné rozdelenie oddielov na inštaláciu distribúcie %1. - + The EFI system partition at %1 will be used for starting %2. Oddie lsystému EFI na %1 bude použitý na spustenie distribúcie %2. - + EFI system partition: Oddiel systému EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Zdá sa, že toto úložné zariadenie neobsahuje operačný systém. Čo by ste chceli urobiť?<br/>Budete môcť skontrolovať a potvrdiť vaše voľby pred uplatnením akejkoľvek zmeny na úložnom zariadení. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Vymazanie disku</strong><br/>Týmto sa <font color="red">odstránia</font> všetky údaje momentálne sa nachádzajúce na vybranom úložnom zariadení. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Toto úložné zariadenie obsahuje operačný systém %1. Čo by ste chceli urobiť?<br/>Budete môcť skontrolovať a potvrdiť vaše voľby pred uplatnením akejkoľvek zmeny na úložnom zariadení. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Inštalácia popri súčasnom systéme</strong><br/>Inštalátor zmenší oddiel a uvoľní miesto pre distribúciu %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Nahradenie oddielu</strong><br/>Nahradí oddiel distribúciou %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Toto úložné zariadenie už obsahuje operačný systém. Čo by ste chceli urobiť?<br/>Budete môcť skontrolovať a potvrdiť vaše voľby pred uplatnením akejkoľvek zmeny na úložnom zariadení. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Toto úložné zariadenie obsahuje viacero operačných systémov. Čo by ste chceli urobiť?<br/>Budete môcť skontrolovať a potvrdiť vaše voľby pred uplatnením akejkoľvek zmeny na úložnom zariadení. @@ -533,7 +546,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. ContextualProcessJob - + Contextual Processes Job Úloha kontextových procesov @@ -571,12 +584,17 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. &Systém súborov: - + + LVM LV name + + + + Flags: Značky: - + &Mount Point: Bo&d pripojenia: @@ -586,27 +604,27 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Veľ&kosť: - + En&crypt Zaši&frovať - + Logical Logický - + Primary Primárny - + GPT GPT - + Mountpoint already in use. Please select another one. Bod pripojenia sa už používa. Prosím, vyberte iný. @@ -614,45 +632,25 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Vytvoriť nový %2MB oddiel na zariadení %4 (%3) so systémom súborov %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Vytvoriť nový <strong>%2MB</strong> oddiel na zariadení <strong>%4</strong> (%3) so systémom súborov <strong>%1</strong>. - + Creating new %1 partition on %2. Vytvára sa nový %1 oddiel na zariadení %2. - + The installer failed to create partition on disk '%1'. Inštalátor zlyhal pri vytváraní oddielu na disku „%1“. - - - Could not open device '%1'. - Nepodarilo sa otvoriť zariadenie „%1“. - - - - Could not open partition table. - Nepodarilo sa otvoriť tabuľku oddielov. - - - - The installer failed to create file system on partition %1. - Inštalátor zlyhal pri vytváraní systému súborov na oddieli %1. - - - - The installer failed to update partition table on disk '%1'. - Inštalátor zlyhal pri aktualizovaní tabuľky oddielov na disku „%1“. - CreatePartitionTableDialog @@ -685,30 +683,25 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. CreatePartitionTableJob - + Create new %1 partition table on %2. Vytvoriť novú tabuľku oddielov typu %1 na zariadení %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Vytvoriť novú <strong>%1</strong> tabuľku oddielov na zariadení <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Vytvára sa nová tabuľka oddielov typu %1 na zariadení %2. - + The installer failed to create a partition table on %1. Inštalátor zlyhal pri vytváraní tabuľky oddielov na zariadení %1. - - - Could not open device %1. - Nepodarilo sa otvoriť zariadenie %1. - CreateUserJob @@ -781,17 +774,17 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. DeletePartitionJob - + Delete partition %1. Odstrániť oddiel %1. - + Delete partition <strong>%1</strong>. Odstrániť oddiel <strong>%1</strong>. - + Deleting partition %1. Odstraňuje sa oddiel %1. @@ -800,21 +793,6 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. The installer failed to delete partition %1. Inštalátor zlyhal pri odstraňovaní oddielu %1. - - - Partition (%1) and device (%2) do not match. - Oddiel (%1) a zariadenie (%2) sa nezhodujú.. - - - - Could not open device %1. - Nepodarilo sa otvoriť zariadenie %1. - - - - Could not open partition table. - Nepodarilo sa otvoriť tabuľku oddielov. - DeviceInfoWidget @@ -972,37 +950,37 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. FillGlobalStorageJob - + Set partition information Nastaviť informácie o oddieli - + Install %1 on <strong>new</strong> %2 system partition. Inštalovať distribúciu %1 na <strong>novom</strong> %2 systémovom oddieli. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Nastaviť <strong>nový</strong> %2 oddiel s bodom pripojenia <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Inštalovať distribúciu %2 na %3 systémovom oddieli <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Nastaviť %3 oddiel <strong>%1</strong> s bodom pripojenia <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Inštalovať zavádzač do <strong>%1</strong>. - + Setting up mount points. Nastavujú sa body pripojení. @@ -1015,7 +993,12 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Forma - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Reštartovať teraz @@ -1051,45 +1034,25 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Naformátovanie oddielu %1 (systém súborov: %2, veľkosť: %3 MB) na %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Naformátovanie <strong>%3MB</strong> oddielu <strong>%1</strong> so systémom súborov <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formátuje sa oddiel %1 so systémom súborov %2. - + The installer failed to format partition %1 on disk '%2'. Inštalátor zlyhal pri formátovaní oddielu %1 na disku „%2“. - - - Could not open device '%1'. - Nepodarilo sa otvoriť zariadenie „%1“. - - - - Could not open partition table. - Nepodarilo sa otvoriť tabuľku oddielov. - - - - The installer failed to create file system on partition %1. - Inštalátor zlyhal pri vytváraní systému súborov na oddieli %1. - - - - The installer failed to update partition table on disk '%1'. - Inštalátor zlyhal pri aktualizovaní tabuľky oddielov na disku „%1“. - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Nainštalovať &zavádzač na: - + Are you sure you want to create a new partition table on %1? Naozaj chcete vytvoriť novú tabuľku oddielov na zariadení %1? @@ -1689,22 +1652,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Predvolený - + unknown neznámy - + extended rozšírený - + unformatted nenaformátovaný - + swap odkladací @@ -1921,24 +1884,24 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Nastavenie modelu klávesnice na %1 a rozloženia na %2-%3 - + Failed to write keyboard configuration for the virtual console. Zlyhalo zapísanie nastavenia klávesnice pre virtuálnu konzolu. - - - + + + Failed to write to %1 Zlyhalo zapísanie do %1 - + Failed to write keyboard configuration for X11. Zlyhalo zapísanie nastavenia klávesnice pre server X11. - + Failed to write keyboard configuration to existing /etc/default directory. Zlyhalo zapísanie nastavenia klávesnice do existujúceho adresára /etc/default. @@ -2107,6 +2070,14 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Nedá sa otvoriť cesta /etc/timezone pre zapisovanie + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,8 +2312,8 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Autorské práva 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorské práva 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Poďakovanie: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg a <a href="https://www.transifex.com/calamares/calamares/">prekladateľký tím inštalátora Calamares</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> je vyvýjaný s podporou projektu <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Oslobodzujúci softvér. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index d8525f7b8..32693a1b4 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -122,68 +122,6 @@ Running command %1 %2 - - - External command crashed - Zunanji ukaz se je sesul - - - - Command %1 crashed. -Output: -%2 - Sesutje ukaza %1. -Izpis: -%2 - - - - External command failed to start - Zunanjega ukaza ni bilo mogoče zagnati - - - - Command %1 failed to start. - Ukaz %1 se ni zagnal. - - - - Internal error when starting command - Notranja napaka ob zagonu ukaza - - - - Bad parameters for process job call. - Nepravilni parametri za klic procesa opravila. - - - - External command failed to finish - Zunanji ukaz se ni uspel zaključiti - - - - Command %1 failed to finish in %2s. -Output: -%3 - Zunanji ukaz %1 se ni uspel zaključiti v %2s. -Izpis: -%3 - - - - External command finished with errors - Zunanji ukaz se je zaključil z napakami - - - - Command %1 finished with exit code %2. -Output: -%3 - Ukaz %1 se je zaključil z izhodno kodo %2. -Izpis: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Izpis: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? Preklic namestitve? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Ali res želite preklicati trenutni namestitveni proces? Namestilni program se bo končal in vse spremembe bodo izgubljene. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Napaka - + Installation Failed Namestitev je spodletela @@ -333,15 +271,88 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Nepravilni parametri za klic procesa opravila. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Namestilnik - + Show debug information @@ -392,12 +403,12 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +419,83 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + + LVM LV name + + + + Flags: Zastavice: - + &Mount Point: &Priklopna točka: @@ -586,27 +602,27 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Ve&likost - + En&crypt - + Logical Logičen - + Primary Primaren - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. Namestilniku ni uspelo ustvariti razdelka na disku '%1'. - - - Could not open device '%1'. - Ni mogoče odpreti naprave '%1'. - - - - Could not open partition table. - Ni mogoče odpreti razpredelnice razdelkov. - - - - The installer failed to create file system on partition %1. - Namestilniku ni uspelo ustvariti datotečnega sistema na razdelku %1. - - - - The installer failed to update partition table on disk '%1'. - Namestilniku ni uspelo posodobiti razpredelnice razdelkov na disku '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. Namestilniku ni uspelo ustvariti razpredelnice razdelkov na %1. - - - Could not open device %1. - Naprave %1 ni mogoče odpreti. - CreateUserJob @@ -781,17 +772,17 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. The installer failed to delete partition %1. Namestilniku ni uspelo izbrisati razdelka %1. - - - Partition (%1) and device (%2) do not match. - Razdelek (%1) in naprava (%2) si ne ustrezata. - - - - Could not open device %1. - Ni mogoče odpreti naprave %1. - - - - Could not open partition table. - Ni mogoče odpreti razpredelnice razdelkov. - DeviceInfoWidget @@ -972,37 +948,37 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. FillGlobalStorageJob - + Set partition information Nastavi informacije razdelka - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Oblika - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1051,45 +1032,25 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatiraj razdelek %1 (datotečni sistem: %2, velikost %3 MB) na %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. Namestilniku ni uspelo formatirati razdelka %1 na disku '%2'. - - - Could not open device '%1'. - Ni mogoče odpreti naprave '%1'. - - - - Could not open partition table. - Ni mogoče odpreti razpredelnice razdelkov. - - - - The installer failed to create file system on partition %1. - Namestilniku ni uspelo ustvariti datotečnega sistema na razdelku %1. - - - - The installer failed to update partition table on disk '%1'. - Namestilniku ni uspelo posodobiti razpredelnice razdelkov na disku '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Are you sure you want to create a new partition table on %1? Ali ste prepričani, da želite ustvariti novo razpredelnico razdelkov na %1? @@ -1689,22 +1650,22 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Privzeto - + unknown - + extended - + unformatted - + swap @@ -1921,24 +1882,24 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index 1764b01f2..a6f51e64e 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -122,68 +122,6 @@ Running command %1 %2 Po xhirohet urdhri %1 %2 - - - External command crashed - Urdhri i jashtëm u vithis - - - - Command %1 crashed. -Output: -%2 - Urdhri %1 u vithis. -Mesazh: -%2 - - - - External command failed to start - Urdhri i jashtëm s’arriti të niset - - - - Command %1 failed to start. - Urdhri %1 s’arriti të niset. - - - - Internal error when starting command - Gabim i brendshëm teksa nisej urdhri - - - - Bad parameters for process job call. - Parametra të gabuar për thirrje akti procesi. - - - - External command failed to finish - Urdhri i jashtëm s’arriti të përfundohej - - - - Command %1 failed to finish in %2s. -Output: -%3 - Urdhri %1 s’arriti të përfundohej te %2s. -Mesazh: -%3 - - - - External command finished with errors - Urdhri i jashtëm u plotësua me gabime - - - - Command %1 finished with exit code %2. -Output: -%3 - Urdhri %1 përfundoi me kod daljeje %2. -Mesazhi:n -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Mesazhi:n - + &Cancel &Anuloje - + Cancel installation without changing the system. Anuloje instalimin pa ndryshuar sistemin. - + Cancel installation? Të anulohet instalimi? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Doni vërtet të anulohet procesi i tanishëm i instalimit? Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. - + &Yes &Po - + &No &Jo - + &Close &Mbylle - + Continue with setup? Të vazhdohet me rregullimin? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Instaluesi %1 është një hap larg nga bërja e ndryshimeve në diskun tuaj, që të mund të instalojë %2.<br/><strong>S’do të jeni në gjendje t’i zhbëni këto ndryshime.</strong> - + &Install now &Instaloje tani - + Go &back Kthehu &mbrapsht - + &Done &U bë - + The installation is complete. Close the installer. Instalimi u plotësua. Mbylle instaluesin. - + Error Gabim - + Installation Failed Instalimi Dështoi @@ -333,15 +271,88 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Gabim Python mosprurjeje kodi. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Parametra të gabuar për thirrje akti procesi. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Instalues %1 - + Show debug information Shfaq të dhëna diagnostikimi @@ -392,12 +403,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. <strong>Ndarje dorazi</strong><br/>Ndarjet mund t’i krijoni dhe ripërmasoni ju vetë. - + Boot loader location: Vendndodhje ngarkuesi nisjesh: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 do të zvogëlohet në %2MB dhe për %4 do të krijohet një ndarje e re %3MB. @@ -408,83 +419,83 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. - - - + + + Current: E tanishmja: - + Reuse %1 as home partition for %2. Ripërdore %1 si ndarjen shtëpi për %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Përzgjidhni një ndarje që të zvogëlohet, mandej tërhiqni shtyllën e poshtme që ta ripërmasoni</strong> - + <strong>Select a partition to install on</strong> <strong>Përzgjidhni një ndarje ku të instalohet</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Në këtë sistem s’mund të gjendet gjëkundi një ndarje EFI sistemi. Ju lutemi, kthehuni mbrapsht dhe përdorni pjesëzimin dorazi që të rregulloni %1. - + The EFI system partition at %1 will be used for starting %2. Për nisjen e %2 do të përdoret ndarja EFI e sistemit te %1. - + EFI system partition: Ndarje Sistemi EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Kjo pajisje depozitimi përmban %1 në të. Ç’do të donit të bënito?<br/>Do të jeni në gjendje të rishqyrtoni dhe ripohoni zgjedhjet tuaja, para se te pajisja e depozitimit të bëhet çfarëdo ndryshimi. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Fshije diskun</strong><br/>Kështu do të <font color=\"red\">fshihen</font> krejt të dhënat të pranishme tani në pajisjen e përzgjedhur. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Kjo pajisje depozitimi përmban %1 në të. Ç’do të donit të bënit?<br/>Do të jeni në gjendje të rishqyrtoni dhe ripohoni zgjedhjet tuaja, para se te pajisja e depozitimit të bëhet çfarëdo ndryshimi. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Instaloje në krah të tij</strong><br/>Instaluesi do të zvogëlojë një ndarje për të bërë vend për %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Zëvendëso një ndarje</strong><br/>Zëvendëson një ndarje me %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Kjo pajisje depozitimi ka tashmë një sistem operativ në të. Ç’do të donit të bënit?<br/>Do të jeni në gjendje të rishqyrtoni dhe ripohoni zgjedhjet tuaja, para se te pajisja e depozitimit të bëhet çfarëdo ndryshimi. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Kjo pajisje depozitimi ka disa sisteme operativë në të. Ç’do të donit të bënit?<br/>Do të jeni në gjendje të rishqyrtoni dhe ripohoni zgjedhjet tuaja, para se te pajisja e depozitimit të bëhet çfarëdo ndryshimi. @@ -533,7 +544,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. &Sistem Kartelash: - + + LVM LV name + + + + Flags: Flamurka: - + &Mount Point: Pikë &Montimi: @@ -586,27 +602,27 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. &Madhësi: - + En&crypt &Fshehtëzoje - + Logical Logjik - + Primary Parësor - + GPT GPT - + Mountpoint already in use. Please select another one. Pikë montimi tashmë e përdorur. Ju lutemi, përzgjidhni një tjetër. @@ -614,45 +630,25 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Krijo ndarje të re %2MB te %4 (%3) me sistem kartelash %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Krijo ndarje të re <strong>%2MB</strong> te <strong>%4</strong> (%3) me sistem kartelash <strong>%1</strong>. - + Creating new %1 partition on %2. Po krijohet ndarje e re %1 te %2. - + The installer failed to create partition on disk '%1'. Instaluesi s’arriti të krijojë ndarje në diskun '%1'. - - - Could not open device '%1'. - S’u hap dot pajisja '%1'. - - - - Could not open partition table. - S’u hap dot tabela e ndarjeve. - - - - The installer failed to create file system on partition %1. - Instaluesi s’arriti të krijojë sistem kartelash në ndarjen %1. - - - - The installer failed to update partition table on disk '%1'. - Instaluesi s’arriti të përditësojë tabelë ndarjesh në diskun '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. CreatePartitionTableJob - + Create new %1 partition table on %2. Krijo tabelë të re ndarjesh %1 te %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Krijo tabelë të re ndarjesh %1 te %2. - + Creating new %1 partition table on %2. Po krijohet tabelë e re ndarjesh %1 te %2. - + The installer failed to create a partition table on %1. Instaluesi s’arriti të krijojë tabelë ndarjesh në diskun %1. - - - Could not open device %1. - S’u hap dot pajisja %1. - CreateUserJob @@ -781,17 +772,17 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. DeletePartitionJob - + Delete partition %1. Fshije ndarjen %1. - + Delete partition <strong>%1</strong>. Fshije ndarjen <strong>%1</strong>. - + Deleting partition %1. Po fshihet ndarja %1. @@ -800,21 +791,6 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. The installer failed to delete partition %1. Instaluesi dështoi në fshirjen e ndarjes %1. - - - Partition (%1) and device (%2) do not match. - Ndarja (%1) dhe pajisja (%2) nuk puqen. - - - - Could not open device %1. - S’u hap dot pajisja %1. - - - - Could not open partition table. - S’u hap dot tabela e ndarjeve. - DeviceInfoWidget @@ -972,37 +948,37 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. FillGlobalStorageJob - + Set partition information Caktoni të dhëna ndarjeje - + Install %1 on <strong>new</strong> %2 system partition. Instaloje %1 në ndarje sistemi <strong>të re</strong> %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Rregullo ndarje të <strong>re</strong> %2 me pikë montimi <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Instaloje %2 te ndarja e sistemit %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Rregullo ndarje %3 <strong>%1</strong> me pikë montimi <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Instalo ngarkues nisjesh në <strong>%1</strong>. - + Setting up mount points. Po rregullohen pika montimesh. @@ -1015,7 +991,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Formular - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Rinise tani @@ -1051,45 +1032,25 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatoje ndarjen %1 (sistem kartelash: %2, madhësi: %3 MB) në %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Formato ndarje <strong>%3MB</strong> <strong>%1</strong> me sistem kartelash <strong>%2</strong>. - + Formatting partition %1 with file system %2. Po formatohet ndarja %1 me sistem kartelash %2. - + The installer failed to format partition %1 on disk '%2'. Instaluesi s’arriti të formatojë ndarjen %1 në diskun '%2'. - - - Could not open device '%1'. - S’u hap dot pajisja '%1'. - - - - Could not open partition table. - S’u hap dot tabela e ndarjeve. - - - - The installer failed to create file system on partition %1. - Instaluesi s’arriti të krijojë sistem kartelash në ndarjen %1. - - - - The installer failed to update partition table on disk '%1'. - Instaluesi s’arriti të përditësojë tabelë ndarjesh në diskun '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Instalo &ngarkues nisjesh në: - + Are you sure you want to create a new partition table on %1? Jeni i sigurt se doni të krijoni një tabelë të re ndarjesh në %1? @@ -1689,22 +1650,22 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Parazgjedhje - + unknown e panjohur - + extended extended - + unformatted e paformatuar - + swap swap @@ -1921,24 +1882,24 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Si model tastiere do të caktohet %1, si skemë %2-%3 - + Failed to write keyboard configuration for the virtual console. S’u arrit të shkruhej formësim tastiere për konsolën virtuale. - - - + + + Failed to write to %1 Dështoi në shkrimin te %1 - + Failed to write keyboard configuration for X11. S’u arrit të shkruhej formësim tastiere për X11. - + Failed to write keyboard configuration to existing /etc/default directory. S’u arrit të shkruhej formësim tastiere në drejtori /etc/default ekzistuese. @@ -2107,6 +2068,14 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. S’hapet dot /etc/timezone për shkrim + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,8 +2310,8 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>për %3</strong><br/><br/>Të drejta kopjimi 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Të drejta kopjimi Adriaan de Groot &lt;groot@kde.org&gt;<br/>Falënderime për: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg dhe <a href="https://www.transifex.com/calamares/calamares/">ekipin e përkthimit të Calamares-it</a>.<br/><br/>Zhvillimi i <a href="http://calamares.io/">Calamares</a> sponsorizohet nga <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 22c6501ff..1754dc67f 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -122,68 +122,6 @@ Running command %1 %2 Извршавам команду %1 %2 - - - External command crashed - Спољашња наредба се срушила - - - - Command %1 crashed. -Output: -%2 - Наредба %1 се срушила. -Излаз: -%2 - - - - External command failed to start - Покретање спољашње наредбе није успело - - - - Command %1 failed to start. - Покретање наредбе %1 није успело - - - - Internal error when starting command - Интерна грешка при покретању наредбе - - - - Bad parameters for process job call. - Лоши параметри при позиву посла процеса. - - - - External command failed to finish - Спољашња наредба није завршила - - - - Command %1 failed to finish in %2s. -Output: -%3 - Наредба %1 није завршила у %2s. -Излаз: -%3 - - - - External command finished with errors - Спољашња наредба извршена уз грешке - - - - Command %1 finished with exit code %2. -Output: -%3 - Наредба %1 извршена са излазним кодом %2. -Излаз: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Откажи - + Cancel installation without changing the system. - + Cancel installation? Отказати инсталацију? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Да ли стварно желите да прекинете текући процес инсталације? Инсталер ће бити затворен и све промене ће бити изгубљене. - + &Yes - + &No - + &Close - + Continue with setup? Наставити са подешавањем? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Инсталирај сада - + Go &back Иди &назад - + &Done - + The installation is complete. Close the installer. - + Error Грешка - + Installation Failed Инсталација није успела @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Лоши параметри при позиву посла процеса. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 инсталер - + Show debug information @@ -392,12 +403,12 @@ The installer will quit and all changes will be lost. <strong>Ручно партиционисање</strong><br/>Сами можете креирати или мењати партције. - + Boot loader location: Подизни учитавач на: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 биће змањена на %2MB а нова %3MB партиција биће направљена за %4. @@ -408,83 +419,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: Тренутно: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ The installer will quit and all changes will be lost. Фајл &систем: - + + LVM LV name + + + + Flags: - + &Mount Point: Тачка &припајања: @@ -586,27 +602,27 @@ The installer will quit and all changes will be lost. Вели&чина - + En&crypt - + Logical Логичка - + Primary Примарна - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. Инсталација није успела да направи партицију на диску '%1'. - - - Could not open device '%1'. - Није могуће отворити уређај '%1'. - - - - Could not open partition table. - Није могуће отворити табелу партиција - - - - The installer failed to create file system on partition %1. - Инсталација није успела да направи фајл систем на партицији %1. - - - - The installer failed to update partition table on disk '%1'. - Инсталација није успела да ажурира табелу партиција на диску '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. Инсталација није успела да направи табелу партиција на %1. - - - Could not open device %1. - Није могуће отворити уређај %1. - CreateUserJob @@ -781,17 +772,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - Није могуће отворити уређај %1. - - - - Could not open partition table. - Није могуће отворити табелу партиција - DeviceInfoWidget @@ -972,37 +948,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ The installer will quit and all changes will be lost. Форма - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1051,45 +1032,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - Није могуће отворити уређај '%1'. - - - - Could not open partition table. - Није могуће отворити табелу партиција - - - - The installer failed to create file system on partition %1. - Инсталација није успела да направи фајл систем на партицији %1. - - - - The installer failed to update partition table on disk '%1'. - Инсталација није успела да ажурира табелу партиција на диску '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1689,22 +1650,22 @@ The installer will quit and all changes will be lost. подразумевано - + unknown непознато - + extended проширена - + unformatted неформатирана - + swap @@ -1921,24 +1882,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 41b43af63..933f23519 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -122,68 +122,6 @@ Running command %1 %2 - - - External command crashed - Izvršavanje eksterne komande nije uspjelo - - - - Command %1 crashed. -Output: -%2 - Izvršavanje komande %1 nije uspjelo. -Povratna poruka: -%2 - - - - External command failed to start - Pokretanje komande nije uspjelo - - - - Command %1 failed to start. - Neuspješno pokretanje komande %1. - - - - Internal error when starting command - Interna greška kod pokretanja komande - - - - Bad parameters for process job call. - Pogrešni parametri kod poziva funkcije u procesu. - - - - External command failed to finish - Izvršavanje eksterne komande nije dovršeno - - - - Command %1 failed to finish in %2s. -Output: -%3 - Izvršavanje komande %1 nije dovršeno u %2s. -Povratna poruka: -%3 - - - - External command finished with errors - Greška u izvršavanju eksterne komande - - - - Command %1 finished with exit code %2. -Output: -%3 - Greška u izvršavanju komande %1, izlazni kod: %2. -Povratna poruka: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Povratna poruka: - + &Cancel &Prekini - + Cancel installation without changing the system. - + Cancel installation? Prekini instalaciju? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Da li stvarno želite prekinuti trenutni proces instalacije? Instaler će se zatvoriti i sve promjene će biti izgubljene. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error Greška - + Installation Failed Neuspješna instalacija @@ -333,15 +271,88 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. Unfetchable Python error. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Pogrešni parametri kod poziva funkcije u procesu. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 Instaler - + Show debug information @@ -392,12 +403,12 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +419,83 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + + LVM LV name + + + + Flags: - + &Mount Point: Tačka &montiranja: @@ -586,27 +602,27 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. Veli&čina - + En&crypt - + Logical Logička - + Primary Primarna - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. Instaler nije uspeo napraviti particiju na disku '%1'. - - - Could not open device '%1'. - Nemoguće otvoriti uređaj '%1'. - - - - Could not open partition table. - Nemoguće otvoriti tabelu particija. - - - - The installer failed to create file system on partition %1. - Instaler ne može napraviti fajl sistem na particiji %1. - - - - The installer failed to update partition table on disk '%1'. - Instaler ne može promjeniti tabelu particija na disku '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. Instaler nije uspjeo da napravi tabelu particija na %1. - - - Could not open device %1. - Nemoguće otvoriti uređaj %1. - CreateUserJob @@ -781,17 +772,17 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. The installer failed to delete partition %1. Instaler nije uspjeo obrisati particiju %1. - - - Partition (%1) and device (%2) do not match. - Particija (%1) i uređaj (%2) se ne slažu. - - - - Could not open device %1. - Nemoguće otvoriti uređaj %1. - - - - Could not open partition table. - Nemoguće otvoriti tabelu particija. - DeviceInfoWidget @@ -972,37 +948,37 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1051,45 +1032,25 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. Instaler nije uspeo formatirati particiju %1 na disku '%2'. - - - Could not open device '%1'. - Ne mogu otvoriti uređaj '%1'. - - - - Could not open partition table. - Nemoguće otvoriti tabelu particija. - - - - The installer failed to create file system on partition %1. - Instaler ne može napraviti fajl sistem na particiji %1. - - - - The installer failed to update partition table on disk '%1'. - Instaler ne može promjeniti tabelu particija na disku '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Are you sure you want to create a new partition table on %1? @@ -1689,22 +1650,22 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + unknown - + extended - + unformatted - + swap @@ -1921,24 +1882,24 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index bc8450041..bb40d8c29 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -122,68 +122,6 @@ Running command %1 %2 Kör kommando %1 %2 - - - External command crashed - Externt kommando kraschade - - - - Command %1 crashed. -Output: -%2 - Kommando %1 kraschade. -Utdata: -%2 - - - - External command failed to start - Externt kommando misslyckades med att starta - - - - Command %1 failed to start. - Kommando %1 misslyckades med att starta. - - - - Internal error when starting command - Internt fel under kommandostart - - - - Bad parameters for process job call. - Ogiltiga parametrar för processens uppgiftsanrop. - - - - External command failed to finish - Externt kommando misslyckades med att avsluta. - - - - Command %1 failed to finish in %2s. -Output: -%3 - Kommando %1 kunde inte avslutas efter %2s. -Utdata: -%3 - - - - External command finished with errors - Externt kommando avslutade med fel - - - - Command %1 finished with exit code %2. -Output: -%3 - Kommando %1 avslutades med kod %2. -Utdata: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Utdata: - + &Cancel Avbryt - + Cancel installation without changing the system. - + Cancel installation? Avbryt installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Är du säker på att du vill avsluta installationen i förtid? Alla ändringar kommer att gå förlorade. - + &Yes - + &No - + &Close - + Continue with setup? Fortsätt med installation? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1-installeraren är på väg att göra ändringar för att installera %2.<br/><strong>Du kommer inte att kunna ångra dessa ändringar!strong> - + &Install now &Installera nu - + Go &back Gå &bakåt - + &Done - + The installation is complete. Close the installer. - + Error Fel - + Installation Failed Installationen misslyckades @@ -333,15 +271,88 @@ Alla ändringar kommer att gå förlorade. Ohämtbart Pythonfel + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Ogiltiga parametrar för processens uppgiftsanrop. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1-installationsprogram - + Show debug information Visa avlusningsinformation @@ -392,12 +403,12 @@ Alla ändringar kommer att gå förlorade. <strong>Manuell partitionering</strong><br/>Du kan själv skapa och ändra storlek på partitionerna. - + Boot loader location: Sökväg till uppstartshanterare: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 kommer att förminskas till %2 MB och en ny %3 MB-partition kommer att skapas för %4. @@ -408,83 +419,83 @@ Alla ändringar kommer att gå förlorade. - - - + + + Current: Nuvarande: - + Reuse %1 as home partition for %2. Återanvänd %1 som hempartition för %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Välj en partition att minska, sen dra i nedre fältet för att ändra storlek</strong> - + <strong>Select a partition to install on</strong> <strong>Välj en partition att installera på</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Ingen EFI-partition kunde inte hittas på systemet. Gå tillbaka och partitionera din lagringsenhet manuellt för att ställa in %1. - + The EFI system partition at %1 will be used for starting %2. EFI-partitionen %1 kommer att användas för att starta %2. - + EFI system partition: EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denna lagringsenhet ser inte ut att ha ett operativsystem installerat. Vad vill du göra?<br/>Du kommer kunna granska och bekräfta dina val innan någon ändring görs på lagringseneheten. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Rensa lagringsenhet</strong><br/>Detta kommer <font color="red">radera</font> all existerande data på den valda lagringsenheten. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denna lagringsenhet har %1 på sig. Vad vill du göra?<br/>Du kommer kunna granska och bekräfta dina val innan någon ändring görs på lagringsenheten. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Installera på sidan om</strong><br/>Installationshanteraren kommer krympa en partition för att göra utrymme för %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Ersätt en partition</strong><br/>Ersätter en partition med %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denna lagringsenhet har redan ett operativsystem på sig. Vad vill du göra?<br/>Du kommer kunna granska och bekräfta dina val innan någon ändring sker på lagringsenheten. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Denna lagringsenhet har flera operativsystem på sig. Vad vill du göra?<br/>Du kommer kunna granska och bekräfta dina val innan någon ändring sker på lagringsenheten. @@ -533,7 +544,7 @@ Alla ändringar kommer att gå förlorade. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ Alla ändringar kommer att gå förlorade. Fi&lsystem: - + + LVM LV name + + + + Flags: Flaggor: - + &Mount Point: &Monteringspunkt: @@ -586,27 +602,27 @@ Alla ändringar kommer att gå förlorade. Storlek: - + En&crypt Kr%yptera - + Logical Logisk - + Primary Primär - + GPT GPT - + Mountpoint already in use. Please select another one. Monteringspunkt används redan. Välj en annan. @@ -614,45 +630,25 @@ Alla ändringar kommer att gå förlorade. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Skapa ny %2MB partition på %4 (%3) med filsystem %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Skapa ny <strong>%2MB</strong> partition på <strong>%4 (%3)</strong> med filsystem <strong>%1</strong>. - + Creating new %1 partition on %2. Skapar ny %1 partition på %2. - + The installer failed to create partition on disk '%1'. Installationsprogrammet kunde inte skapa partition på disk '%1'. - - - Could not open device '%1'. - Kunde inte öppna enhet '%1'. - - - - Could not open partition table. - Kunde inte öppna partitionstabell. - - - - The installer failed to create file system on partition %1. - Installationsprogrammet kunde inte skapa filsystem på partition %1. - - - - The installer failed to update partition table on disk '%1'. - Installationsprogrammet kunde inte uppdatera partitionstabell på disk '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ Alla ändringar kommer att gå förlorade. CreatePartitionTableJob - + Create new %1 partition table on %2. Skapa ny %1 partitionstabell på %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Skapa ny <strong>%1</strong> partitionstabell på <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Skapar ny %1 partitionstabell på %2. - + The installer failed to create a partition table on %1. Installationsprogrammet kunde inte skapa en partitionstabell på %1. - - - Could not open device %1. - Kunde inte öppna enhet %1. - CreateUserJob @@ -781,17 +772,17 @@ Alla ändringar kommer att gå förlorade. DeletePartitionJob - + Delete partition %1. Ta bort partition %1. - + Delete partition <strong>%1</strong>. Ta bort partition <strong>%1</strong>. - + Deleting partition %1. Tar bort partition %1. @@ -800,21 +791,6 @@ Alla ändringar kommer att gå förlorade. The installer failed to delete partition %1. Installationsprogrammet kunde inte ta bort partition %1. - - - Partition (%1) and device (%2) do not match. - Partition (%1) och enhet (%2) matchar inte. - - - - Could not open device %1. - Kunde inte öppna enhet %1. - - - - Could not open partition table. - Kunde inte öppna partitionstabell. - DeviceInfoWidget @@ -972,37 +948,37 @@ Alla ändringar kommer att gå förlorade. FillGlobalStorageJob - + Set partition information Ange partitionsinformation - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Installera uppstartshanterare på <strong>%1</strong>. - + Setting up mount points. Ställer in monteringspunkter. @@ -1015,7 +991,12 @@ Alla ändringar kommer att gå förlorade. Formulär - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now Sta&rta om nu @@ -1051,45 +1032,25 @@ Alla ändringar kommer att gå förlorade. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Formatera partition %1 (filsystem: %2, storlek: %3 MB) på %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. Formatera partition %1 med filsystem %2. - + The installer failed to format partition %1 on disk '%2'. Installationsprogrammet misslyckades att formatera partition %1 på disk '%2'. - - - Could not open device '%1'. - Kunde inte öppna enhet '%1'. - - - - Could not open partition table. - Kunde inte öppna partitionstabell. - - - - The installer failed to create file system on partition %1. - Installationsprogrammet misslyckades att skapa filsystem på partition %1. - - - - The installer failed to update partition table on disk '%1'. - Installationsprogrammet misslyckades med att uppdatera partitionstabellen på disk '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ Alla ändringar kommer att gå förlorade. Installera uppstartshanterare på: - + Are you sure you want to create a new partition table on %1? Är du säker på att du vill skapa en ny partitionstabell på %1? @@ -1689,22 +1650,22 @@ Alla ändringar kommer att gå förlorade. Standard - + unknown okänd - + extended utökad - + unformatted oformaterad - + swap @@ -1921,24 +1882,24 @@ Alla ändringar kommer att gå förlorade. Sätt tangentbordsmodell till %1, layout till %2-%3 - + Failed to write keyboard configuration for the virtual console. Misslyckades med att skriva tangentbordskonfiguration för konsolen. - - - + + + Failed to write to %1 Misslyckades med att skriva %1 - + Failed to write keyboard configuration for X11. Misslyckades med att skriva tangentbordskonfiguration för X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ Alla ändringar kommer att gå förlorade. Kunde inte öppna /etc/timezone för skrivning + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ Alla ändringar kommer att gå förlorade. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 5400f28c4..efb692511 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -122,68 +122,6 @@ Running command %1 %2 กำลังเรียกใช้คำสั่ง %1 %2 - - - External command crashed - คำสั่งภายนอกล้มเหลว - - - - Command %1 crashed. -Output: -%2 - คำสั่ง %1 ล้มเหลว -ผลลัพธ์: -%2 - - - - External command failed to start - การเริ่มต้นคำสั่งภายนอกล้มเหลว - - - - Command %1 failed to start. - การเริ่มต้นคำสั่ง %1 ล้มเหลว - - - - Internal error when starting command - เกิดข้อผิดพลาดภายในขณะเริ่มต้นคำสั่ง - - - - Bad parameters for process job call. - พารามิเตอร์ไม่ถูกต้องสำหรับการเรียกการทำงาน - - - - External command failed to finish - การจบคำสั่งภายนอกล้มเหลว - - - - Command %1 failed to finish in %2s. -Output: -%3 - คำสั่ง %1 ล้มเหลวที่จะจบใน %2 วินาที -ผลลัพธ์: -%3 - - - - External command finished with errors - คำสั่งภายนอกจบพร้อมกับข้อผิดพลาด - - - - Command %1 finished with exit code %2. -Output: -%3 - คำสั่ง %1 จบพร้อมกับรหัสสิ้นสุดการทำงาน %2. -ผลลัพธ์: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &C ยกเลิก - + Cancel installation without changing the system. - + Cancel installation? ยกเลิกการติดตั้ง? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. คุณต้องการยกเลิกกระบวนการติดตั้งที่กำลังดำเนินการอยู่หรือไม่? ตัวติดตั้งจะสิ้นสุดการทำงานและไม่บันทึกการเปลี่ยนแปลงที่ได้ดำเนินการก่อนหน้านี้ - + &Yes - + &No - + &Close - + Continue with setup? ดำเนินการติดตั้งต่อหรือไม่? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> ตัวติดตั้ง %1 กำลังพยายามที่จะทำการเปลี่ยนแปลงในดิสก์ของคุณเพื่อติดตั้ง %2<br/><strong>คุณจะไม่สามารถยกเลิกการเปลี่ยนแปลงเหล่านี้ได้</strong> - + &Install now &ติดตั้งตอนนี้ - + Go &back กลั&บไป - + &Done - + The installation is complete. Close the installer. - + Error ข้อผิดพลาด - + Installation Failed การติดตั้งล้มเหลว @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. ข้อผิดพลาด Unfetchable Python + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + พารามิเตอร์ไม่ถูกต้องสำหรับการเรียกการทำงาน + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer ตัวติดตั้ง %1 - + Show debug information แสดงข้อมูลการดีบั๊ก @@ -392,12 +403,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -408,83 +419,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. ไม่พบพาร์ทิชันสำหรับระบบ EFI อยู่ที่ไหนเลยในระบบนี้ กรุณากลับไปเลือกใช้การแบ่งพาร์ทิชันด้วยตนเอง เพื่อติดตั้ง %1 - + The EFI system partition at %1 will be used for starting %2. พาร์ทิชันสำหรับระบบ EFI ที่ %1 จะถูกใช้เพื่อเริ่มต้น %2 - + EFI system partition: พาร์ทิชันสำหรับระบบ EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -533,7 +544,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: Flags: - + &Mount Point: &M จุดเชื่อมต่อ: @@ -586,27 +602,27 @@ The installer will quit and all changes will be lost. &Z ขนาด: - + En&crypt - + Logical โลจิคอล - + Primary หลัก - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -614,45 +630,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. ตัวติดตั้งไม่สามารถสร้างพาร์ทิชันบนดิสก์ '%1' - - - Could not open device '%1'. - ไม่สามารถเปิดอุปกรณ์ '%1' - - - - Could not open partition table. - ไม่สามารถเปิดตารางพาร์ทิชัน - - - - The installer failed to create file system on partition %1. - ตัวติดตั้งไม่สามารถสร้างระบบไฟล์บนพาร์ทิชัน %1 - - - - The installer failed to update partition table on disk '%1'. - ตัวติดตั้งไม่สามารถอัพเดทตารางพาร์ทิชันบนดิสก์ '%1' - CreatePartitionTableDialog @@ -685,30 +681,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. ตัวติดตั้งไม่สามารถสร้างตารางพาร์ทิชันบน %1 - - - Could not open device %1. - ไม่สามารถเปิดอุปกรณ์ %1 - CreateUserJob @@ -781,17 +772,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -800,21 +791,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. ตัวติดตั้งไม่สามารถลบพาร์ทิชัน %1 - - - Partition (%1) and device (%2) do not match. - พาร์ทิชัน (%1) ไม่ตรงกับอุปกรณ์ (%2) - - - - Could not open device %1. - ไม่สามารถเปิดอุปกรณ์ %1 - - - - Could not open partition table. - ไม่สามารถเปิดตารางพาร์ทิชัน - DeviceInfoWidget @@ -972,37 +948,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information ตั้งค่าข้อมูลพาร์ทิชัน - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1015,7 +991,12 @@ The installer will quit and all changes will be lost. ฟอร์ม - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &R เริ่มต้นใหม่ทันที @@ -1051,45 +1032,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. ฟอร์แมทพาร์ทิชัน %1 (ระบบไฟล์: %2, ขนาด: %3 MB) บน %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. ตัวติดตั้งไม่สามารถฟอร์แมทพาร์ทิชัน %1 บนดิสก์ '%2' - - - Could not open device '%1'. - ไม่สามารถเปิดอุปกรณ์ '%1' - - - - Could not open partition table. - ไม่สามารถเปิดตารางพาร์ทิชัน - - - - The installer failed to create file system on partition %1. - ตัวติดตั้งไม่สามารถสร้างระบบไฟล์บนพาร์ทิชัน %1 - - - - The installer failed to update partition table on disk '%1'. - ตัวติดตั้งไม่สามารถอัพเดทตารางพาร์ทิชันบนดิสก์ '%1' - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? คุณแน่ใจว่าจะสร้างตารางพาร์ทิชันใหม่บน %1? @@ -1689,22 +1650,22 @@ The installer will quit and all changes will be lost. ค่าเริ่มต้น - + unknown - + extended - + unformatted - + swap @@ -1921,24 +1882,24 @@ The installer will quit and all changes will be lost. ตั้งค่าโมเดลแป้นพิมพ์เป็น %1 แบบ %2-%3 - + Failed to write keyboard configuration for the virtual console. ไม่สามารถเขียนการตั้งค่าแป้นพิมพ์สำหรับคอนโซลเสมือน - - - + + + Failed to write to %1 ไม่สามารถเขียนไปที่ %1 - + Failed to write keyboard configuration for X11. ไม่สามาถเขียนการตั้งค่าแป้นพิมพ์สำหรับ X11 - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2107,6 +2068,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index fe7020d27..5621130ac 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -122,68 +122,6 @@ Running command %1 %2 %1 Komutu çalışıyor %2 - - - External command crashed - Komut çöküş bildirdi - - - - Command %1 crashed. -Output: -%2 - Komut çöktü. %1 -Çıktı: -%2 - - - - External command failed to start - Komut çalışmadı başarısız oldu - - - - Command %1 failed to start. - Komut Başlamayamadı. %1 - - - - Internal error when starting command - Dahili komut çalışırken hata oluştu - - - - Bad parameters for process job call. - Çalışma adımları başarısız oldu. - - - - External command failed to finish - Tamamlama komutu başarısız oldu - - - - Command %1 failed to finish in %2s. -Output: -%3 - Komut başarısız %1 Bitirilirken %2s. -Çıktı: -%3 - - - - External command finished with errors - Komut tamamlandı ancak hatalar oluştu - - - - Command %1 finished with exit code %2. -Output: -%3 - Komut tamamlandı %1 Çıkış kodu %2. -Çıktı: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Vazgeç - + Cancel installation without changing the system. Sistemi değiştirmeden kurulumu iptal edin. - + Cancel installation? Yüklemeyi iptal et? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Yükleme işlemini gerçekten iptal etmek istiyor musunuz? Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. - + &Yes &Evet - + &No &Hayır - + &Close &Kapat - + Continue with setup? Kuruluma devam et? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 sistem yükleyici %2 yüklemek için diskinizde değişiklik yapacak.<br/><strong>Bu değişiklikleri geri almak mümkün olmayacak.</strong> - + &Install now &Şimdi yükle - + Go &back Geri &git - + &Done &Tamam - + The installation is complete. Close the installer. Yükleme işi tamamlandı. Sistem yükleyiciyi kapatın. - + Error Hata - + Installation Failed Kurulum Başarısız @@ -333,15 +271,90 @@ Yükleyiciden çıkınca tüm değişiklikler kaybedilecek. Okunamayan Python hatası. + + CalamaresUtils::CommandList + + + Could not run command. + Komut çalıştırılamadı. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + RootMountPoint kök bağlama noktası tanımlanmadığından, hedef ortamda komut çalıştırılamaz. + + + + CalamaresUtils::ProcessResult + + + +Output: + + +Çıktı: + + + + + External command crashed. + Harici komut çöktü. + + + + Command <i>%1</i> crashed. + Komut <i>%1</i> çöktü. + + + + External command failed to start. + Harici komut başlatılamadı. + + + + Command <i>%1</i> failed to start. + Komut <i>%1</i> başlatılamadı. + + + + Internal error when starting command. + Komut başlatılırken dahili hata. + + + + Bad parameters for process job call. + Çalışma adımları başarısız oldu. + + + + External command failed to finish. + Harici komut başarısız oldu. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Komut <i>%1</i> %2 saniyede başarısız oldu. + + + + External command finished with errors. + Harici komut hatalarla bitti. + + + + Command <i>%1</i> finished with exit code %2. + Komut <i>%1</i> %2 çıkış kodu ile tamamlandı + + CalamaresWindow - + %1 Installer %1 Yükleniyor - + Show debug information Hata ayıklama bilgisini göster @@ -394,12 +407,12 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.<strong>Elle bölümleme</strong><br/>Bölümler oluşturabilir ve boyutlandırabilirsiniz. - + Boot loader location: Önyükleyici konumu: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 %2MB küçülecek ve %4 için %3MB bir disk bölümü oluşturacak. @@ -410,84 +423,84 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. - - - + + + Current: Geçerli: - + Reuse %1 as home partition for %2. %2 ev bölümü olarak %1 yeniden kullanılsın. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Küçültmek için bir bölüm seçip alttaki çubuğu sürükleyerek boyutlandır</strong> - + <strong>Select a partition to install on</strong> <strong>Yükleyeceğin disk bölümünü seç</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. Bu sistemde EFI disk bölümü bulunamadı. Lütfen geri dönün ve %1 kurmak için gelişmiş kurulum seçeneğini kullanın. - + The EFI system partition at %1 will be used for starting %2. %1 EFI sistem bölümü %2 başlatmak için kullanılacaktır. - + EFI system partition: EFI sistem bölümü: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Bu depolama aygıtı üzerinde yüklü herhangi bir işletim sistemi tespit etmedik. Ne yapmak istersiniz?<br/>Yaptığınız değişiklikler disk bölümü üzerine uygulanmadan önce gözden geçirme fırsatınız olacak. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Diski sil</strong><br/>Seçili depolama bölümündeki mevcut veriler şu anda <font color="red">silinecektir.</font> - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Bu depolama aygıtı üzerinde %1 vardır. Ne yapmak istersiniz?<br/>Yaptığınız değişiklikler disk bölümü üzerine uygulanmadan önce gözden geçirme fırsatınız olacak. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Yanına yükleyin</strong><br/>Sistem yükleyici disk bölümünü küçülterek %1 için yer açacak. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Varolan bir disk bölümüne kur</strong><br/>Varolan bir disk bölümü üzerine %1 kur. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Bu depolama aygıtı üzerinde bir işletim sistemi yüklü. Ne yapmak istersiniz? <br/>Yaptığınız değişiklikler disk bölümü üzerine uygulanmadan önce gözden geçirme fırsatınız olacak. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Bu depolama aygıtı üzerinde birden fazla işletim sistemi var. Ne yapmak istersiniz? <br/>Yaptığınız değişiklikler disk bölümü üzerine uygulanmadan önce gözden geçirme fırsatınız olacak. @@ -536,7 +549,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. ContextualProcessJob - + Contextual Processes Job Bağlamsal Süreç İşleri @@ -574,12 +587,17 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.D&osya Sistemi: - + + LVM LV name + LVM LV adı + + + Flags: Bayraklar: - + &Mount Point: &Bağlama Noktası: @@ -589,27 +607,27 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Bo&yut: - + En&crypt Şif&rele - + Logical Mantıksal - + Primary Birincil - + GPT GPT - + Mountpoint already in use. Please select another one. Bağlama noktası zaten kullanımda. Lütfen diğerini seçiniz. @@ -617,45 +635,25 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. %4 üzerinde (%3) ile %1 dosya sisteminde %2MB bölüm oluştur. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. <strong>%4</strong> üzerinde (%3) ile <strong>%1</strong> dosya sisteminde <strong>%2MB</strong> bölüm oluştur. - + Creating new %1 partition on %2. %2 üzerinde %1 yeni disk bölümü oluştur. - + The installer failed to create partition on disk '%1'. Yükleyici '%1' diski üzerinde yeni bölüm oluşturamadı. - - - Could not open device '%1'. - '%1' aygıtı açılamadı. - - - - Could not open partition table. - Bölümleme tablosu açılamadı - - - - The installer failed to create file system on partition %1. - Yükleyici %1 bölümünde dosya sistemi oluşturamadı. - - - - The installer failed to update partition table on disk '%1'. - Yükleyici '%1' diskinde bölümleme tablosunu güncelleyemedi. - CreatePartitionTableDialog @@ -688,30 +686,25 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. CreatePartitionTableJob - + Create new %1 partition table on %2. %2 üzerinde %1 yeni disk tablosu oluştur. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). <strong>%2</strong> (%3) üzerinde <strong>%1</strong> yeni disk tablosu oluştur. - + Creating new %1 partition table on %2. %2 üzerinde %1 yeni disk tablosu oluştur. - + The installer failed to create a partition table on %1. Yükleyici %1 üzerinde yeni bir bölüm tablosu oluşturamadı. - - - Could not open device %1. - %1 aygıtı açılamadı. - CreateUserJob @@ -784,17 +777,17 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. DeletePartitionJob - + Delete partition %1. %1 disk bölümünü sil. - + Delete partition <strong>%1</strong>. <strong>%1</strong> disk bölümünü sil. - + Deleting partition %1. %1 disk bölümü siliniyor. @@ -803,21 +796,6 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.The installer failed to delete partition %1. Yükleyici %1 bölümünü silemedi. - - - Partition (%1) and device (%2) do not match. - Bölüm (%1) ve aygıt (%2) eşleşmedi. - - - - Could not open device %1. - %1 aygıtı açılamadı. - - - - Could not open partition table. - Bölüm tablosu açılamadı. - DeviceInfoWidget @@ -975,37 +953,37 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. FillGlobalStorageJob - + Set partition information Bölüm bilgilendirmesini ayarla - + Install %1 on <strong>new</strong> %2 system partition. %2 <strong>yeni</strong> sistem diskine %1 yükle. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. %2 <strong>yeni</strong> disk bölümünü <strong>%1</strong> ile ayarlayıp bağla. - + Install %2 on %3 system partition <strong>%1</strong>. %3 <strong>%1</strong> sistem diskine %2 yükle. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. %3 diskine<strong>%1</strong> ile <strong>%2</strong> bağlama noktası ayarla. - + Install boot loader on <strong>%1</strong>. <strong>%1</strong> üzerine sistem ön yükleyiciyi kur. - + Setting up mount points. Bağlama noktalarını ayarla. @@ -1018,7 +996,12 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Biçim - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>Bu kutucuk işaretlendiğinde veya <span style=" font-style:italic;">Bitti</span> tıklandığında ya da yükleyici kapatıldığında sistem yeniden başlatılır.</p></body></html> + + + &Restart now &Şimdi yeniden başlat @@ -1054,45 +1037,25 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. %1 Bölümü biçimle (dosya sistemi: %2 boyut: %3) %4 üzerinde. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. <strong>%1</strong> diskine <strong>%2</strong> dosya sistemi ile <strong>%3MB</strong> bölüm oluştur. - + Formatting partition %1 with file system %2. %1 disk bölümü %2 dosya sistemi ile biçimlendiriliyor. - + The installer failed to format partition %1 on disk '%2'. Yükleyici %1 bölümünü '%2' diski üzerinde biçimlendiremedi. - - - Could not open device '%1'. - '%1' aygıtı açılamadı. - - - - Could not open partition table. - Bölüm tablosu açılamadı. - - - - The installer failed to create file system on partition %1. - Yükleyici %1 bölümünde dosya sistemi oluşturamadı. - - - - The installer failed to update partition table on disk '%1'. - Yükleyici '%1' diskinde bölümleme tablosunu güncelleyemedi. - InteractiveTerminalPage @@ -1535,7 +1498,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Şuraya ön &yükleyici kur: - + Are you sure you want to create a new partition table on %1? %1 tablosunda yeni bölüm oluşturmaya devam etmek istiyor musunuz? @@ -1693,22 +1656,22 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Varsayılan - + unknown bilinmeyen - + extended uzatılmış - + unformatted biçimlenmemiş - + swap Swap-Takas @@ -1926,24 +1889,24 @@ Sistem güç kaynağına bağlı değil. Klavye düzeni %1 olarak, alt türevi %2-%3 olarak ayarlandı. - + Failed to write keyboard configuration for the virtual console. Uçbirim için klavye yapılandırmasını kaydetmek başarısız oldu. - - - + + + Failed to write to %1 %1 üzerine kaydedilemedi - + Failed to write keyboard configuration for X11. X11 için klavye yapılandırmaları kaydedilemedi. - + Failed to write keyboard configuration to existing /etc/default directory. /etc/default dizine klavye yapılandırması yazılamadı. @@ -2112,6 +2075,14 @@ Sistem güç kaynağına bağlı değil. /etc/timezone açılamadığından düzenlenemedi + + ShellProcessJob + + + Shell Processes Job + Kabuk İşlemleri İşi + + SummaryPage @@ -2346,8 +2317,8 @@ Sistem güç kaynağına bağlı değil. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>%3 sürüm</strong><br/><br/>Telif Hakkı 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Telif Hakkı 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Teşekkürler: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg ve<a href="https://www.transifex.com/calamares/calamares/">Calamares çeviri takımı</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> gelişim sponsoru <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Özgür Yazılım. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>için %3</strong><br/><br/>Telif Hakkı 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Telif Hakkı 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Teşekkürler: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg ve <a href="https://www.transifex.com/calamares/calamares/">Calamares çeviri takımı için</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> gelişim sponsoru <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Özgür Yazılım. diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 0a24767ed..0889b0fe6 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -122,68 +122,6 @@ Running command %1 %2 Запуск команди %1 %2 - - - External command crashed - Зовнішня команда завершилася аварією - - - - Command %1 crashed. -Output: -%2 - Команда %1 завершилася аварією. -Вивід: -%2 - - - - External command failed to start - Не вдалося запустити зовнішню команду - - - - Command %1 failed to start. - Не вдалося запустити команду %1. - - - - Internal error when starting command - Внутрішня помилка під час запуску команди - - - - Bad parameters for process job call. - Неправильні параметри визову завдання обробки. - - - - External command failed to finish - Не вдалося завершити зовнішню команду - - - - Command %1 failed to finish in %2s. -Output: -%3 - Не вдалося завершити зовнішню команду %1 протягом %2с. -Вивід: -%3 - - - - External command finished with errors - Зовнішня програма завершилася з помилками - - - - Command %1 finished with exit code %2. -Output: -%3 - Команда %1 завершилася з кодом %2. -Вивід: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel &Скасувати - + Cancel installation without changing the system. Скасувати встановлення без змінення системи. - + Cancel installation? Скасувати встановлення? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Чи ви насправді бажаєте скасувати процес встановлення? Установник закриється і всі зміни буде втрачено. - + &Yes &Так - + &No &Ні - + &Close &Закрити - + Continue with setup? Продовжити встановлення? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> Установник %1 збирається зробити зміни на вашому диску, щоб встановити %2.<br/><strong>Ці зміни неможливо буде повернути.</strong> - + &Install now &Встановити зараз - + Go &back Перейти &назад - + &Done &Закінчити - + The installation is complete. Close the installer. Встановлення виконано. Закрити установник. - + Error Помилка - + Installation Failed Втановлення завершилося невдачею @@ -333,15 +271,88 @@ The installer will quit and all changes will be lost. Помилка Python, інформацію про яку неможливо отримати. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + Неправильні параметри визову завдання обробки. + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer Установник %1 - + Show debug information Показати відлагоджувальну інформацію @@ -392,12 +403,12 @@ The installer will quit and all changes will be lost. <strong>Розподілення вручну</strong><br/>Ви можете створити або змінити розмір розділів власноруч. - + Boot loader location: Місцезнаходження завантажувача: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. Розділ %1 буде зменьшено до %2Мб та створено новий розділ розміром %3MB для %4. @@ -408,83 +419,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: Зараз: - + Reuse %1 as home partition for %2. Використати %1 як домашній розділ (home) для %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>Оберіть розділ для зменьшення, потім тягніть повзунок, щоб змінити розмір</strong> - + <strong>Select a partition to install on</strong> <strong>Оберіть розділ, на який встановити</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. В цій системі не знайдено жодного системного розділу EFI. Щоб встановити %1, будь ласка, поверніться та оберіть розподілення вручну. - + The EFI system partition at %1 will be used for starting %2. Системний розділ EFI %1 буде використано для встановлення %2. - + EFI system partition: Системний розділ EFI: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. Цей пристрій зберігання, схоже, не має жодної операційної системи. Що ви бажаєте зробити?<br/>У вас буде можливість переглянути та підтвердити все, що ви обрали перед тим, як будуть зроблені будь-які зміни на пристрої зберігання. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>Очистити диск</strong><br/>Це <font color="red">знищить</font> всі данні, присутні на обраному пристрої зберігання. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На цьому пристрої зберігання є %1. Що ви бажаєте зробити?<br/>У вас буде можливість переглянути та підтвердити все, що ви обрали перед тим, як будуть зроблені будь-які зміни на пристрої зберігання. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>Встановити поруч</strong><br/>Установник зменьшить розмір розділу, щоб вивільнити простір для %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>Замінити розділ</strong><br/>Замінити розділу на %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На цьому пристрої зберігання вже є операційна система. Що ви бажаєте зробити?<br/>У вас буде можливість переглянути та підтвердити все, що ви обрали перед тим, як будуть зроблені будь-які зміни на пристрої зберігання. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. На цьому пристрої зберігання вже є декілька операційних систем. Що ви бажаєте зробити?<br/>У вас буде можливість переглянути та підтвердити все, що ви обрали перед тим, як будуть зроблені будь-які зміни на пристрої зберігання. @@ -533,7 +544,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -571,12 +582,17 @@ The installer will quit and all changes will be lost. &Файлова система: - + + LVM LV name + + + + Flags: Прапорці: - + &Mount Point: Точка &підключення: @@ -586,27 +602,27 @@ The installer will quit and all changes will be lost. Ро&змір: - + En&crypt За&шифрувати - + Logical Логічний - + Primary Основний - + GPT GPT - + Mountpoint already in use. Please select another one. Точка підключення наразі використовується. Оберіть, будь ласка, іншу. @@ -614,45 +630,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. Створити новий розділ розміром %2Мб на %4 (%3) з файловою системою %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. Створити новий розділ розміром <strong>%2Мб</strong> на <strong>%4</strong> (%3) з файловою системою <strong>%1</strong>. - + Creating new %1 partition on %2. Створення нового розділу %1 на %2. - + The installer failed to create partition on disk '%1'. Установник зазнав невдачі під час створення розділу на диску '%1'. - - - Could not open device '%1'. - Неможливо відкрити пристрій '%1'. - - - - Could not open partition table. - Неможливо відкрити таблицю розділів. - - - - The installer failed to create file system on partition %1. - Установник зазнав невдачі під час створення файлової системи на розділі %1. - - - - The installer failed to update partition table on disk '%1'. - Установник зазнав невдачі під час оновлення таблиці розділів на диску '%1'. - CreatePartitionTableDialog @@ -685,30 +681,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. Створити нову таблицю розділів %1 на %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). Створити нову таблицю розділів <strong>%1</strong> на <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. Створення нової таблиці розділів %1 на %2. - + The installer failed to create a partition table on %1. Установник зазнав невдачі під час створення таблиці розділів на %1. - - - Could not open device %1. - Неможливо відкрити пристрій %1. - CreateUserJob @@ -781,17 +772,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. Видалити розділ %1. - + Delete partition <strong>%1</strong>. Видалити розділ <strong>%1</strong>. - + Deleting partition %1. Видалення розділу %1. @@ -800,21 +791,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. Установник зазнав невдачі під час видалення розділу %1. - - - Partition (%1) and device (%2) do not match. - Розділ (%1) та пристрій (%2) не співпадають. - - - - Could not open device %1. - Неможливо відкрити пристрій %1. - - - - Could not open partition table. - Неможливо відкрити таблицю розділів. - DeviceInfoWidget @@ -972,37 +948,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information Ввести інформацію про розділ - + Install %1 on <strong>new</strong> %2 system partition. Встановити %1 на <strong>новий</strong> системний розділ %2. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. Налаштувати <strong>новий</strong> розділ %2 з точкою підключення <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. Встановити %2 на системний розділ %3 <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. Налаштувати розділ %3 <strong>%1</strong> з точкою підключення <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. Встановити завантажувач на <strong>%1</strong>. - + Setting up mount points. Налаштування точок підключення. @@ -1015,7 +991,12 @@ The installer will quit and all changes will be lost. Форма - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now &Перезавантажити зараз @@ -1051,45 +1032,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. Форматувати розділ %1 (файлова система: %2, розмір: %3 Мб) на %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. Форматувати розділ <strong>%1</strong> розміром <strong>%3Мб</strong> з файловою системою <strong>%2</strong>. - + Formatting partition %1 with file system %2. Форматування розділу %1 з файловою системою %2. - + The installer failed to format partition %1 on disk '%2'. Установник зазнав невдачі під час форматування розділу %1 на диску '%2'. - - - Could not open device '%1'. - Неможливо відкрити пристрій '%1'. - - - - Could not open partition table. - Неможливо відкрити таблицю розділів. - - - - The installer failed to create file system on partition %1. - Установник зазнав невдачі під час створення файлової системи на розділі %1. - - - - The installer failed to update partition table on disk '%1'. - Установник зазнав невдачі під час оновлення таблиці розділів на диску '%1'. - InteractiveTerminalPage @@ -1532,7 +1493,7 @@ The installer will quit and all changes will be lost. Встановити за&вантажувач на: - + Are you sure you want to create a new partition table on %1? Ви впевнені, що бажаєте створити нову таблицю розділів на %1? @@ -1689,22 +1650,22 @@ The installer will quit and all changes will be lost. За замовченням - + unknown невідома - + extended розширена - + unformatted неформатовано - + swap область підкачки @@ -1921,24 +1882,24 @@ The installer will quit and all changes will be lost. Встановити модель клавіатури %1, розкладку %2-%3 - + Failed to write keyboard configuration for the virtual console. Невдача під час запису кофігурації клавіатури для віртуальної консолі. - - - + + + Failed to write to %1 Невдача під час запису до %1 - + Failed to write keyboard configuration for X11. Невдача під час запису конфігурації клавіатури для X11. - + Failed to write keyboard configuration to existing /etc/default directory. Невдача під час запису кофігурації клавіатури до наявної директорії /etc/default. @@ -2107,6 +2068,14 @@ The installer will quit and all changes will be lost. Не можу відкрити /etc/timezone для запису + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2341,7 +2310,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index 83b9f157f..a0cafb57e 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index 809e13b9b..afffbd794 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -122,62 +122,6 @@ Running command %1 %2 - - - External command crashed - - - - - Command %1 crashed. -Output: -%2 - - - - - External command failed to start - - - - - Command %1 failed to start. - - - - - Internal error when starting command - - - - - Bad parameters for process job call. - - - - - External command failed to finish - - - - - Command %1 failed to finish in %2s. -Output: -%3 - - - - - External command finished with errors - - - - - Command %1 finished with exit code %2. -Output: -%3 - - Calamares::PythonJob @@ -226,79 +170,79 @@ Output: - + &Cancel - + Cancel installation without changing the system. - + Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes - + &No - + &Close - + Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now - + Go &back - + &Done - + The installation is complete. Close the installer. - + Error - + Installation Failed @@ -326,15 +270,88 @@ The installer will quit and all changes will be lost. + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer - + Show debug information @@ -385,12 +402,12 @@ The installer will quit and all changes will be lost. - + Boot loader location: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. @@ -401,83 +418,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: - + Reuse %1 as home partition for %2. - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> - + <strong>Select a partition to install on</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. - + The EFI system partition at %1 will be used for starting %2. - + EFI system partition: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. @@ -526,7 +543,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -564,12 +581,17 @@ The installer will quit and all changes will be lost. - + + LVM LV name + + + + Flags: - + &Mount Point: @@ -579,27 +601,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -607,45 +629,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. - + Creating new %1 partition on %2. - + The installer failed to create partition on disk '%1'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - CreatePartitionTableDialog @@ -678,30 +680,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - + Creating new %1 partition table on %2. - + The installer failed to create a partition table on %1. - - - Could not open device %1. - - CreateUserJob @@ -774,17 +771,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. - + Delete partition <strong>%1</strong>. - + Deleting partition %1. @@ -793,21 +790,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. - - - Partition (%1) and device (%2) do not match. - - - - - Could not open device %1. - - - - - Could not open partition table. - - DeviceInfoWidget @@ -965,37 +947,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information - + Install %1 on <strong>new</strong> %2 system partition. - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Install %2 on %3 system partition <strong>%1</strong>. - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Install boot loader on <strong>%1</strong>. - + Setting up mount points. @@ -1008,7 +990,12 @@ The installer will quit and all changes will be lost. - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now @@ -1044,45 +1031,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formatting partition %1 with file system %2. - + The installer failed to format partition %1 on disk '%2'. - - - Could not open device '%1'. - - - - - Could not open partition table. - - - - - The installer failed to create file system on partition %1. - - - - - The installer failed to update partition table on disk '%1'. - - InteractiveTerminalPage @@ -1525,7 +1492,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? @@ -1682,22 +1649,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -1914,24 +1881,24 @@ The installer will quit and all changes will be lost. - + Failed to write keyboard configuration for the virtual console. - - - + + + Failed to write to %1 - + Failed to write keyboard configuration for X11. - + Failed to write keyboard configuration to existing /etc/default directory. @@ -2100,6 +2067,14 @@ The installer will quit and all changes will be lost. + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2334,7 +2309,7 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 62e444feb..76e1e7885 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -123,68 +123,6 @@ Running command %1 %2 正在运行命令 %1 %2 - - - External command crashed - 外部命令崩溃 - - - - Command %1 crashed. -Output: -%2 - 命令 %1 已崩溃。 -输出: -%2 - - - - External command failed to start - 外部命令启动失败 - - - - Command %1 failed to start. - 命令 %1 启动失败。 - - - - Internal error when starting command - 启动命令时出现内部错误 - - - - Bad parameters for process job call. - 呼叫进程任务出现错误参数 - - - - External command failed to finish - 外部命令结束失败 - - - - Command %1 failed to finish in %2s. -Output: -%3 - 命令 %1 未能在 %2 秒内结束。 -输出: -%3 - - - - External command finished with errors - 外部命令完成且有错误信息 - - - - Command %1 finished with exit code %2. -Output: -%3 - 命令 %1 以退出代码 %2 完成。 -输出: -%3 - Calamares::PythonJob @@ -233,80 +171,80 @@ Output: - + &Cancel 取消(&C) - + Cancel installation without changing the system. 取消安装,并不做任何更改。 - + Cancel installation? 取消安装? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 确定要取消当前的安装吗? 安装程序将退出,所有修改都会丢失。 - + &Yes &是 - + &No &否 - + &Close &关闭 - + Continue with setup? 要继续安装吗? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安装程序将在您的磁盘上做出变更以安装 %2。<br/><strong>您将无法复原这些变更。</strong> - + &Install now 现在安装 (&I) - + Go &back 返回 (&B) - + &Done &完成 - + The installation is complete. Close the installer. 安装过程已完毕。请关闭安装器。 - + Error 错误 - + Installation Failed 安装失败 @@ -334,15 +272,88 @@ The installer will quit and all changes will be lost. 无法获取的 Python 错误。 + + CalamaresUtils::CommandList + + + Could not run command. + + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + + + + + CalamaresUtils::ProcessResult + + + +Output: + + + + + + External command crashed. + + + + + Command <i>%1</i> crashed. + + + + + External command failed to start. + + + + + Command <i>%1</i> failed to start. + + + + + Internal error when starting command. + + + + + Bad parameters for process job call. + 呼叫进程任务出现错误参数 + + + + External command failed to finish. + + + + + Command <i>%1</i> failed to finish in %2 seconds. + + + + + External command finished with errors. + + + + + Command <i>%1</i> finished with exit code %2. + + + CalamaresWindow - + %1 Installer %1 安装程序 - + Show debug information 显示调试信息 @@ -393,12 +404,12 @@ The installer will quit and all changes will be lost. <strong>手动分区</strong><br/>您可以自行创建或重新调整分区大小。 - + Boot loader location: 引导程序位置: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 将会被缩减到 %2 MB,同时将为 %4 创建空间为 %3MB 的新分区。 @@ -409,83 +420,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: 当前: - + Reuse %1 as home partition for %2. 将 %1 重用为 %2 的家分区。 - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>选择要缩小的分区,然后拖动底栏改变大小</strong> - + <strong>Select a partition to install on</strong> <strong>选择要安装到的分区</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. 在此系统上找不到任何 EFI 系统分区。请后退到上一步并使用手动分区配置 %1。 - + The EFI system partition at %1 will be used for starting %2. %1 处的 EFI 系统分区将被用来启动 %2。 - + EFI system partition: EFI 系统分区: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 这个存储器上似乎还没有操作系统。您想要怎么做?<br/>在任何变更应用到存储器上前,您都可以重新查看并确认您的选择。 - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>抹除磁盘</strong><br/>这将会<font color="red">删除</font>目前选定的存储器上所有的数据。 - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 这个存储器上已经有 %1 了。您想要怎么做?<br/>在任何变更应用到存储器上前,您都可以重新查看并确认您的选择。 - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>并存安装</strong><br/>安装程序将会缩小一个分区,为 %1 腾出空间。 - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>取代一个分区</strong><br/>以 %1 <strong>替代</strong>一个分区。 - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 这个存储器上已经有一个操作系统了。您想要怎么做?<br/>在任何变更应用到存储器上前,您都可以重新查看并确认您的选择。 - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 这个存储器上已经有多个操作系统了。您想要怎么做?<br/>在任何变更应用到存储器上前,您都可以重新查看并确认您的选择。 @@ -534,7 +545,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job @@ -572,12 +583,17 @@ The installer will quit and all changes will be lost. 文件系统 (&L): - + + LVM LV name + + + + Flags: 标记: - + &Mount Point: 挂载点(&M): @@ -587,27 +603,27 @@ The installer will quit and all changes will be lost. 大小(&Z): - + En&crypt 加密(&C) - + Logical 逻辑分区 - + Primary 主分区 - + GPT GPT - + Mountpoint already in use. Please select another one. 挂载点已被占用。请选择另一个。 @@ -615,45 +631,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. 在 %4 (%3) 上创建新的 %2MB 分区,使用 %1 文件系统。 - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. 文件系统在 <strong>%4</strong> (%3) 上创建新的 <strong>%2MB</strong> 分区,使用 <strong>%1</strong>文件系统。 - + Creating new %1 partition on %2. 正在 %2 上创建新的 %1 分区。 - + The installer failed to create partition on disk '%1'. 安装程序在磁盘“%1”创建分区失败。 - - - Could not open device '%1'. - 无法打开设备“%1”。 - - - - Could not open partition table. - 无法打开分区表。 - - - - The installer failed to create file system on partition %1. - 安装程序在分区 %1 创建文件系统失败。 - - - - The installer failed to update partition table on disk '%1'. - 安装程序更新磁盘“%1”分区表失败。 - CreatePartitionTableDialog @@ -686,30 +682,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. 在 %2 上创建新的 %1 分区表。 - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). 在 <strong>%2</strong> (%3) 上创建新的 <strong>%1</strong> 分区表。 - + Creating new %1 partition table on %2. 正在 %2 上创建新的 %1 分区表。 - + The installer failed to create a partition table on %1. 安装程序于 %1 创建分区表失败。 - - - Could not open device %1. - 无法打开设备 %1。 - CreateUserJob @@ -782,17 +773,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. 删除分区 %1。 - + Delete partition <strong>%1</strong>. 删除分区 <strong>%1</strong>。 - + Deleting partition %1. 正在删除分区 %1。 @@ -801,21 +792,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. 安装程序删除分区 %1 失败。 - - - Partition (%1) and device (%2) do not match. - 分区 (%1) 与设备 (%2) 不匹配。 - - - - Could not open device %1. - 无法打开设备 %1。 - - - - Could not open partition table. - 无法打开分区表。 - DeviceInfoWidget @@ -974,37 +950,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information 设置分区信息 - + Install %1 on <strong>new</strong> %2 system partition. 在 <strong>新的</strong>系统分区 %2 上安装 %1。 - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. 设置 <strong>新的</strong> 含挂载点 <strong>%1</strong> 的 %2 分区。 - + Install %2 on %3 system partition <strong>%1</strong>. 在 %3 系统割区 <strong>%1</strong> 上安装 %2。 - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. 为分区 %3 <strong>%1</strong> 设置挂载点 <strong>%2</strong>。 - + Install boot loader on <strong>%1</strong>. 在 <strong>%1</strong>上安装引导程序。 - + Setting up mount points. 正在设置挂载点。 @@ -1017,7 +993,12 @@ The installer will quit and all changes will be lost. 表单 - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + + + + &Restart now 现在重启(&R) @@ -1053,45 +1034,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. 格式化在 %4 的分区 %1 (文件系统:%2,大小:%3 MB)。 - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. 以文件系统 <strong>%2</strong> 格式化 <strong>%3MB</strong> 的分区 <strong>%1</strong>。 - + Formatting partition %1 with file system %2. 正在使用 %2 文件系统格式化分区 %1。 - + The installer failed to format partition %1 on disk '%2'. 安装程序格式化磁盘“%2”上的分区 %1 失败。 - - - Could not open device '%1'. - 无法打开设备“%1”。 - - - - Could not open partition table. - 无法打开分区表。 - - - - The installer failed to create file system on partition %1. - 安装程序于分区 %1 创建文件系统失败。 - - - - The installer failed to update partition table on disk '%1'. - 安装程序于磁盘“%1”更新分区表失败。 - InteractiveTerminalPage @@ -1534,7 +1495,7 @@ The installer will quit and all changes will be lost. 安装引导程序于(&L): - + Are you sure you want to create a new partition table on %1? 您是否确定要在 %1 上创建新分区表? @@ -1691,22 +1652,22 @@ The installer will quit and all changes will be lost. 默认 - + unknown 未知 - + extended 扩展分区 - + unformatted 未格式化 - + swap 临时存储空间 @@ -1923,24 +1884,24 @@ The installer will quit and all changes will be lost. 将键盘型号设置为 %1,布局设置为 %2-%3 - + Failed to write keyboard configuration for the virtual console. 无法将键盘配置写入到虚拟控制台。 - - - + + + Failed to write to %1 写入到 %1 失败 - + Failed to write keyboard configuration for X11. 无法为 X11 写入键盘配置。 - + Failed to write keyboard configuration to existing /etc/default directory. 无法将键盘配置写入到现有的 /etc/default 目录。 @@ -2109,6 +2070,14 @@ The installer will quit and all changes will be lost. 无法打开要写入的 /etc/timezone + + ShellProcessJob + + + Shell Processes Job + + + SummaryPage @@ -2343,8 +2312,8 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>于 %3</strong><br/><br/>版权 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>版权 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>鸣谢: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg 和 <a href="https://www.transifex.com/calamares/calamares/">Calamares 翻译团队</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> 开发赞助来自 <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index cb669cf02..327766cf4 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -122,68 +122,6 @@ Running command %1 %2 正在執行命令 %1 %2 - - - External command crashed - 外部指令崩潰 - - - - Command %1 crashed. -Output: -%2 - 指令 %1 崩潰。 -輸出: -%2 - - - - External command failed to start - 無法開始外部指令 - - - - Command %1 failed to start. - 無法開始指令 %1 - - - - Internal error when starting command - 開始指令時發生內部錯誤 - - - - Bad parameters for process job call. - 呼叫程序的參數無效。 - - - - External command failed to finish - 無法完成外部指令 - - - - Command %1 failed to finish in %2s. -Output: -%3 - 指令 %1 無法在 %2 秒內完成。 -輸出: -%3 - - - - External command finished with errors - 外部指令以錯誤方式完成 - - - - Command %1 finished with exit code %2. -Output: -%3 - 指令 %1 以退出狀態 %2 完成。 -輸出: -%3 - Calamares::PythonJob @@ -232,80 +170,80 @@ Output: - + &Cancel 取消(&C) - + Cancel installation without changing the system. 不變更系統並取消安裝。 - + Cancel installation? 取消安裝? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. 您真的想要取消目前的安裝程序嗎? 安裝程式將會退出且所有變動將會遺失。 - + &Yes 是(&Y) - + &No 否(&N) - + &Close 關閉(&C) - + Continue with setup? 繼續安裝? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> %1 安裝程式將在您的磁碟上做出變更以安裝 %2。<br/><strong>您將無法復原這些變更。</strong> - + &Install now 現在安裝 (&I) - + Go &back 上一步 (&B) - + &Done 完成(&D) - + The installation is complete. Close the installer. 安裝完成。關閉安裝程式。 - + Error 錯誤 - + Installation Failed 安裝失敗 @@ -333,15 +271,90 @@ The installer will quit and all changes will be lost. 無法讀取的 Python 錯誤。 + + CalamaresUtils::CommandList + + + Could not run command. + 無法執行指令。 + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + 未定義 rootMountPoint,所以指令無法在目標環境中執行。 + + + + CalamaresUtils::ProcessResult + + + +Output: + + +輸出: + + + + + External command crashed. + 外部指令當機。 + + + + Command <i>%1</i> crashed. + 指令 <i>%1</i> 已當機。 + + + + External command failed to start. + 外部指令啟動失敗。 + + + + Command <i>%1</i> failed to start. + 指令 <i>%1</i> 啟動失敗。 + + + + Internal error when starting command. + 當啟動指令時發生內部錯誤。 + + + + Bad parameters for process job call. + 呼叫程序的參數無效。 + + + + External command failed to finish. + 外部指令結束失敗。 + + + + Command <i>%1</i> failed to finish in %2 seconds. + 指令 <i>%1</i> 在結束 %2 秒內失敗。 + + + + External command finished with errors. + 外部指令結束時發生錯誤。 + + + + Command <i>%1</i> finished with exit code %2. + 指令 <i>%1</i> 結束時有錯誤碼 %2。 + + CalamaresWindow - + %1 Installer %1 安裝程式 - + Show debug information 顯示除錯資訊 @@ -392,12 +405,12 @@ The installer will quit and all changes will be lost. <strong>手動分割</strong><br/>您可以自行建立或重新調整分割區大小。 - + Boot loader location: 開機載入器位置: - + %1 will be shrunk to %2MB and a new %3MB partition will be created for %4. %1 將會被縮減容量到 %2MB 而一個新的 %3MB 分割區將會被建立為 %4。 @@ -408,83 +421,83 @@ The installer will quit and all changes will be lost. - - - + + + Current: 目前: - + Reuse %1 as home partition for %2. 重新使用 %1 作為 %2 的家目錄分割區。 - + <strong>Select a partition to shrink, then drag the bottom bar to resize</strong> <strong>選取要縮減的分割區,然後拖曳底部條狀物來調整大小</strong> - + <strong>Select a partition to install on</strong> <strong>選取分割區以安裝在其上</strong> - + An EFI system partition cannot be found anywhere on this system. Please go back and use manual partitioning to set up %1. 在這個系統上找不到任何的 EFI 系統分割區。請回到上一步並使用手動分割以設定 %1。 - + The EFI system partition at %1 will be used for starting %2. 在 %1 的 EFI 系統分割區將會在開始 %2 時使用。 - + EFI system partition: EFI 系統分割區: - + This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 這個儲存裝置上似乎還沒有作業系統。您想要怎麼做?<br/>在任何變更套用到儲存裝置上前,您都可以重新檢視並確認您的選擇。 - - - - + + + + <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. <strong>抹除磁碟</strong><br/>這將會<font color="red">刪除</font>目前選取的儲存裝置上所有的資料。 - + This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 這個儲存裝置上已經有 %1 了。您想要怎麼做?<br/>在任何變更套用到儲存裝置上前,您都可以重新檢視並確認您的選擇。 - - - - + + + + <strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1. <strong>並存安裝</strong><br/>安裝程式將會縮減一個分割區以讓出空間給 %1。 - - - - + + + + <strong>Replace a partition</strong><br/>Replaces a partition with %1. <strong>取代一個分割區</strong><br/>用 %1 取代一個分割區。 - + This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 這個儲存裝置上已經有一個作業系統了。您想要怎麼做?<br/>在任何變更套用到儲存裝置上前,您都可以重新檢視並確認您的選擇。 - + This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. 這個儲存裝置上已經有多個作業系統了。您想要怎麼做?<br/>在任何變更套用到儲存裝置上前,您都可以重新檢視並確認您的選擇。 @@ -533,7 +546,7 @@ The installer will quit and all changes will be lost. ContextualProcessJob - + Contextual Processes Job 情境處理程序工作 @@ -571,12 +584,17 @@ The installer will quit and all changes will be lost. 檔案系統 (&I): - + + LVM LV name + LVM LV 名稱 + + + Flags: 旗標: - + &Mount Point: 掛載點 (&M): @@ -586,27 +604,27 @@ The installer will quit and all changes will be lost. 容量大小 (&z) : - + En&crypt 加密(&C) - + Logical 邏輯磁區 - + Primary 主要磁區 - + GPT GPT - + Mountpoint already in use. Please select another one. 掛載點使用中。請選擇其他的。 @@ -614,45 +632,25 @@ The installer will quit and all changes will be lost. CreatePartitionJob - + Create new %2MB partition on %4 (%3) with file system %1. 以 %1 檔案系統在 %4 (%3) 上建立新的 %2MB 分割區。 - + Create new <strong>%2MB</strong> partition on <strong>%4</strong> (%3) with file system <strong>%1</strong>. 以 <strong>%1</strong> 檔案系統在 <strong>%4</strong> (%3) 上建立新的 <strong>%2MB</strong> 分割區。 - + Creating new %1 partition on %2. 正在 %2 上建立新的 %1 分割區。 - + The installer failed to create partition on disk '%1'. 安裝程式在磁碟 '%1' 上建立分割區失敗。 - - - Could not open device '%1'. - 無法開啟裝置 '%1'。 - - - - Could not open partition table. - 無法開啟分割區表格。 - - - - The installer failed to create file system on partition %1. - 安裝程式在分割區 %1 上建立檔案系統失敗。 - - - - The installer failed to update partition table on disk '%1'. - 安裝程式在磁碟 '%1' 上更新分割區表格失敗。 - CreatePartitionTableDialog @@ -685,30 +683,25 @@ The installer will quit and all changes will be lost. CreatePartitionTableJob - + Create new %1 partition table on %2. 在 %2 上建立新的 %1 分割表。 - + Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). 在 <strong>%2</strong> (%3) 上建立新的 <strong>%1</strong> 分割表。 - + Creating new %1 partition table on %2. 正在 %2 上建立新的 %1 分割表。 - + The installer failed to create a partition table on %1. 安裝程式在 %1 上建立分割區表格失敗。 - - - Could not open device %1. - 無法開啟裝置 %1 。 - CreateUserJob @@ -781,17 +774,17 @@ The installer will quit and all changes will be lost. DeletePartitionJob - + Delete partition %1. 刪除分割區 %1。 - + Delete partition <strong>%1</strong>. 刪除分割區 <strong>%1</strong>。 - + Deleting partition %1. 正在刪除分割區 %1。 @@ -800,21 +793,6 @@ The installer will quit and all changes will be lost. The installer failed to delete partition %1. 安裝程式刪除分割區 %1 失敗。 - - - Partition (%1) and device (%2) do not match. - 分割區 (%1) 及裝置 (%2) 不符合。 - - - - Could not open device %1. - 無法開啟裝置 %1 。 - - - - Could not open partition table. - 無法開啟分割區表格。 - DeviceInfoWidget @@ -972,37 +950,37 @@ The installer will quit and all changes will be lost. FillGlobalStorageJob - + Set partition information 設定分割區資訊 - + Install %1 on <strong>new</strong> %2 system partition. 在 <strong>新的</strong>系統分割區 %2 上安裝 %1。 - + Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. 設定 <strong>新的</strong> 不含掛載點 <strong>%1</strong> 的 %2 分割區。 - + Install %2 on %3 system partition <strong>%1</strong>. 在 %3 系統分割區 <strong>%1</strong> 上安裝 %2。 - + Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. 為分割區 %3 <strong>%1</strong> 設定掛載點 <strong>%2</strong>。 - + Install boot loader on <strong>%1</strong>. 安裝開機載入器於 <strong>%1</strong>。 - + Setting up mount points. 正在設定掛載點。 @@ -1015,7 +993,12 @@ The installer will quit and all changes will be lost. 型式 - + + <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> + <html><head/><body><p>當這個勾選框被選取時,您的系統將會在按下<span style=" font-style:italic;">完成</span>或關閉安裝程式時立刻重新啟動。</p></body></html> + + + &Restart now 現在重新啟動 (&R) @@ -1051,45 +1034,25 @@ The installer will quit and all changes will be lost. FormatPartitionJob - + Format partition %1 (file system: %2, size: %3 MB) on %4. 格式化在 %4 的分割區 %1 (檔案系統: %2 ,大小: %3 MB)。 - + Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. 以檔案系統 <strong>%2</strong> 格式化 <strong>%3MB</strong> 的分割區 <strong>%1</strong>。 - + Formatting partition %1 with file system %2. 正在以 %2 檔案系統格式化分割區 %1。 - + The installer failed to format partition %1 on disk '%2'. 安裝程式格式化在磁碟 '%2' 上的分割區 %1 失敗。 - - - Could not open device '%1'. - 無法開啟裝置 '%1'。 - - - - Could not open partition table. - 無法開啟分割區表格。 - - - - The installer failed to create file system on partition %1. - 安裝程式在分割區 %1 上建立檔案系統失敗。 - - - - The installer failed to update partition table on disk '%1'. - 安裝程式在磁碟 '%1' 上更新分割區表格失敗。 - InteractiveTerminalPage @@ -1532,7 +1495,7 @@ The installer will quit and all changes will be lost. 安裝開機載入器在(&L): - + Are you sure you want to create a new partition table on %1? 您是否確定要在 %1 上建立一個新的分割區表格? @@ -1689,22 +1652,22 @@ The installer will quit and all changes will be lost. 預設值 - + unknown 未知 - + extended 延伸分割區 - + unformatted 未格式化 - + swap swap @@ -1921,24 +1884,24 @@ The installer will quit and all changes will be lost. 將鍵盤型號設定為 %1,佈局為 %2-%3 - + Failed to write keyboard configuration for the virtual console. 為虛擬終端機寫入鍵盤設定失敗。 - - - + + + Failed to write to %1 寫入到 %1 失敗 - + Failed to write keyboard configuration for X11. 為 X11 寫入鍵盤設定失敗。 - + Failed to write keyboard configuration to existing /etc/default directory. 寫入鍵盤設定到已存在的 /etc/default 目錄失敗。 @@ -2107,6 +2070,14 @@ The installer will quit and all changes will be lost. 無法開啟要寫入的 /etc/timezone + + ShellProcessJob + + + Shell Processes Job + 殼層處理程序工作 + + SummaryPage @@ -2341,8 +2312,8 @@ The installer will quit and all changes will be lost. - <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - <h1>%1</h1><br/><strong>%2<br/>為 %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>感謝:Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg 與 <a href="https://www.transifex.com/calamares/calamares/">Calamares 翻譯團隊</a>。<br/><br/><a href="http://calamares.io/">Calamares</a> 開發由 <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software 贊助。 + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. + <h1>%1</h1><br/><strong>%2<br/>為 %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>感謝:Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg 與 <a href="https://www.transifex.com/calamares/calamares/">Calamares 翻譯團隊</a>。<br/><br/><a href="https://calamares.io/">Calamares</a> 開發由 <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software 贊助。 From b9872a12bd000be6b16c75db899e4b4e16153a5d Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Tue, 23 Jan 2018 12:10:41 +0100 Subject: [PATCH 138/178] [desktop] Automatic merge of Transifex translations --- calamares.desktop | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/calamares.desktop b/calamares.desktop index ee39992fc..fce8cb4d9 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -19,6 +19,8 @@ Categories=Qt;System; + + Name[ca]=Calamares Icon[ca]=calamares GenericName[ca]=Instal·lador de sistema @@ -115,6 +117,8 @@ Name[sq]=Calamares Icon[sq]=calamares GenericName[sq]=Instalues Sistemi Comment[sq]=Calamares — Instalues Sistemi +Name[fi_FI]=Calamares +Icon[fi_FI]=calamares GenericName[fi_FI]=Järjestelmän Asennusohjelma Comment[fi_FI]=Calamares — Järjestelmän Asentaja Name[sv]=Calamares From b703151420a0f999731df115e72ca227510cfed5 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Tue, 23 Jan 2018 12:10:42 +0100 Subject: [PATCH 139/178] [python] Automatic merge of Transifex translations --- lang/python.pot | 2 +- lang/python/ar/LC_MESSAGES/python.mo | Bin 503 -> 503 bytes lang/python/ar/LC_MESSAGES/python.po | 2 +- lang/python/ast/LC_MESSAGES/python.mo | Bin 668 -> 668 bytes lang/python/ast/LC_MESSAGES/python.po | 2 +- lang/python/bg/LC_MESSAGES/python.mo | Bin 423 -> 423 bytes lang/python/bg/LC_MESSAGES/python.po | 2 +- lang/python/ca/LC_MESSAGES/python.mo | Bin 1098 -> 1098 bytes lang/python/ca/LC_MESSAGES/python.po | 2 +- lang/python/cs_CZ/LC_MESSAGES/python.mo | Bin 1261 -> 1261 bytes lang/python/cs_CZ/LC_MESSAGES/python.po | 2 +- lang/python/da/LC_MESSAGES/python.mo | Bin 1067 -> 1067 bytes lang/python/da/LC_MESSAGES/python.po | 2 +- lang/python/de/LC_MESSAGES/python.mo | Bin 1059 -> 1059 bytes lang/python/de/LC_MESSAGES/python.po | 2 +- lang/python/el/LC_MESSAGES/python.mo | Bin 568 -> 568 bytes lang/python/el/LC_MESSAGES/python.po | 2 +- lang/python/en_GB/LC_MESSAGES/python.mo | Bin 444 -> 444 bytes lang/python/en_GB/LC_MESSAGES/python.po | 2 +- lang/python/es/LC_MESSAGES/python.mo | Bin 1095 -> 1095 bytes lang/python/es/LC_MESSAGES/python.po | 2 +- lang/python/es_ES/LC_MESSAGES/python.mo | Bin 435 -> 435 bytes lang/python/es_ES/LC_MESSAGES/python.po | 2 +- lang/python/es_MX/LC_MESSAGES/python.mo | Bin 436 -> 436 bytes lang/python/es_MX/LC_MESSAGES/python.po | 2 +- lang/python/es_PR/LC_MESSAGES/python.mo | Bin 441 -> 441 bytes lang/python/es_PR/LC_MESSAGES/python.po | 2 +- lang/python/et/LC_MESSAGES/python.mo | Bin 422 -> 422 bytes lang/python/et/LC_MESSAGES/python.po | 2 +- lang/python/eu/LC_MESSAGES/python.mo | Bin 420 -> 420 bytes lang/python/eu/LC_MESSAGES/python.po | 2 +- lang/python/fa/LC_MESSAGES/python.mo | Bin 414 -> 414 bytes lang/python/fa/LC_MESSAGES/python.po | 2 +- lang/python/fi_FI/LC_MESSAGES/python.mo | Bin 437 -> 437 bytes lang/python/fi_FI/LC_MESSAGES/python.po | 2 +- lang/python/fr/LC_MESSAGES/python.mo | Bin 719 -> 719 bytes lang/python/fr/LC_MESSAGES/python.po | 2 +- lang/python/fr_CH/LC_MESSAGES/python.mo | Bin 439 -> 439 bytes lang/python/fr_CH/LC_MESSAGES/python.po | 2 +- lang/python/gl/LC_MESSAGES/python.mo | Bin 422 -> 422 bytes lang/python/gl/LC_MESSAGES/python.po | 2 +- lang/python/gu/LC_MESSAGES/python.mo | Bin 422 -> 422 bytes lang/python/gu/LC_MESSAGES/python.po | 2 +- lang/python/he/LC_MESSAGES/python.mo | Bin 1144 -> 1144 bytes lang/python/he/LC_MESSAGES/python.po | 2 +- lang/python/hi/LC_MESSAGES/python.mo | Bin 419 -> 419 bytes lang/python/hi/LC_MESSAGES/python.po | 2 +- lang/python/hr/LC_MESSAGES/python.mo | Bin 1195 -> 1195 bytes lang/python/hr/LC_MESSAGES/python.po | 2 +- lang/python/hu/LC_MESSAGES/python.mo | Bin 863 -> 863 bytes lang/python/hu/LC_MESSAGES/python.po | 2 +- lang/python/id/LC_MESSAGES/python.mo | Bin 645 -> 645 bytes lang/python/id/LC_MESSAGES/python.po | 2 +- lang/python/is/LC_MESSAGES/python.mo | Bin 1093 -> 1093 bytes lang/python/is/LC_MESSAGES/python.po | 2 +- lang/python/it_IT/LC_MESSAGES/python.mo | Bin 1110 -> 1110 bytes lang/python/it_IT/LC_MESSAGES/python.po | 2 +- lang/python/ja/LC_MESSAGES/python.mo | Bin 1095 -> 1095 bytes lang/python/ja/LC_MESSAGES/python.po | 2 +- lang/python/kk/LC_MESSAGES/python.mo | Bin 413 -> 413 bytes lang/python/kk/LC_MESSAGES/python.po | 2 +- lang/python/kn/LC_MESSAGES/python.mo | Bin 414 -> 414 bytes lang/python/kn/LC_MESSAGES/python.po | 2 +- lang/python/lo/LC_MESSAGES/python.mo | Bin 410 -> 410 bytes lang/python/lo/LC_MESSAGES/python.po | 2 +- lang/python/lt/LC_MESSAGES/python.mo | Bin 1205 -> 1203 bytes lang/python/lt/LC_MESSAGES/python.po | 4 ++-- lang/python/mr/LC_MESSAGES/python.mo | Bin 421 -> 421 bytes lang/python/mr/LC_MESSAGES/python.po | 2 +- lang/python/nb/LC_MESSAGES/python.mo | Bin 616 -> 616 bytes lang/python/nb/LC_MESSAGES/python.po | 2 +- lang/python/nl/LC_MESSAGES/python.mo | Bin 658 -> 658 bytes lang/python/nl/LC_MESSAGES/python.po | 2 +- lang/python/pl/LC_MESSAGES/python.mo | Bin 1370 -> 1370 bytes lang/python/pl/LC_MESSAGES/python.po | 2 +- lang/python/pl_PL/LC_MESSAGES/python.mo | Bin 581 -> 581 bytes lang/python/pl_PL/LC_MESSAGES/python.po | 2 +- lang/python/pt_BR/LC_MESSAGES/python.mo | Bin 1097 -> 1097 bytes lang/python/pt_BR/LC_MESSAGES/python.po | 2 +- lang/python/pt_PT/LC_MESSAGES/python.mo | Bin 1095 -> 1095 bytes lang/python/pt_PT/LC_MESSAGES/python.po | 2 +- lang/python/ro/LC_MESSAGES/python.mo | Bin 1198 -> 1198 bytes lang/python/ro/LC_MESSAGES/python.po | 2 +- lang/python/ru/LC_MESSAGES/python.mo | Bin 559 -> 559 bytes lang/python/ru/LC_MESSAGES/python.po | 2 +- lang/python/sk/LC_MESSAGES/python.mo | Bin 1092 -> 1092 bytes lang/python/sk/LC_MESSAGES/python.po | 2 +- lang/python/sl/LC_MESSAGES/python.mo | Bin 475 -> 475 bytes lang/python/sl/LC_MESSAGES/python.po | 2 +- lang/python/sq/LC_MESSAGES/python.mo | Bin 1073 -> 1073 bytes lang/python/sq/LC_MESSAGES/python.po | 2 +- lang/python/sr/LC_MESSAGES/python.mo | Bin 495 -> 495 bytes lang/python/sr/LC_MESSAGES/python.po | 2 +- lang/python/sr@latin/LC_MESSAGES/python.mo | Bin 517 -> 517 bytes lang/python/sr@latin/LC_MESSAGES/python.po | 2 +- lang/python/sv/LC_MESSAGES/python.mo | Bin 421 -> 421 bytes lang/python/sv/LC_MESSAGES/python.po | 2 +- lang/python/th/LC_MESSAGES/python.mo | Bin 411 -> 411 bytes lang/python/th/LC_MESSAGES/python.po | 2 +- lang/python/tr_TR/LC_MESSAGES/python.mo | Bin 1054 -> 1054 bytes lang/python/tr_TR/LC_MESSAGES/python.po | 2 +- lang/python/uk/LC_MESSAGES/python.mo | Bin 497 -> 497 bytes lang/python/uk/LC_MESSAGES/python.po | 2 +- lang/python/ur/LC_MESSAGES/python.mo | Bin 418 -> 418 bytes lang/python/ur/LC_MESSAGES/python.po | 2 +- lang/python/uz/LC_MESSAGES/python.mo | Bin 412 -> 412 bytes lang/python/uz/LC_MESSAGES/python.po | 2 +- lang/python/zh_CN/LC_MESSAGES/python.mo | Bin 1033 -> 1033 bytes lang/python/zh_CN/LC_MESSAGES/python.po | 2 +- lang/python/zh_TW/LC_MESSAGES/python.mo | Bin 1052 -> 1052 bytes lang/python/zh_TW/LC_MESSAGES/python.po | 2 +- 111 files changed, 57 insertions(+), 57 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index 35c230b63..f2742cc0e 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/lang/python/ar/LC_MESSAGES/python.mo b/lang/python/ar/LC_MESSAGES/python.mo index 7446ffe32ce10448a93d1be84cb62175365b6d01..fdb36dde2fc8cfd4872084524736c1e7f1c405c2 100644 GIT binary patch delta 24 fcmey){GEA17q5k`fuXLUxq_jkm7&?j=?RPgWHSd# delta 24 fcmey){GEA17q7Xlp^>hUp@N~Am5Is5=?RPgWBCU~ diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index 8915b5706..de7263022 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/ast/LC_MESSAGES/python.mo b/lang/python/ast/LC_MESSAGES/python.mo index 437f08bb07d7e87f81bbbaa01e16ed2659ae55e4..755d3773ca7c43e6b054f31ee6a86bc69be50101 100644 GIT binary patch delta 25 gcmbQkI)`<_KVA!614CUya|J_7D?_u*+>8?$0b#fXwEzGB delta 25 gcmbQkI)`<_KVEZPLnB=yLj^-KD-)B=+>8?$0bzIsuK)l5 diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index 16d568532..50fa88313 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: enolp , 2017\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" diff --git a/lang/python/bg/LC_MESSAGES/python.mo b/lang/python/bg/LC_MESSAGES/python.mo index d3976d1273b1cbb0dbdef9361abf63000d697844..d1730061ab61caddfe245d8d4b6c1709ce778da2 100644 GIT binary patch delta 24 fcmZ3^yqtML7q5k`fuXLUxq_jkm7&?j=>m)ZRWk-# delta 24 fcmZ3^yqtML7q7Xlp^>hUp@N~Am5Is5=>m)ZRQU!~ diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index 57e5a0057..c34567636 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/ca/LC_MESSAGES/python.mo b/lang/python/ca/LC_MESSAGES/python.mo index 12e16c68dc7d248f03de58e8d7d3fa62ce7bef6a..18c9897a5f64feb29d16695cd8a08d1ac04c20bb 100644 GIT binary patch delta 26 hcmX@baf)NZFGgMqT?0d1LvsZ~ODjXO&FoChOaO1~2IK$$ delta 26 hcmX@baf)NZFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.mo b/lang/python/cs_CZ/LC_MESSAGES/python.mo index 951bfdeed6b034f6445c213ffe341cf3f78e0503..a5b0206eb97e8ae6a3eba4bd218a57189b2cb9f7 100644 GIT binary patch delta 26 hcmaFM`Id9TFGgMqT?0d1LvsZ~ODjXO&FoCim;iV=2hRWi delta 26 hcmaFM`Id9TFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" diff --git a/lang/python/da/LC_MESSAGES/python.mo b/lang/python/da/LC_MESSAGES/python.mo index a9bb3c4cdefde8162dbd64d5fd69b294488d34f5..ad59d8adcb78f33cad5e49edf3973ee57f8546f6 100644 GIT binary patch delta 26 hcmZ3@v6^GUFGgMqT?0d1LvsZ~ODjXO&FoAnOaN)228RFu delta 26 hcmZ3@v6^GUFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" diff --git a/lang/python/de/LC_MESSAGES/python.mo b/lang/python/de/LC_MESSAGES/python.mo index 5358088eb02b7bbf653c75f025a6434cc1e0ff0d..c5d1e53c6ca73b86d06688f83ae4594358b34d22 100644 GIT binary patch delta 26 hcmZ3?v6y4SFGgMqT?0d1LvsZ~ODjXO&FoAvOaN#B25$fW delta 26 hcmZ3?v6y4SFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" diff --git a/lang/python/el/LC_MESSAGES/python.mo b/lang/python/el/LC_MESSAGES/python.mo index 8f32b3c2f8dc0e6c4d17e55126b1f67165f2eb3b..59fbfc6846007fe19619cba03d047c2dfa5111be 100644 GIT binary patch delta 24 fcmdnNvVaG4Wo14CUya|J_7D?_u52g?}&T-OIW delta 24 fcmdnNvVaG85*LnB=yLj^-KD-)BA2g?}&T%89r diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index 66e167336..6f4ec2b70 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Efstathios Iosifidis , 2017\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" diff --git a/lang/python/en_GB/LC_MESSAGES/python.mo b/lang/python/en_GB/LC_MESSAGES/python.mo index 791dfd16f2eeb95e2d91eccba3c582c46c78dfab..febdd8f57619e8b47f4dd2781dac68361e56c028 100644 GIT binary patch delta 24 fcmdnPyoY&07q5k`fuXLUxq_jkm7&?j>8gwXStACT delta 24 fcmdnPyoY&07q7Xlp^>hUp@N~Am5Is5>8gwXSm_3o diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index b4573c785..20bfa6440 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/es/LC_MESSAGES/python.mo b/lang/python/es/LC_MESSAGES/python.mo index ea1111fa9610cb0dcfba57670b4ea442a104406a..41be1fdcfd8220f302160701ec9aa93d8548071c 100644 GIT binary patch delta 26 hcmX@kahzkrFGgMqT?0d1LvsZ~ODjXO&FoALOaO0D2HOAt delta 26 hcmX@kahzkrFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" diff --git a/lang/python/es_ES/LC_MESSAGES/python.mo b/lang/python/es_ES/LC_MESSAGES/python.mo index 272ac6a96661fd9c3d7a6cb3a610ba21618901e3..3abbb1351641e257d0aff9b1ac6b6020898d6326 100644 GIT binary patch delta 24 fcmdnYyqS4I7q5k`fuXLUxq_jkm7&?j=`xG}S91n` delta 24 fcmdnYyqS4I7q7Xlp^>hUp@N~Am5Is5=`xG}S2+fG diff --git a/lang/python/es_ES/LC_MESSAGES/python.po b/lang/python/es_ES/LC_MESSAGES/python.po index a5a409c99..b09602f36 100644 --- a/lang/python/es_ES/LC_MESSAGES/python.po +++ b/lang/python/es_ES/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/calamares/teams/20061/es_ES/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/es_MX/LC_MESSAGES/python.mo b/lang/python/es_MX/LC_MESSAGES/python.mo index 07093fbe9aecfe7c45e17dbcef82759aa193c804..334f31bf21782122159602a3316b5785492269ad 100644 GIT binary patch delta 24 fcmdnOyoGr}7q5k`fuXLUxq_jkm7&?j>9ULfSEB}k delta 24 fcmdnOyoGr}7q7Xlp^>hUp@N~Am5Is5>9ULfS7`=( diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index 54ef4ff9b..591441433 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/es_PR/LC_MESSAGES/python.mo b/lang/python/es_PR/LC_MESSAGES/python.mo index baea10f62611af8897a87601a257a4c01626f0fd..8619d355d07731f762510dc7bb769f0e5ce52f6a 100644 GIT binary patch delta 24 fcmdnVypwrC7q5k`fuXLUxq_jkm7&?j=}L?MSd#{k delta 24 fcmdnVypwrC7q7Xlp^>hUp@N~Am5Is5=}L?MSXl;( diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index cbdc5e139..d2914f487 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/et/LC_MESSAGES/python.mo b/lang/python/et/LC_MESSAGES/python.mo index 74b5c19c8df3ee2cfbcf6073f19d730a6f3b81db..3ffda845c9e06957ce622babe600031a875c6f3b 100644 GIT binary patch delta 24 fcmZ3+yo`B57q5k`fuXLUxq_jkm7&?j>HLfURRacC delta 24 fcmZ3+yo`B57q7Xlp^>hUp@N~Am5Is5>HLfURLKTX diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index 903d0a937..87ff2e023 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/eu/LC_MESSAGES/python.mo b/lang/python/eu/LC_MESSAGES/python.mo index 027f022c840c44e1d6b8809d4221e8933bfb918b..eb3f00e1ff5892e381b35bc1980acfdf4fce95d8 100644 GIT binary patch delta 24 fcmZ3&yo7l|7q5k`fuXLUxq_jkm7&?j>AZ{pRHFt` delta 24 fcmZ3&yo7l|7q7Xlp^>hUp@N~Am5Is5>AZ{pRA~lG diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index c21fca637..7c09a6d40 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/fa/LC_MESSAGES/python.mo b/lang/python/fa/LC_MESSAGES/python.mo index 1746c2b73edddcfc81aff80e172538f6e5f3ffe3..7fc5f06252215541be81ab33f86cab820d1eb23e 100644 GIT binary patch delta 24 fcmbQoJdb%o7q5k`fuXLUxq_jkm7&?j>FkUEQ-cOT delta 24 fcmbQoJdb%o7q7Xlp^>hUp@N~Am5Is5>FkUEQ%MFo diff --git a/lang/python/fa/LC_MESSAGES/python.po b/lang/python/fa/LC_MESSAGES/python.po index b9fabdfc9..d3806c91a 100644 --- a/lang/python/fa/LC_MESSAGES/python.po +++ b/lang/python/fa/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.mo b/lang/python/fi_FI/LC_MESSAGES/python.mo index a39a043bc4256688965a6628f2878bc56e7e1a28..faf0f815231f1e730c8cc801793ecd98bb9f3e09 100644 GIT binary patch delta 24 fcmdnWyp?%E7q5k`fuXLUxq_jkm7&?j>2iz!SJMWC delta 24 fcmdnWyp?%E7q7Xlp^>hUp@N~Am5Is5>2iz!SD6NX diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index 4787933c3..6bc17dbc5 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/fr/LC_MESSAGES/python.mo b/lang/python/fr/LC_MESSAGES/python.mo index 1a16c0167f431e3867a7d2051f7fc5084f027d49..3197906a8bda33fe9fe383e53ada2606e83953b8 100644 GIT binary patch delta 26 hcmX@ldY*NIC?l_hu7RPhp}B&grIn%CW+le8i~wHB28I9t delta 26 hcmX@ldY*NIC?l`AuAz~xk)eX2nU#sjW+le8i~wGW27mwn diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index 13022522d..7becd01a4 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Abdallah B , 2017\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.mo b/lang/python/fr_CH/LC_MESSAGES/python.mo index 1207efb478e3c00e3e65a7bb2cf462b945c334e4..3cd99614c74c45cccc9578c61cbd32fe6b345b6c 100644 GIT binary patch delta 24 fcmdnayq$SM7q5k`fuXLUxq_jkm7&?j=?aVhSThET delta 24 fcmdnayq$SM7q7Xlp^>hUp@N~Am5Is5=?aVhSNR5o diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index 4d75b4c07..1b71cd60b 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/gl/LC_MESSAGES/python.mo b/lang/python/gl/LC_MESSAGES/python.mo index 56fdf05e663237c5a52dce148c5f8f6c1ad0aea5..2c4e2a274f1f0ef8f435b016dbfdf31390217fb9 100644 GIT binary patch delta 24 fcmZ3+yo`B57q5k`fuXLUxq_jkm7&?j>HLfURRacC delta 24 fcmZ3+yo`B57q7Xlp^>hUp@N~Am5Is5>HLfURLKTX diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index 6fb4f66da..2a448c313 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/gu/LC_MESSAGES/python.mo b/lang/python/gu/LC_MESSAGES/python.mo index 376739570a887608592b49352923c9d5cfa88221..999aaefa2c8224ea00cb961d399bcea89f4788a4 100644 GIT binary patch delta 24 fcmZ3+yo`B57q5k`fuXLUxq_jkm7&?j>HLfURRacC delta 24 fcmZ3+yo`B57q7Xlp^>hUp@N~Am5Is5>HLfURLKTX diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 0531a5a18..22fe23ecc 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/he/LC_MESSAGES/python.mo b/lang/python/he/LC_MESSAGES/python.mo index f6f1404ad524352ac881ec6f89b87cf091f85472..9279ef1e9e578968050d60570413f017d410c875 100644 GIT binary patch delta 26 hcmeyt@q=T-FGgMqT?0d1LvsZ~ODjXO&FoBtOaOUB2W|iW delta 26 hcmeyt@q=T-FGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" diff --git a/lang/python/hi/LC_MESSAGES/python.mo b/lang/python/hi/LC_MESSAGES/python.mo index a861929c54dd2dca47525c1954544d9ee9f33bf2..ebd68844901edcc0b55208a61894516fa9c19e48 100644 GIT binary patch delta 24 fcmZ3?yqI}H7q5k`fuXLUxq_jkm7&?j={$@8RC5MT delta 24 fcmZ3?yqI}H7q7Xlp^>hUp@N~Am5Is5={$@8R5=Do diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index b9d04cb2c..a6d79ce0f 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/hr/LC_MESSAGES/python.mo b/lang/python/hr/LC_MESSAGES/python.mo index a2ea859562794643283ae7a3b9efb604c96e19f9..d7e4ffc26f94c6ffa9f35810f83e7484760d92fb 100644 GIT binary patch delta 26 hcmZ3@xtepsFGgMqT?0d1LvsZ~ODjXO&FoA|m;h?g2MGWG delta 26 hcmZ3@xtepsFGgN-T|*;XBSQs4Gb#2Lk{A diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index 7217db828..c346b9c99 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Lovro Kudelić , 2017\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" diff --git a/lang/python/hu/LC_MESSAGES/python.mo b/lang/python/hu/LC_MESSAGES/python.mo index 93de1562cfd7db3c585ea987da0e24a0813be461..c6ae0e569d852f19486d5a77dfc2a99908ee2f97 100644 GIT binary patch delta 26 hcmcc5cAsrS2_vtCu7RPhp}B&grIn%C=0?VQi~wuH2bTZ< delta 26 hcmcc5cAsrS2_vt$uAz~xk)eX2nU#sj=0?VQi~wtc2ax~( diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 53e166538..4d48a6341 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: miku84 , 2017\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" diff --git a/lang/python/id/LC_MESSAGES/python.mo b/lang/python/id/LC_MESSAGES/python.mo index 75b46388ab8dc39f6c6450432bbe9ceb1b5d3253..ecef9b143356caa37cd1fff4e19ac7eda2b7432b 100644 GIT binary patch delta 25 gcmZo=ZDpPCkJm!iz);uFT*1)N%Ft{xH)9ne09`r;Z~y=R delta 25 gcmZo=ZDpPCkJnt+&`8(FP{Gj5%EV+dH)9ne09^V8Y5)KL diff --git a/lang/python/id/LC_MESSAGES/python.po b/lang/python/id/LC_MESSAGES/python.po index 33c6c10e9..e8e269257 100644 --- a/lang/python/id/LC_MESSAGES/python.po +++ b/lang/python/id/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Wantoyo , 2017\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" diff --git a/lang/python/is/LC_MESSAGES/python.mo b/lang/python/is/LC_MESSAGES/python.mo index d4f7171e7ea4ef851ab3143b94e07e17cc5e948f..894ffe2a9891ccde56cfdf5d2b0e00df4933004e 100644 GIT binary patch delta 26 hcmX@gag<}jFGgMqT?0d1LvsZ~ODjXO&FoBeOaN}_2Gsxn delta 26 hcmX@gag<}jFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" diff --git a/lang/python/it_IT/LC_MESSAGES/python.mo b/lang/python/it_IT/LC_MESSAGES/python.mo index 196365a9e5f6dba10e51519093cc9e5ca4a2ea1f..71c7060558002d7db87be32fecba3223ab5109a4 100644 GIT binary patch delta 26 hcmcb{agAfcFGgMqT?0d1LvsZ~ODjXO&FoD6OaO9S2M7QF delta 26 hcmcb{agAfcFGgN-T|*;XBSQs4Gb9 diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index 000ddaa63..272dee0c3 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Pietro Francesco Fontana , 2017\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index 0d3e629a783326be817432e7fd770c958d9a6934..08dd693268cdbb379e0b1839976bc58be7a00df4 100644 GIT binary patch delta 26 hcmX@kahzkrFGgMqT?0d1LvsZ~ODjXO&FoALOaO0D2HOAt delta 26 hcmX@kahzkrFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" diff --git a/lang/python/kk/LC_MESSAGES/python.mo b/lang/python/kk/LC_MESSAGES/python.mo index 41ce88c427f3d3c82c08b05e4511311cf4ab3f45..3baff3d0feb849d49f62008f6c9bc0c54f9216db 100644 GIT binary patch delta 24 fcmbQsJePSw7q5k`fuXLUxq_jkm7&?j>1>PuQ&R># delta 24 fcmbQsJePSw7q7Xlp^>hUp@N~Am5Is5>1>PuQyB&~ diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index 21f787390..53759c4ed 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/kn/LC_MESSAGES/python.mo b/lang/python/kn/LC_MESSAGES/python.mo index 53c7788038bcc9b55c0682c46373512a6e24179e..3252e8415e0885678224dd1c3ae20cad0c0cac7c 100644 GIT binary patch delta 24 fcmbQoJdb%o7q5k`fuXLUxq_jkm7&?j>FkUEQ-cOT delta 24 fcmbQoJdb%o7q7Xlp^>hUp@N~Am5Is5>FkUEQ%MFo diff --git a/lang/python/kn/LC_MESSAGES/python.po b/lang/python/kn/LC_MESSAGES/python.po index b88616b36..042aef2d6 100644 --- a/lang/python/kn/LC_MESSAGES/python.po +++ b/lang/python/kn/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Kannada (https://www.transifex.com/calamares/teams/20061/kn/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/lo/LC_MESSAGES/python.mo b/lang/python/lo/LC_MESSAGES/python.mo index dfb003ad82d80b8c7c2262eb88346fd5c23f1e42..26765a2241bcd6d7a195adc25ac999dd7b6f3593 100644 GIT binary patch delta 24 fcmbQmJd1fk7q5k`fuXLUxq_jkm7&?j>CB7(Qo{x` delta 24 fcmbQmJd1fk7q7Xlp^>hUp@N~Am5Is5>CB7(Qi%pG diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index e04e01e07..161cbf067 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/lt/LC_MESSAGES/python.mo b/lang/python/lt/LC_MESSAGES/python.mo index faa0656e392356272516b1cace8dda13c7285251..efbf927eff2b64d09e81059042a5e67ff564fca6 100644 GIT binary patch delta 82 zcmdnWxtVi9j;;&?1H&9<1_n_ey%R_a0_pQWIs`~R1kzeS+Kh#PArMF>Zk(CO$ZMf% bV5nZ=9LP$ZM`^ eXryaos9D-eGG diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 43929fff6..596a6c2bf 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Moo , 2017\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" @@ -24,7 +24,7 @@ msgstr "Fiktyvi python užduotis." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "Fiktyvus python žingsnis {}" +msgstr "Fiktyvus python žingsnis {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." diff --git a/lang/python/mr/LC_MESSAGES/python.mo b/lang/python/mr/LC_MESSAGES/python.mo index 26a66a6c828d6885d89538927b4e59008bd95102..d80b570ab6f9e5e4b5bc4c0102008c9739ce9b12 100644 GIT binary patch delta 24 fcmZ3=yp(xD7q5k`fuXLUxq_jkm7&?j>3oa;RMQ4k delta 24 fcmZ3=yp(xD7q7Xlp^>hUp@N~Am5Is5>3oa;RG9`( diff --git a/lang/python/mr/LC_MESSAGES/python.po b/lang/python/mr/LC_MESSAGES/python.po index 6825e79be..fc9504ba2 100644 --- a/lang/python/mr/LC_MESSAGES/python.po +++ b/lang/python/mr/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/nb/LC_MESSAGES/python.mo b/lang/python/nb/LC_MESSAGES/python.mo index e6e209ead460198baccf3d8862b881fd15451ad7..4a03ab1a777ccfb9fd24f38623533ece1388b728 100644 GIT binary patch delta 24 fcmaFC@`7c;O, 2017\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" diff --git a/lang/python/nl/LC_MESSAGES/python.mo b/lang/python/nl/LC_MESSAGES/python.mo index 8a1180c89d37dfbcdb744a6f7f908fcf0981c97c..c92b9f138d2d2559afe9f63c3238d779252fc054 100644 GIT binary patch delta 25 gcmbQlI*E0{KVA!614CUya|J_7D?_u*+>Gsv0AIugmjD0& delta 25 gcmbQlI*E0{KVEZPLnB=yLj^-KD-)B=+>Gsv0AGX#kpKVy diff --git a/lang/python/nl/LC_MESSAGES/python.po b/lang/python/nl/LC_MESSAGES/python.po index dba21c582..faed96dc5 100644 --- a/lang/python/nl/LC_MESSAGES/python.po +++ b/lang/python/nl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Adriaan de Groot , 2017\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" diff --git a/lang/python/pl/LC_MESSAGES/python.mo b/lang/python/pl/LC_MESSAGES/python.mo index 5044c481473dc884f8b4c3a99d55cea761d1df4a..e9e27c859abd6c5b8291a42799f0ae3c3c3bd9cd 100644 GIT binary patch delta 26 hcmcb`b&G4mFGgMqT?0d1LvsZ~ODjXO&FoCU%m8za2N?hW delta 26 hcmcb`b&G4mFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" diff --git a/lang/python/pl_PL/LC_MESSAGES/python.mo b/lang/python/pl_PL/LC_MESSAGES/python.mo index 4ab528ca48af320b0a0da50800f95ce0971b6eef..4c10ac6ed6544d4c4d3e83f936594556346f2edd 100644 GIT binary patch delta 24 fcmX@ga+GC47q5k`fuXLUxq_jkm7&?j>FXE)TmJ_) delta 24 fcmX@ga+GC47q7Xlp^>hUp@N~Am5Is5>FXE)Tg3-4 diff --git a/lang/python/pl_PL/LC_MESSAGES/python.po b/lang/python/pl_PL/LC_MESSAGES/python.po index 85d06d200..b42e9e6a9 100644 --- a/lang/python/pl_PL/LC_MESSAGES/python.po +++ b/lang/python/pl_PL/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Polish (Poland) (https://www.transifex.com/calamares/teams/20061/pl_PL/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.mo b/lang/python/pt_BR/LC_MESSAGES/python.mo index 3dcb1bbf07ac189c163e29f2adc3c88baa56c3a2..2112efb67f8adaec93b35e121268859d24cd541a 100644 GIT binary patch delta 26 hcmX@fagt-hFGgMqT?0d1LvsZ~ODjXO&FoB0OaO1W2H^kz delta 26 hcmX@fagt-hFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" diff --git a/lang/python/pt_PT/LC_MESSAGES/python.mo b/lang/python/pt_PT/LC_MESSAGES/python.mo index a3e9eae712ff5f8c7ba82841e7caf55ceb30c67b..5f389e682e34c467e1c0f454c0d79f347d8b66eb 100644 GIT binary patch delta 26 hcmX@kahzkrFGgMqT?0d1LvsZ~ODjXO&FoALOaO0D2HOAt delta 26 hcmX@kahzkrFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" diff --git a/lang/python/ro/LC_MESSAGES/python.mo b/lang/python/ro/LC_MESSAGES/python.mo index 454cb52320c085f8c65b594d33c6a1e7d2e9a623..25a4869a6dd96c1c0e218337968befc8b3250081 100644 GIT binary patch delta 26 hcmZ3-xsG$gFGgMqT?0d1LvsZ~ODjXO&FoCenE-2T2ND1P delta 26 hcmZ3-xsG$gFGgN-T|*;XBSQs4Gb, 2018\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" diff --git a/lang/python/ru/LC_MESSAGES/python.mo b/lang/python/ru/LC_MESSAGES/python.mo index 51168d28b97b7ac69a68840605fe566ba505f2f8..4d6d81f4ea4f1439d2361309ec1963a3db8c273f 100644 GIT binary patch delta 24 fcmZ3_vYur^7q5k`fuXLUxq_jkm7&?j=`$DsSKkKp delta 24 fcmZ3_vYur^7q7Xlp^>hUp@N~Am5Is5=`$DsSEUB; diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 3c4311fc0..85ba4291a 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sk/LC_MESSAGES/python.mo b/lang/python/sk/LC_MESSAGES/python.mo index 7f309069efa0a8362d0e08e5f25ca9f2d5c408e1..66ad1f86327c1ba441c2d69e5dd02fb11010e9c4 100644 GIT binary patch delta 26 hcmX@YafD;T21Z^BT?0d1LvsZ~ODjXO&3hT!nE-4I2ZsOv delta 26 hcmX@YafD;T21Z_UT|*;XBSQs4Gb, 2017\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" diff --git a/lang/python/sl/LC_MESSAGES/python.mo b/lang/python/sl/LC_MESSAGES/python.mo index 96d564319490bc5bd2194ff113f9087a5db8b6a4..ffaa69d94b6c8efdb8845d17c99cc9e75702cd15 100644 GIT binary patch delta 24 fcmcc3e4BYf7q5k`fuXLUxq_jkm7&?j=`M@_Uh@X` delta 24 fcmcc3e4BYf7q7Xlp^>hUp@N~Am5Is5=`M@_UbzPG diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index bdf3ef57d..580206e1f 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/sq/LC_MESSAGES/python.mo b/lang/python/sq/LC_MESSAGES/python.mo index ef1962977a89b6b18c1d638459da1e1a97e95505..915634a5ab72038b4854c1d98557fbf477a96349 100644 GIT binary patch delta 26 hcmdnUv5{lLFGgMqT?0d1LvsZ~ODjXO&FoBCOaN-x2AKc= delta 26 hcmdnUv5{lLFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Albanian (https://www.transifex.com/calamares/teams/20061/sq/)\n" diff --git a/lang/python/sr/LC_MESSAGES/python.mo b/lang/python/sr/LC_MESSAGES/python.mo index 6d0b5d88297d6a70f4f409a054aacce103f79bdc..00f505adbcc009f24c719a07c1bac10acbed5f52 100644 GIT binary patch delta 24 fcmaFQ{GNG27q5k`fuXLUxq_jkm7&?j=@EhUp@N~Am5Is5=@EdLAPHPyYsY delta 24 fcmZo=X=Rzv#cQr>Xryaos93oa;RMQ4k delta 24 fcmZ3=yp(xD7q7Xlp^>hUp@N~Am5Is5>3oa;RG9`( diff --git a/lang/python/sv/LC_MESSAGES/python.po b/lang/python/sv/LC_MESSAGES/python.po index 44b91330d..1dac7b992 100644 --- a/lang/python/sv/LC_MESSAGES/python.po +++ b/lang/python/sv/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/th/LC_MESSAGES/python.mo b/lang/python/th/LC_MESSAGES/python.mo index 928119ab4dd6cd592bbfb454214778935a94f492..a77dc83e7874eb32febc3141d1c96c4d4d8140d4 100644 GIT binary patch delta 24 fcmbQuJezq!7q5k`fuXLUxq_jkm7&?j=`4%@Qu78k delta 24 fcmbQuJezq!7q7Xlp^>hUp@N~Am5Is5=`4%@Qn>~( diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index 89a94bd32..e29899a8b 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.mo b/lang/python/tr_TR/LC_MESSAGES/python.mo index 1b5380c8af98216c3e8a1de91c276849d85e348a..a7cc79f7e1faa93e1e7085249340bdcb3be7d7df 100644 GIT binary patch delta 26 hcmbQoF^^-zFGgMqT?0d1LvsZ~ODjXO&FoC#OaNy624DaH delta 26 hcmbQoF^^-zFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" diff --git a/lang/python/uk/LC_MESSAGES/python.mo b/lang/python/uk/LC_MESSAGES/python.mo index bfcf70aed8b71102191731f4b15ba6e2a4a181b0..5a1b7db3cec36b62b379dab889554a258aa11ca1 100644 GIT binary patch delta 24 fcmey!{E>M=7q5k`fuXLUxq_jkm7&?j=~0XTV-p8C delta 24 fcmey!{E>M=7q7Xlp^>hUp@N~Am5Is5=~0XTV%Y~X diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index d20957af7..f7415669f 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/ur/LC_MESSAGES/python.mo b/lang/python/ur/LC_MESSAGES/python.mo index c7e65df546e8126107503dab9dae61ffece7f41d..c737fd0aee1e2cb2edd551ffb400b4a3e6b8cfed 100644 GIT binary patch delta 24 fcmZ3)yoh;17q5k`fuXLUxq_jkm7&?j>D-I}R6_<# delta 24 fcmZ3)yoh;17q7Xlp^>hUp@N~Am5Is5>D-I}R0#$~ diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index e6e8a0179..7dda38246 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/uz/LC_MESSAGES/python.mo b/lang/python/uz/LC_MESSAGES/python.mo index 8938a4717e428e52f81cb5860abe2a811d78aa05..529629f3cb6888afdba2ec3b054b1270dbe7dae6 100644 GIT binary patch delta 24 fcmbQkJcoHg7q5k`fuXLUxq_jkm7&?j>8y+ZQzHgC delta 24 fcmbQkJcoHg7q7Xlp^>hUp@N~Am5Is5>8y+ZQt1XX diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index 0358a00c7..91a855b7c 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.mo b/lang/python/zh_CN/LC_MESSAGES/python.mo index f4b1fcc7b44514a792a8a07af39939a275a94fc7..8d1f42d4c372c687ae16a92432ddfcc03008b6fd 100644 GIT binary patch delta 26 hcmeC==;YY&i;>qt*T7KM&|JaL(#p_mGdmL#698hl1|a|d delta 26 hcmeC==;YY&i;>q{*U(7U$WX!1%*w=MGdmL#698g)1{(kX diff --git a/lang/python/zh_CN/LC_MESSAGES/python.po b/lang/python/zh_CN/LC_MESSAGES/python.po index c260affd4..9bcc07eda 100644 --- a/lang/python/zh_CN/LC_MESSAGES/python.po +++ b/lang/python/zh_CN/LC_MESSAGES/python.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: plantman , 2017\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.mo b/lang/python/zh_TW/LC_MESSAGES/python.mo index 8aabcf737717f2cf5488a09c3d98214c010666af..9003177faa036a7649714f6eae59b81a5b7bfb07 100644 GIT binary patch delta 26 hcmbQkF^6NrFGgMqT?0d1LvsZ~ODjXO&FoB~OaNw;23i0B delta 26 hcmbQkF^6NrFGgN-T|*;XBSQs4Gb, 2017\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" From 9a9c6da6dbcca8282bc221d8fc3440f1c380980d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 23 Jan 2018 12:11:34 +0100 Subject: [PATCH 140/178] i18n: try to trick Transifex into recognizing these strings --- .../utils/CalamaresUtilsSystem.cpp | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 981132ae1..195d967f5 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -253,42 +253,44 @@ System::doChroot() const Calamares::JobResult ProcessResult::explainProcess( const QObject* parent, int ec, const QString& command, const QString& output, int timeout ) { +#define tr parent->tr using Calamares::JobResult; if ( ec == 0 ) return JobResult::ok(); QString outputMessage = output.isEmpty() ? QStringLiteral("\nThere was no output from the command.") - : (parent->tr("\nOutput:\n") + output); + : (tr("\nOutput:\n") + output); if ( ec == -1 ) //Crash! - return JobResult::error( parent->tr( "External command crashed." ), - parent->tr( "Command %1 crashed." ) + return JobResult::error( tr( "External command crashed." ), + tr( "Command %1 crashed." ) .arg( command ) + outputMessage ); if ( ec == -2 ) - return JobResult::error( parent->tr( "External command failed to start." ), - parent->tr( "Command %1 failed to start." ) + return JobResult::error( tr( "External command failed to start." ), + tr( "Command %1 failed to start." ) .arg( command ) ); if ( ec == -3 ) - return JobResult::error( parent->tr( "Internal error when starting command." ), - parent->tr( "Bad parameters for process job call." ) ); + return JobResult::error( tr( "Internal error when starting command." ), + tr( "Bad parameters for process job call." ) ); if ( ec == -4 ) - return JobResult::error( parent->tr( "External command failed to finish." ), - parent->tr( "Command %1 failed to finish in %2 seconds." ) + return JobResult::error( tr( "External command failed to finish." ), + tr( "Command %1 failed to finish in %2 seconds." ) .arg( command ) .arg( timeout ) + outputMessage ); //Any other exit code - return JobResult::error( parent->tr( "External command finished with errors." ), - parent->tr( "Command %1 finished with exit code %2." ) + return JobResult::error( tr( "External command finished with errors." ), + tr( "Command %1 finished with exit code %2." ) .arg( command ) .arg( ec ) + outputMessage ); +#undef tr } } // namespace From 8c4a298f16dc2a9e0360e5cd092ac035b0fc9c1d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 24 Jan 2018 14:06:04 +0100 Subject: [PATCH 141/178] CMake: bump version in preparation for -RC3 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ba0e3e73..f051e49c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,7 +202,7 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 2 ) set( CALAMARES_VERSION_PATCH 0 ) -set( CALAMARES_VERSION_RC 2 ) +set( CALAMARES_VERSION_RC 3 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) set( CALAMARES_VERSION_SHORT "${CALAMARES_VERSION}" ) From eae52a3e65b0388b9a6586d32fa9ded3b984c6be Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 24 Jan 2018 10:29:06 +0100 Subject: [PATCH 142/178] CMake: build modules alphabetically --- src/modules/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt index d793b718f..7f93c555a 100644 --- a/src/modules/CMakeLists.txt +++ b/src/modules/CMakeLists.txt @@ -10,8 +10,11 @@ if( BUILD_TESTING ) target_include_directories( test_conf PUBLIC ${YAMLCPP_INCLUDE_DIR} ) endif() -file( GLOB SUBDIRECTORIES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*" ) string( REPLACE " " ";" SKIP_LIST "${SKIP_MODULES}" ) + +file( GLOB SUBDIRECTORIES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*" ) +list( SORT SUBDIRECTORIES ) + foreach( SUBDIRECTORY ${SUBDIRECTORIES} ) list( FIND SKIP_LIST ${SUBDIRECTORY} DO_SKIP ) From 27e1de65483cc3168120efd5e08e62f68cdbeec3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 23 Jan 2018 13:02:49 +0100 Subject: [PATCH 143/178] [users] Use libpwquality for additional password checks - add cmake module to find libpwquality - move checking functions to their own file - some Transifex hackery - stub out the libpwquality check --- CMakeModules/FindLibPWQuality.cmake | 37 +++++++++++ src/modules/users/CMakeLists.txt | 17 +++++ src/modules/users/CheckPWQuality.cpp | 94 ++++++++++++++++++++++++++++ src/modules/users/CheckPWQuality.h | 83 ++++++++++++++++++++++++ src/modules/users/UsersPage.cpp | 61 +++--------------- src/modules/users/UsersPage.h | 40 +----------- 6 files changed, 242 insertions(+), 90 deletions(-) create mode 100644 CMakeModules/FindLibPWQuality.cmake create mode 100644 src/modules/users/CheckPWQuality.cpp create mode 100644 src/modules/users/CheckPWQuality.h diff --git a/CMakeModules/FindLibPWQuality.cmake b/CMakeModules/FindLibPWQuality.cmake new file mode 100644 index 000000000..84136f5ad --- /dev/null +++ b/CMakeModules/FindLibPWQuality.cmake @@ -0,0 +1,37 @@ +# Locate libpwquality +# https://github.com/libpwquality/libpwquality +# +# This module defines +# LibPWQuality_FOUND +# LibPWQuality_LIBRARIES, where to find the library +# LibPWQuality_INCLUDE_DIRS, where to find pwquality.h +# +include(FindPkgConfig) +include(FindPackageHandleStandardArgs) + +pkg_search_module(pc_pwquality QUIET pwquality) + +find_path(LibPWQuality_INCLUDE_DIR + NAMES pwquality.h + PATHS ${pc_pwquality_INCLUDE_DIRS} +) +find_library(LibPWQuality_LIBRARY + NAMES pwquality + PATHS ${pc_pwquality_LIBRARY_DIRS} +) +if(pc_pwquality_FOUND) + set(LibPWQuality_LIBRARIES ${LibPWQuality_LIBRARY}) + set(LibPWQuality_INCLUDE_DIRS ${LibPWQuality_INCLUDE_DIR} ${pc_pwquality_INCLUDE_DIRS}) +endif() + +find_package_handle_standard_args(LibPWQuality DEFAULT_MSG + LibPWQuality_INCLUDE_DIRS + LibPWQuality_LIBRARIES +) +mark_as_advanced(LibPWQuality_INCLUDE_DIRS LibPWQuality_LIBRARIES) + +set_package_properties( + LibPWQuality PROPERTIES + DESCRIPTION "Password quality checking library" + URL "https://github.com/libpwquality/libpwquality" +) diff --git a/src/modules/users/CMakeLists.txt b/src/modules/users/CMakeLists.txt index ebff9df8c..16e235fd5 100644 --- a/src/modules/users/CMakeLists.txt +++ b/src/modules/users/CMakeLists.txt @@ -6,6 +6,21 @@ endif() find_package( Qt5 COMPONENTS Core Test REQUIRED ) find_package( Crypt REQUIRED ) +# Add optional libraries here +set( USER_EXTRA_LIB ) + +find_package( LibPWQuality ) +set_package_properties( + LibPWQuality PROPERTIES + PURPOSE "Extra checks of password quality" +) + +if( LibPWQuality_FOUND ) + list( APPEND USER_EXTRA_LIB ${LibPWQuality_LIBRARIES} ) + include_directories( ${LibPWQuality_INCLUDE_DIRS} ) + add_definitions( -DCHECK_PWQUALITY -DHAVE_LIBPWQUALITY ) +endif() + include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) calamares_add_plugin( users @@ -17,6 +32,7 @@ calamares_add_plugin( users UsersViewStep.cpp UsersPage.cpp SetHostNameJob.cpp + CheckPWQuality.cpp UI page_usersetup.ui RESOURCES @@ -24,6 +40,7 @@ calamares_add_plugin( users LINK_PRIVATE_LIBRARIES calamaresui ${CRYPT_LIBRARIES} + ${USER_EXTRA_LIB} SHARED_LIB ) diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp new file mode 100644 index 000000000..4ac84473f --- /dev/null +++ b/src/modules/users/CheckPWQuality.cpp @@ -0,0 +1,94 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "CheckPWQuality.h" + +#include "utils/Logger.h" + +#include + +PasswordCheck::PasswordCheck() + : m_message() + , m_accept( []( const QString& s ){ return true; } ) +{ +} + +PasswordCheck::PasswordCheck( const QString& m, AcceptFunc a ) + : m_message( [m](){ return m; } ) + , m_accept( a ) +{ +} + +PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a ) + : m_message( m ) + , m_accept( a ) +{ +} + +// Try to trick Transifex into accepting these strings +#define tr parent->tr + +DEFINE_CHECK_FUNC(minLength) +{ + int minLength = -1; + if ( value.canConvert( QVariant::Int ) ) + minLength = value.toInt(); + if ( minLength > 0 ) + { + cDebug() << " .. minLength set to" << minLength; + checks.push_back( + PasswordCheck( + [parent]() + { + return tr( "Password is too short" ); + }, + [minLength]( const QString& s ) + { + return s.length() >= minLength; + } + ) ); + } +} + +DEFINE_CHECK_FUNC(maxLength) +{ + int maxLength = -1; + if ( value.canConvert( QVariant::Int ) ) + maxLength = value.toInt(); + if ( maxLength > 0 ) + { + cDebug() << " .. maxLength set to" << maxLength; + checks.push_back( + PasswordCheck( + [parent]() + { + return tr( "Password is too long" ); + }, [maxLength]( const QString& s ) + { + return s.length() <= maxLength; + } + ) ); + } +} + +#ifdef HAVE_LIBPWQUALITY +DEFINE_CHECK_FUNC(libpwquality) +{ + +} +#endif diff --git a/src/modules/users/CheckPWQuality.h b/src/modules/users/CheckPWQuality.h new file mode 100644 index 000000000..b9ea82ce1 --- /dev/null +++ b/src/modules/users/CheckPWQuality.h @@ -0,0 +1,83 @@ +/* === This file is part of Calamares - === + * + * Copyright 2018, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef CHECKPWQUALITY_H +#define CHECKPWQUALITY_H + +#include +#include +#include + +#include + +/** + * Support for (dynamic) checks on the password's validity. + * This can be used to implement password requirements like + * "at least 6 characters". Function addPasswordCheck() + * instantiates these and adds them to the list of checks. + */ +class PasswordCheck +{ +public: + /** Return true if the string is acceptable. */ + using AcceptFunc = std::function; + using MessageFunc = std::function; + + /** Generate a @p message if @p filter returns true */ + PasswordCheck( MessageFunc message, AcceptFunc filter ); + /** Yields @p message if @p filter returns true */ + PasswordCheck( const QString& message, AcceptFunc filter ); + /** Null check, always returns empty */ + PasswordCheck(); + + /** Applies this check to the given password string @p s + * and returns an empty string if the password is ok + * according to this filter. Returns a message describing + * what is wrong if not. + */ + QString filter( const QString& s ) const + { + return m_accept( s ) ? QString() : m_message(); + } + +private: + MessageFunc m_message; + AcceptFunc m_accept; +} ; + +using PasswordCheckList = QVector; + +/* Each of these functions adds a check (if possible) to the list + * of checks; they use the configuration value(s) from the + * variant. If the value doesn't make sense, each function + * may skip adding a check, and do nothing (it should log + * an error, though). + */ +#define _xDEFINE_CHECK_FUNC(x) \ + add_check_##x( QWidget* parent, PasswordCheckList& checks, const QVariant& value ) +#define DEFINE_CHECK_FUNC(x) void _xDEFINE_CHECK_FUNC(x) +#define DECLARE_CHECK_FUNC(x) void _xDEFINE_CHECK_FUNC(x); + +DECLARE_CHECK_FUNC(minLength) +DECLARE_CHECK_FUNC(maxLength) +#ifdef HAVE_LIBPWQUALITY +DECLARE_CHECK_FUNC(libpwquality) +#endif + +#endif + diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 62f558a1e..ada0fae0f 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -455,68 +455,23 @@ UsersPage::setReusePasswordDefault( bool checked ) emit checkReady( isReady() ); } -UsersPage::PasswordCheck::PasswordCheck() - : m_message() - , m_accept( []( const QString& s ) -{ - return true; -} ) -{ -} - -UsersPage::PasswordCheck::PasswordCheck( const QString& m, AcceptFunc a ) - : m_message( [m](){ return m; } ) - , m_accept( a ) -{ -} - -UsersPage::PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a ) - : m_message( m ) - , m_accept( a ) -{ -} - void UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) { if ( key == "minLength" ) { - int minLength = -1; - if ( value.canConvert( QVariant::Int ) ) - minLength = value.toInt(); - if ( minLength > 0 ) - { - cDebug() << key << " .. set to" << minLength; - m_passwordChecks.push_back( - PasswordCheck( - []() - { - return tr( "Password is too short" ); - }, - [minLength]( const QString& s ) - { - return s.length() >= minLength; - } ) ); - } + add_check_minLength( this, m_passwordChecks, value ); } else if ( key == "maxLength" ) { - int maxLength = -1; - if ( value.canConvert( QVariant::Int ) ) - maxLength = value.toInt(); - if ( maxLength > 0 ) - { - cDebug() << key << " .. set to" << maxLength; - m_passwordChecks.push_back( - PasswordCheck( []() - { - return tr( "Password is too long" ); - }, [maxLength]( const QString& s ) - { - return s.length() <= maxLength; - } ) ); - } + add_check_maxLength( this, m_passwordChecks, value ); } +#ifdef CHECK_PWQUALITY + else if ( key == "libpwquality" ) + { + add_check_libpwquality( this, m_passwordChecks, value ); + } +#endif else cDebug() << "WARNING: Unknown password-check key" << '"' << key << '"'; } diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index 8bfcdb83b..5990d8693 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -26,9 +26,9 @@ #include "Typedefs.h" -#include +#include "CheckPWQuality.h" -#include +#include namespace Ui { @@ -70,41 +70,7 @@ signals: private: Ui::Page_UserSetup* ui; - /** - * Support for (dynamic) checks on the password's validity. - * This can be used to implement password requirements like - * "at least 6 characters". Function addPasswordCheck() - * instantiates these and adds them to the list of checks. - */ - class PasswordCheck - { - public: - /** Return true if the string is acceptable. */ - using AcceptFunc = std::function; - using MessageFunc = std::function; - - /** Generate a @p message if @p filter returns true */ - PasswordCheck( MessageFunc message, AcceptFunc filter ); - /** Yields @p message if @p filter returns true */ - PasswordCheck( const QString& message, AcceptFunc filter ); - /** Null check, always returns empty */ - PasswordCheck(); - - /** Applies this check to the given password string @p s - * and returns an empty string if the password is ok - * according to this filter. Returns a message describing - * what is wrong if not. - */ - QString filter( const QString& s ) const - { - return m_accept( s ) ? QString() : m_message(); - } - - private: - MessageFunc m_message; - AcceptFunc m_accept; - } ; - QVector m_passwordChecks; + PasswordCheckList m_passwordChecks; const QRegExp USERNAME_RX = QRegExp( "^[a-z_][a-z0-9_-]*[$]?$" ); const QRegExp HOSTNAME_RX = QRegExp( "^[a-zA-Z0-9][-a-zA-Z0-9_]*$" ); From 354cb79cb1dde1d81ab33f455283a63e643c4d09 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 23 Jan 2018 15:28:49 +0100 Subject: [PATCH 144/178] [users] sample config and stub function for libpwquality --- src/modules/users/CheckPWQuality.cpp | 12 ++++++++++++ src/modules/users/UsersPage.cpp | 2 +- src/modules/users/users.conf | 14 +++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index 4ac84473f..038adf27b 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -89,6 +89,18 @@ DEFINE_CHECK_FUNC(maxLength) #ifdef HAVE_LIBPWQUALITY DEFINE_CHECK_FUNC(libpwquality) { + if ( !value.canConvert( QVariant::List ) ) + { + cDebug() << "WARNING: libpwquality settings is not a list"; + return; + } + QVariantList l = value.toList(); + unsigned int requirement_count = 0; + for ( const auto& v : l ) + { + cDebug() << " .. " << v.type() << v; + // TODO: pass strings on to libpwquality + } } #endif diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index ada0fae0f..8ea961662 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -473,5 +473,5 @@ UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) } #endif else - cDebug() << "WARNING: Unknown password-check key" << '"' << key << '"'; + cDebug() << "WARNING: Unknown password-check key" << key; } diff --git a/src/modules/users/users.conf b/src/modules/users/users.conf index 1f62fc1e5..6111a6e80 100644 --- a/src/modules/users/users.conf +++ b/src/modules/users/users.conf @@ -58,7 +58,19 @@ doReusePassword: true # (e.g. specifying a maximum length less than the minimum length # will annoy users). # -# (additional checks may be implemented in UsersPage.cpp) +# The libpwquality check relies on the (optional) libpwquality library. +# Its value is a list of configuration statements that could also +# be found in pwquality.conf, and these are handed off to the +# libpwquality parser for evaluation. The check is ignored if +# libpwquality is not available at build time (generates a warning in +# the log). The Calamares password check rejects passwords with a +# score of < 40 with the given libpwquality settings. +# +# (additional checks may be implemented in CheckPWQuality.cpp and +# wired into UsersPage.cpp) passwordRequirements: minLength: -1 # Password at least this many characters maxLength: -1 # Password at most this many characters + libpwquality: + - minlen=8 + - minclass=2 From ed58d540b3402fd3ee4300443fc2e7d5c4c577cb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 23 Jan 2018 16:21:44 +0100 Subject: [PATCH 145/178] [users] Implement password checking through libpwquality - Use shared_ptr and a helper class to hide away raw pointer use from libpwquality. Provide a convenience C++ API. - Simplify configuration through helper class. --- src/modules/users/CheckPWQuality.cpp | 83 +++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 2 deletions(-) diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index 038adf27b..267db0987 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -22,6 +22,16 @@ #include +#ifdef HAVE_LIBPWQUALITY +#include +#endif + +#include + +static void _default_cleanup() +{ +} + PasswordCheck::PasswordCheck() : m_message() , m_accept( []( const QString& s ){ return true; } ) @@ -87,6 +97,41 @@ DEFINE_CHECK_FUNC(maxLength) } #ifdef HAVE_LIBPWQUALITY +/** + * Class that acts as a RAII placeholder for pwquality_settings_t pointers. + * Gets a new pointer and ensures it is deleted only once; provides + * convenience functions for setting options and checking passwords. + */ +class PWSettingsHolder +{ +public: + PWSettingsHolder() + : m_settings( pwquality_default_settings() ) + { + } + + ~PWSettingsHolder() + { + cDebug() << "Freeing PWQ@" << (void *)m_settings; + pwquality_free_settings( m_settings ); + } + + /// Sets an option via the configuration string @p v, = style. + int set( const QString& v ) + { + return pwquality_set_option( m_settings, v.toUtf8().constData() ); + } + + /// Checks the given password @p pwd against the current configuration + int check( const QString& pwd ) + { + return pwquality_check(m_settings, pwd.toUtf8().constData(), nullptr, nullptr, nullptr); + } + +private: + pwquality_settings_t* m_settings; +} ; + DEFINE_CHECK_FUNC(libpwquality) { if ( !value.canConvert( QVariant::List ) ) @@ -97,10 +142,44 @@ DEFINE_CHECK_FUNC(libpwquality) QVariantList l = value.toList(); unsigned int requirement_count = 0; + auto settings = std::make_shared(); for ( const auto& v : l ) { - cDebug() << " .. " << v.type() << v; - // TODO: pass strings on to libpwquality + if (v.type() == QVariant::String) + { + QString option = v.toString(); + int r = settings->set( option ); + if (r) + cDebug() << " .. WARNING: unrecognized libpwquality setting" << option; + else + { + cDebug() << " .. libpwquality setting" << option; + ++requirement_count; + } + } + else + cDebug() << " .. WARNING: unrecognized libpwquality setting" << v; + } + + /* Something actually added? */ + if (requirement_count) + { + checks.push_back( + PasswordCheck( + [parent]() + { + return tr( "Password is too weak" ); + }, + [settings]( const QString& s ) + { + int r = settings->check( s ); + if ( r < 0 ) + cDebug() << "WARNING: libpwquality error" << r; + else if ( r < 40 ) + cDebug() << "Password strength" << r << "too low"; + return r >= 40; + } + ) ); } } #endif From 399256ba99cc0fcbc41a82493c32af2f153174b7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 23 Jan 2018 20:19:27 +0100 Subject: [PATCH 146/178] [users] Use explanation of password error from libpwquality - add license file from libpwquality for provenance - translate pwquality_strerror() into the PWSettingsHolder convenience class - use Qt translations, since we'd otherwise also have to wire up, and wire in, libpwquality gettext translations. --- LICENSES/GPLv2+-libpwquality | 383 +++++++++++++++++++++++++++ src/modules/users/CheckPWQuality.cpp | 172 +++++++++++- 2 files changed, 543 insertions(+), 12 deletions(-) create mode 100644 LICENSES/GPLv2+-libpwquality diff --git a/LICENSES/GPLv2+-libpwquality b/LICENSES/GPLv2+-libpwquality new file mode 100644 index 000000000..5d1984656 --- /dev/null +++ b/LICENSES/GPLv2+-libpwquality @@ -0,0 +1,383 @@ +Unless otherwise *explicitly* stated the following text describes the +licensed conditions under which the contents of this libpwquality release +may be distributed: + +------------------------------------------------------------------------- +Redistribution and use in source and binary forms of libpwquality, with +or without modification, are permitted provided that the following +conditions are met: + +1. Redistributions of source code must retain any existing copyright + notice, and this entire permission notice in its entirety, + including the disclaimer of warranties. + +2. Redistributions in binary form must reproduce all prior and current + copyright notices, this list of conditions, and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + +3. The name of any author may not be used to endorse or promote + products derived from this software without their specific prior + written permission. + +ALTERNATIVELY, this product may be distributed under the terms of the +GNU General Public License version 2 or later, in which case the provisions +of the GNU GPL are required INSTEAD OF the above restrictions. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +The full text of the GNU GENERAL PUBLIC LICENSE Version 2 is included +below. + +------------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index 267db0987..7f52dca84 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -20,6 +20,7 @@ #include "utils/Logger.h" +#include #include #ifdef HAVE_LIBPWQUALITY @@ -53,7 +54,7 @@ PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a ) // Try to trick Transifex into accepting these strings #define tr parent->tr -DEFINE_CHECK_FUNC(minLength) +DEFINE_CHECK_FUNC( minLength ) { int minLength = -1; if ( value.canConvert( QVariant::Int ) ) @@ -75,7 +76,7 @@ DEFINE_CHECK_FUNC(minLength) } } -DEFINE_CHECK_FUNC(maxLength) +DEFINE_CHECK_FUNC( maxLength ) { int maxLength = -1; if ( value.canConvert( QVariant::Int ) ) @@ -105,14 +106,17 @@ DEFINE_CHECK_FUNC(maxLength) class PWSettingsHolder { public: + static constexpr int arbitrary_minimum_strength = 40; + PWSettingsHolder() : m_settings( pwquality_default_settings() ) + , m_auxerror( nullptr ) { } ~PWSettingsHolder() { - cDebug() << "Freeing PWQ@" << (void *)m_settings; + cDebug() << "Freeing PWQ@" << ( void* )m_settings; pwquality_free_settings( m_settings ); } @@ -125,14 +129,158 @@ public: /// Checks the given password @p pwd against the current configuration int check( const QString& pwd ) { - return pwquality_check(m_settings, pwd.toUtf8().constData(), nullptr, nullptr, nullptr); + void* auxerror = nullptr; + int r = pwquality_check( m_settings, pwd.toUtf8().constData(), nullptr, nullptr, &auxerror ); + m_rv = r; + return r; } + bool hasExplanation() const + { + return m_rv < 0; + } + +#define tr parent->tr + /* This is roughly the same as the function pwquality_strerror, + * only with QStrings instead, and using the Qt translation scheme. + * It is used under the terms of the GNU GPL v3 or later, as + * allowed by the libpwquality license (LICENSES/GPLv2+-libpwquality) + */ + QString explanation( QWidget* parent ) + { + void* auxerror = m_auxerror; + m_auxerror = nullptr; + + if ( m_rv >= arbitrary_minimum_strength ) + return QString(); + if ( m_rv >= 0 ) + return tr( "Password is too weak" ); + + switch ( m_rv ) + { + case PWQ_ERROR_MEM_ALLOC: + if ( auxerror ) + { + QString s = tr( "Memory allocation error when setting '%1'" ).arg( ( const char* )auxerror ); + free( auxerror ); + return s; + } + return tr( "Memory allocation error" ); + case PWQ_ERROR_SAME_PASSWORD: + return tr( "The password is the same as the old one" ); + case PWQ_ERROR_PALINDROME: + return tr( "The password is a palindrome" ); + case PWQ_ERROR_CASE_CHANGES_ONLY: + return tr( "The password differs with case changes only" ); + case PWQ_ERROR_TOO_SIMILAR: + return tr( "The password is too similar to the old one" ); + case PWQ_ERROR_USER_CHECK: + return tr( "The password contains the user name in some form" ); + case PWQ_ERROR_GECOS_CHECK: + return tr( "The password contains words from the real name of the user in some form" ); + case PWQ_ERROR_BAD_WORDS: + return tr( "The password contains forbidden words in some form" ); + case PWQ_ERROR_MIN_DIGITS: + if ( auxerror ) + return tr( "The password contains less than %1 digits" ).arg( ( long )auxerror ); + return tr( "The password contains too few digits" ); + case PWQ_ERROR_MIN_UPPERS: + if ( auxerror ) + return tr( "The password contains less than %1 uppercase letters" ).arg( ( long )auxerror ); + return tr( "The password contains too few uppercase letters" ); + case PWQ_ERROR_MIN_LOWERS: + if ( auxerror ) + return tr( "The password contains less than %1 lowercase letters" ).arg( ( long )auxerror ); + return tr( "The password contains too few lowercase letters" ); + case PWQ_ERROR_MIN_OTHERS: + if ( auxerror ) + return tr( "The password contains less than %1 non-alphanumeric characters" ).arg( ( long )auxerror ); + return tr( "The password contains too few non-alphanumeric characters" ); + case PWQ_ERROR_MIN_LENGTH: + if ( auxerror ) + return tr( "The password is shorter than %1 characters" ).arg( ( long )auxerror ); + return tr( "The password is too short" ); + case PWQ_ERROR_ROTATED: + return tr( "The password is just rotated old one" ); + case PWQ_ERROR_MIN_CLASSES: + if ( auxerror ) + return tr( "The password contains less than %1 character classes" ).arg( ( long )auxerror ); + return tr( "The password does not contain enough character classes" ); + case PWQ_ERROR_MAX_CONSECUTIVE: + if ( auxerror ) + return tr( "The password contains more than %1 same characters consecutively" ).arg( ( long )auxerror ); + return tr( "The password contains too many same characters consecutively" ); + case PWQ_ERROR_MAX_CLASS_REPEAT: + if ( auxerror ) + return tr( "The password contains more than %1 characters of the same class consecutively" ).arg( ( long )auxerror ); + return tr( "The password contains too many characters of the same class consecutively" ); + case PWQ_ERROR_MAX_SEQUENCE: + if ( auxerror ) + return tr( "The password contains monotonic sequence longer than %1 characters" ).arg( ( long )auxerror ); + return tr( "The password contains too long of a monotonic character sequence" ); + case PWQ_ERROR_EMPTY_PASSWORD: + return tr( "No password supplied" ); + case PWQ_ERROR_RNG: + return tr( "Cannot obtain random numbers from the RNG device" ); + case PWQ_ERROR_GENERATION_FAILED: + return tr( "Password generation failed - required entropy too low for settings" ); + case PWQ_ERROR_CRACKLIB_CHECK: + if ( auxerror ) + { + /* Here the string comes from cracklib, don't free? */ + return tr( "The password fails the dictionary check - %1" ).arg( ( const char* )auxerror ); + } + return tr( "The password fails the dictionary check" ); + case PWQ_ERROR_UNKNOWN_SETTING: + if ( auxerror ) + { + QString s = tr( "Unknown setting - %1" ).arg( ( const char* )auxerror ); + free( auxerror ); + return s; + } + return tr( "Unknown setting" ); + case PWQ_ERROR_INTEGER: + if ( auxerror ) + { + QString s = tr( "Bad integer value of setting - %1" ).arg( ( const char* )auxerror ); + free( auxerror ); + return s; + } + return tr( "Bad integer value" ); + case PWQ_ERROR_NON_INT_SETTING: + if ( auxerror ) + { + QString s = tr( "Setting %1 is not of integer type" ).arg( ( const char* )auxerror ); + free( auxerror ); + return s; + } + return tr( "Setting is not of integer type" ); + case PWQ_ERROR_NON_STR_SETTING: + if ( auxerror ) + { + QString s = tr( "Setting %1 is not of string type" ).arg( ( const char* )auxerror ); + free( auxerror ); + return s; + } + return tr( "Setting is not of string type" ); + case PWQ_ERROR_CFGFILE_OPEN: + return tr( "Opening the configuration file failed" ); + case PWQ_ERROR_CFGFILE_MALFORMED: + return tr( "The configuration file is malformed" ); + case PWQ_ERROR_FATAL_FAILURE: + return tr( "Fatal failure" ); + default: + return tr( "Unknown error" ); + } + } +#undef tr private: pwquality_settings_t* m_settings; + int m_rv; + void* m_auxerror; } ; -DEFINE_CHECK_FUNC(libpwquality) +DEFINE_CHECK_FUNC( libpwquality ) { if ( !value.canConvert( QVariant::List ) ) { @@ -145,11 +293,11 @@ DEFINE_CHECK_FUNC(libpwquality) auto settings = std::make_shared(); for ( const auto& v : l ) { - if (v.type() == QVariant::String) + if ( v.type() == QVariant::String ) { QString option = v.toString(); int r = settings->set( option ); - if (r) + if ( r ) cDebug() << " .. WARNING: unrecognized libpwquality setting" << option; else { @@ -162,22 +310,22 @@ DEFINE_CHECK_FUNC(libpwquality) } /* Something actually added? */ - if (requirement_count) + if ( requirement_count ) { checks.push_back( PasswordCheck( - [parent]() + [parent,settings]() { - return tr( "Password is too weak" ); + return settings->explanation( parent ); }, [settings]( const QString& s ) { int r = settings->check( s ); if ( r < 0 ) cDebug() << "WARNING: libpwquality error" << r; - else if ( r < 40 ) + else if ( r < settings->arbitrary_minimum_strength ) cDebug() << "Password strength" << r << "too low"; - return r >= 40; + return r >= settings->arbitrary_minimum_strength; } ) ); } From b0fe7b0682cf7db418399516ff99fb39c6ae841c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 24 Jan 2018 11:03:58 +0100 Subject: [PATCH 147/178] i18n: apply some more tricks to make lupdate / transifex happy --- src/modules/users/CheckPWQuality.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index 7f52dca84..f8f49a0b1 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -53,6 +53,19 @@ PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a ) // Try to trick Transifex into accepting these strings #define tr parent->tr +struct LengthExplainer +{ + static QString too_short( QWidget* parent ) + { + return tr( "Password is too short" ); + } + + static QString too_long( QWidget* parent ) + { + return tr( "Password is too long" ); + } +} ; +#undef tr DEFINE_CHECK_FUNC( minLength ) { @@ -66,7 +79,7 @@ DEFINE_CHECK_FUNC( minLength ) PasswordCheck( [parent]() { - return tr( "Password is too short" ); + return LengthExplainer::too_short( parent ); }, [minLength]( const QString& s ) { @@ -88,8 +101,9 @@ DEFINE_CHECK_FUNC( maxLength ) PasswordCheck( [parent]() { - return tr( "Password is too long" ); - }, [maxLength]( const QString& s ) + return LengthExplainer::too_long( parent ); + }, + [maxLength]( const QString& s ) { return s.length() <= maxLength; } From 188a434a1013d0822cf6eb3bb6cc667bf02ae7f7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 24 Jan 2018 15:28:46 +0100 Subject: [PATCH 148/178] [dummycpp] more verbose debug log --- src/modules/dummycpp/DummyCppJob.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/dummycpp/DummyCppJob.cpp b/src/modules/dummycpp/DummyCppJob.cpp index 17111ff79..fb5a2db3a 100644 --- a/src/modules/dummycpp/DummyCppJob.cpp +++ b/src/modules/dummycpp/DummyCppJob.cpp @@ -129,6 +129,9 @@ DummyCppJob::exec() emit progress( 0.1 ); cDebug() << "[DUMMYCPP]: " << accumulator; + globalStorage->debugDump(); + emit progress( 0.5 ); + QThread::sleep( 3 ); return Calamares::JobResult::ok(); From 26dfd56f6d651f4ef3f9db35e3e970686a391aa8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 24 Jan 2018 15:24:19 +0100 Subject: [PATCH 149/178] [libcalamares] Additional convenience function extracting int --- src/libcalamares/utils/CalamaresUtils.cpp | 14 ++++++++++++++ src/libcalamares/utils/CalamaresUtils.h | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/src/libcalamares/utils/CalamaresUtils.cpp b/src/libcalamares/utils/CalamaresUtils.cpp index e85c11f8c..9e678737b 100644 --- a/src/libcalamares/utils/CalamaresUtils.cpp +++ b/src/libcalamares/utils/CalamaresUtils.cpp @@ -352,6 +352,20 @@ getString(const QVariantMap& map, const QString& key) return QString(); } +int +getInteger( const QVariantMap& map, const QString& key, int d ) +{ + int result = d; + if ( map.contains( key ) ) + { + auto v = map.value( key ); + if ( v.type() == QVariant::Int ) + result = v.toInt(); + } + + return result; +} + QVariantMap getSubMap( const QVariantMap& map, const QString& key, bool& success ) { diff --git a/src/libcalamares/utils/CalamaresUtils.h b/src/libcalamares/utils/CalamaresUtils.h index e6550ed3b..9b279ef43 100644 --- a/src/libcalamares/utils/CalamaresUtils.h +++ b/src/libcalamares/utils/CalamaresUtils.h @@ -109,6 +109,11 @@ namespace CalamaresUtils */ DLLEXPORT QString getString( const QVariantMap& map, const QString& key ); + /** + * Get an integer value from a mapping; returns @p default if no value. + */ + DLLEXPORT int getInteger( const QVariantMap& map, const QString& key, int d ); + /** * Returns a sub-map (i.e. a nested map) from the given mapping with the * given key. @p success is set to true if the @p key exists From 1d6dca062c6e89d805a85e0f71106455c47d6649 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 24 Jan 2018 16:18:30 +0100 Subject: [PATCH 150/178] [users] Make state of 'reuse password for root' available in globals. --- src/modules/users/UsersPage.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 8ea961662..a821c6e88 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -130,6 +130,8 @@ UsersPage::createJobs( const QStringList& defaultGroupsList ) if ( !isReady() ) return list; + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + Calamares::Job* j; j = new CreateUserJob( ui->textBoxUsername->text(), ui->textBoxFullName->text().isEmpty() ? @@ -145,6 +147,7 @@ UsersPage::createJobs( const QStringList& defaultGroupsList ) if ( m_writeRootPassword ) { + gs->insert( "reuseRootPassword", ui->checkBoxReusePassword->isChecked() ); if ( ui->checkBoxReusePassword->isChecked() ) j = new SetPasswordJob( "root", ui->textBoxUserPassword->text() ); @@ -163,7 +166,6 @@ UsersPage::createJobs( const QStringList& defaultGroupsList ) j = new SetHostNameJob( ui->textBoxHostname->text() ); list.append( Calamares::job_ptr( j ) ); - Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); gs->insert( "hostname", ui->textBoxHostname->text() ); if ( ui->checkBoxAutoLogin->isChecked() ) gs->insert( "autologinUser", ui->textBoxUsername->text() ); From d6731efdfd46e2c058caebc4b761239313a81a0d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 25 Jan 2018 10:44:48 +0100 Subject: [PATCH 151/178] [packages] fix typo in docs --- src/modules/packages/packages.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/packages/packages.conf b/src/modules/packages/packages.conf index 2d6ca116f..60c86791b 100644 --- a/src/modules/packages/packages.conf +++ b/src/modules/packages/packages.conf @@ -111,7 +111,7 @@ update_db: true # # This will invoke the package manager three times, once for each package, # because not all of them are simple package names. You can speed up the -# process if you have only a few pre-scriots, by using multiple install targets: +# process if you have only a few pre-scripts, by using multiple install targets: # # - install: # - vi From 54a9bbb9499f64a93747c773b5ebfd82b05ccfa4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 26 Jan 2018 18:19:35 +0100 Subject: [PATCH 152/178] [libcalamares] Don't eat output on timeout. - Copy stdout from timed-out process into the output variable, instead of just dumping it into the log file. This will improve the user experience, too, because they will get some feedback / explanation of what the process has done. --- src/libcalamares/ProcessJob.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/ProcessJob.cpp b/src/libcalamares/ProcessJob.cpp index 05be969af..900f314f6 100644 --- a/src/libcalamares/ProcessJob.cpp +++ b/src/libcalamares/ProcessJob.cpp @@ -128,7 +128,8 @@ ProcessJob::callOutput( const QString& command, if ( !process.waitForFinished( timeoutSec ? ( timeoutSec * 1000 ) : -1 ) ) { cLog() << "Timed out. output so far:"; - cLog() << process.readAllStandardOutput(); + output.append( QString::fromLocal8Bit( process.readAllStandardOutput() ).trimmed() ); + cLog() << output; return -4; } From 778feb50e86091f93b0a1ed00d813675deaa1517 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 14:45:42 +0100 Subject: [PATCH 153/178] [libcalamares] Additional convenience for doubles --- src/libcalamares/utils/CalamaresUtils.cpp | 16 ++++++++++++++++ src/libcalamares/utils/CalamaresUtils.h | 7 ++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/utils/CalamaresUtils.cpp b/src/libcalamares/utils/CalamaresUtils.cpp index 9e678737b..c0175f771 100644 --- a/src/libcalamares/utils/CalamaresUtils.cpp +++ b/src/libcalamares/utils/CalamaresUtils.cpp @@ -366,6 +366,22 @@ getInteger( const QVariantMap& map, const QString& key, int d ) return result; } +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(); + else if ( v.type() == QVariant::Double ) + result = v.toDouble(); + } + + return result; +} + QVariantMap getSubMap( const QVariantMap& map, const QString& key, bool& success ) { diff --git a/src/libcalamares/utils/CalamaresUtils.h b/src/libcalamares/utils/CalamaresUtils.h index 9b279ef43..13caf1cad 100644 --- a/src/libcalamares/utils/CalamaresUtils.h +++ b/src/libcalamares/utils/CalamaresUtils.h @@ -110,10 +110,15 @@ namespace CalamaresUtils DLLEXPORT QString getString( const QVariantMap& map, const QString& key ); /** - * Get an integer value from a mapping; returns @p default if no value. + * Get an integer value from a mapping; returns @p d if no value. */ DLLEXPORT int getInteger( const QVariantMap& map, const QString& key, int d ); + /** + * Get a double value from a mapping (integers are converted); returns @p d if no value. + */ + DLLEXPORT double getDouble( const QVariantMap& map, const QString& key, double d ); + /** * Returns a sub-map (i.e. a nested map) from the given mapping with the * given key. @p success is set to true if the @p key exists From 6335084aa3fe2c50516bae104c1530cba164700f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 14:57:37 +0100 Subject: [PATCH 154/178] [libcalamares] Determine what's checked and what's required first. - warn for required checks that are not carried out. --- .../welcome/checker/RequirementsChecker.cpp | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index 4dbd977d1..e6c8a77de 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -211,6 +211,36 @@ void RequirementsChecker::setConfigurationMap( const QVariantMap& configurationMap ) { bool incompleteConfiguration = false; + + if ( configurationMap.contains( "check" ) && + configurationMap.value( "check" ).type() == QVariant::List ) + { + m_entriesToCheck.clear(); + m_entriesToCheck.append( configurationMap.value( "check" ).toStringList() ); + } + else + { + cDebug() << "WARNING: RequirementsChecker entry 'check' is incomplete."; + incompleteConfiguration = true; + } + + if ( configurationMap.contains( "required" ) && + configurationMap.value( "required" ).type() == QVariant::List ) + { + m_entriesToRequire.clear(); + m_entriesToRequire.append( configurationMap.value( "required" ).toStringList() ); + } + else + { + cDebug() << "WARNING: RequirementsChecker entry 'required' is incomplete."; + incompleteConfiguration = true; + } + + // Help out with consistency, but don't fix + for ( const auto& r : m_entriesToRequire ) + if ( !m_entriesToCheck.contains( r ) ) + cDebug() << "WARNING: RequirementsChecker requires" << r << "but does not check it."; + if ( configurationMap.contains( "requiredStorage" ) && ( configurationMap.value( "requiredStorage" ).type() == QVariant::Double || configurationMap.value( "requiredStorage" ).type() == QVariant::Int ) ) @@ -274,30 +304,6 @@ RequirementsChecker::setConfigurationMap( const QVariantMap& configurationMap ) incompleteConfiguration = true; } - if ( configurationMap.contains( "check" ) && - configurationMap.value( "check" ).type() == QVariant::List ) - { - m_entriesToCheck.clear(); - m_entriesToCheck.append( configurationMap.value( "check" ).toStringList() ); - } - else - { - cDebug() << "WARNING: RequirementsChecker entry 'check' is incomplete."; - incompleteConfiguration = true; - } - - if ( configurationMap.contains( "required" ) && - configurationMap.value( "required" ).type() == QVariant::List ) - { - m_entriesToRequire.clear(); - m_entriesToRequire.append( configurationMap.value( "required" ).toStringList() ); - } - else - { - cDebug() << "WARNING: RequirementsChecker entry 'required' is incomplete."; - incompleteConfiguration = true; - } - if ( incompleteConfiguration ) cDebug() << "WARNING: RequirementsChecker configuration map:\n" << configurationMap; } From ea179eaef43060dc37657662210a1dfcfd070474 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 15:49:21 +0100 Subject: [PATCH 155/178] [contextualprocess] Document command lists - Show that a command list is also allowed, not just a single command. Refer to shellprocess for more documentation. --- .../contextualprocess/contextualprocess.conf | 18 ++++++++++-------- src/modules/shellprocess/shellprocess.conf | 5 +++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/modules/contextualprocess/contextualprocess.conf b/src/modules/contextualprocess/contextualprocess.conf index 4e9ddea7f..03bfc4e36 100644 --- a/src/modules/contextualprocess/contextualprocess.conf +++ b/src/modules/contextualprocess/contextualprocess.conf @@ -4,18 +4,18 @@ # When a given global value (string) equals a given value, then # the associated command is executed. # -# Configuration consists of keys for global variable names, -# and the sub-keys are strings to compare to the variable's value. -# If the variable has that particular value, the corresponding -# value is executed as a shell command in the target environment. -# -# You can check for an empty value with "". -# # The special configuration key *dontChroot* specifies whether # the commands are run in the target system (default, value *false*), # or in the host system. This key is not used for comparisons # with global configuration values. # +# Configuration consists of keys for global variable names (except +# *dontChroot*), and the sub-keys are strings to compare to the +# variable's value. If the variable has that particular value, the +# corresponding value (script) is executed. +# +# You can check for an empty value with "". +# # If a command starts with "-" (a single minus sign), then the # return value of the command following the - is ignored; otherwise, # a failing command will abort the installation. This is much like @@ -31,6 +31,8 @@ --- dontChroot: false firmwareType: - efi: "-pkg remove efi-firmware" + efi: + - "-pkg remove efi-firmware" + - "-mkinitramfsrd -abgn" bios: "-pkg remove bios-firmware" "": "/bin/false no-firmware-type-set" diff --git a/src/modules/shellprocess/shellprocess.conf b/src/modules/shellprocess/shellprocess.conf index 0825538e1..3735db987 100644 --- a/src/modules/shellprocess/shellprocess.conf +++ b/src/modules/shellprocess/shellprocess.conf @@ -12,6 +12,11 @@ # return value of the command following the - is ignored; otherwise, # a failing command will abort the installation. This is much like # make's use of - in a command. +# +# The value of *script* may be: +# - a single string; this is one command that is executed. +# - a list of strings; these are executed one at a time, by +# separate shells (/bin/sh -c is invoked for each command). --- dontChroot: false script: From fe2be46d3f66647097ac187a714bcf02e581e0b3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 17:01:28 +0100 Subject: [PATCH 156/178] [libcalamares] Extend command-list with timeouts - Replace plain StringList with a list of pairs, and run that instead. All code paths still use the default 10sec timeout and there's no way to change that. --- src/libcalamares/utils/CommandList.cpp | 31 ++++++++------ src/libcalamares/utils/CommandList.h | 57 ++++++++++++++++++++++---- 2 files changed, 68 insertions(+), 20 deletions(-) diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index ae42a13bd..543c6a5ad 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -26,14 +26,17 @@ #include -static QStringList get_variant_stringlist( const QVariantList& l ) +namespace CalamaresUtils { - QStringList retl; + +static CommandList_t get_variant_stringlist( const QVariantList& l, int timeout ) +{ + CommandList_t retl; unsigned int c = 0; for ( const auto& v : l ) { if ( v.type() == QVariant::String ) - retl.append( v.toString() ); + retl.append( CommandLine( v.toString(), timeout ) ); else cDebug() << "WARNING Bad CommandList element" << c << v.type() << v; ++c; @@ -41,22 +44,20 @@ static QStringList get_variant_stringlist( const QVariantList& l ) return retl; } -namespace CalamaresUtils -{ - -CommandList::CommandList( bool doChroot ) +CommandList::CommandList( bool doChroot, int timeout ) : m_doChroot( doChroot ) + , m_timeout( timeout ) { } -CommandList::CommandList::CommandList( const QVariant& v, bool doChroot ) - : CommandList( doChroot ) +CommandList::CommandList::CommandList( const QVariant& v, bool doChroot, int timeout ) + : CommandList( doChroot, timeout ) { if ( v.type() == QVariant::List ) { const auto v_list = v.toList(); if ( v_list.count() ) - append( get_variant_stringlist( v_list ) ); + append( get_variant_stringlist( v_list, m_timeout ) ); else cDebug() << "WARNING: Empty CommandList"; } @@ -90,7 +91,7 @@ Calamares::JobResult CommandList::run( const QObject* parent ) for ( CommandList::const_iterator i = cbegin(); i != cend(); ++i ) { - QString processed_cmd = *i; + QString processed_cmd = i->command(); processed_cmd.replace( "@@ROOT@@", root ); // FIXME? bool suppress_result = false; if ( processed_cmd.startsWith( '-' ) ) @@ -103,7 +104,7 @@ Calamares::JobResult CommandList::run( const QObject* parent ) shell_cmd << processed_cmd; ProcessResult r = System::runCommand( - location, shell_cmd, QString(), QString(), 10 ); + location, shell_cmd, QString(), QString(), i->timeout() ); if ( r.getExitCode() != 0 ) { @@ -117,4 +118,10 @@ Calamares::JobResult CommandList::run( const QObject* parent ) return Calamares::JobResult::ok(); } +void +CommandList::append( const QString& s ) +{ + append( CommandLine( s, m_timeout ) ); +} + } // namespace diff --git a/src/libcalamares/utils/CommandList.h b/src/libcalamares/utils/CommandList.h index 0137fe41e..e80a1b742 100644 --- a/src/libcalamares/utils/CommandList.h +++ b/src/libcalamares/utils/CommandList.h @@ -27,11 +27,47 @@ namespace CalamaresUtils { -class CommandList : protected QStringList +/** + * Each command can have an associated timeout in seconds. The timeout + * defaults to 10 seconds. Provide some convenience naming and construction. + */ +struct CommandLine : public QPair< QString, int > +{ + CommandLine( const QString& s ) + : QPair< QString, int >( s, 10 ) + { + } + + CommandLine( const QString& s, int t ) + : QPair< QString, int >( s, t) + { + } + + QString command() const + { + return first; + } + + int timeout() const + { + return second; + } +} ; + +/** @brief Abbreviation, used internally. */ +using CommandList_t = QList< CommandLine >; + +/** + * A list of commands; the list may have its own default timeout + * for commands (which is then applied to each individual command + * that doesn't have one of its own). + */ +class CommandList : protected CommandList_t { public: - CommandList( bool doChroot = true ); - CommandList( const QVariant& v, bool doChroot = true ); + /** @brief empty command-list with timeout to apply to entries. */ + CommandList( bool doChroot = true, int timeout = 10 ); + CommandList( const QVariant& v, bool doChroot = true, int timeout = 10 ); ~CommandList(); bool doChroot() const @@ -41,14 +77,19 @@ public: Calamares::JobResult run( const QObject* parent ); - using QStringList::isEmpty; - using QStringList::count; - using QStringList::cbegin; - using QStringList::cend; - using QStringList::const_iterator; + using CommandList_t::isEmpty; + using CommandList_t::count; + using CommandList_t::cbegin; + using CommandList_t::cend; + using CommandList_t::const_iterator; + +protected: + using CommandList_t::append; + void append( const QString& ); private: bool m_doChroot; + int m_timeout; } ; } // namespace From 4917b5c778e56853f85cba5b08ae194eefab22b2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 17:38:16 +0100 Subject: [PATCH 157/178] [shellprocess] Add test for future feature - proposed syntax for command+timeout configuration, both for single- entry and for lists. - test it already --- src/modules/shellprocess/Tests.cpp | 27 +++++++++++++++++++++++++++ src/modules/shellprocess/Tests.h | 4 ++++ 2 files changed, 31 insertions(+) diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp index abf988124..a1198a190 100644 --- a/src/modules/shellprocess/Tests.cpp +++ b/src/modules/shellprocess/Tests.cpp @@ -113,3 +113,30 @@ script: false QCOMPARE( cl1.count(), 0 ); } + +void ShellProcessTests::testProcessFromObject() +{ + YAML::Node doc = YAML::Load( R"(--- +script: + command: "ls /tmp" + timeout: 20 +)" ); + CommandList cl( + CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( !cl.isEmpty() ); + QCOMPARE( cl.count(), 1 ); +} + +void ShellProcessTests::testProcessListFromObject() +{ + YAML::Node doc = YAML::Load( R"(--- +script: + - command: "ls /tmp" + timeout: 20 + - "-/bin/false" +)" ); + CommandList cl( + CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); + QVERIFY( !cl.isEmpty() ); + QCOMPARE( cl.count(), 2 ); +} diff --git a/src/modules/shellprocess/Tests.h b/src/modules/shellprocess/Tests.h index fa29efeb2..af1f78487 100644 --- a/src/modules/shellprocess/Tests.h +++ b/src/modules/shellprocess/Tests.h @@ -36,6 +36,10 @@ private Q_SLOTS: void testProcessListFromList(); // Create from a simple YAML string void testProcessListFromString(); + // Create from a single complex YAML + void testProcessFromObject(); + // Create from a complex YAML list + void testProcessListFromObject(); }; #endif From 72bac332be7bd1cc3886f6e4e42a5a4afcd5d7b2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 20:59:58 +0100 Subject: [PATCH 158/178] FIXUP document --- src/modules/contextualprocess/contextualprocess.conf | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/modules/contextualprocess/contextualprocess.conf b/src/modules/contextualprocess/contextualprocess.conf index 03bfc4e36..4252d1043 100644 --- a/src/modules/contextualprocess/contextualprocess.conf +++ b/src/modules/contextualprocess/contextualprocess.conf @@ -16,11 +16,6 @@ # # You can check for an empty value with "". # -# If a command starts with "-" (a single minus sign), then the -# return value of the command following the - is ignored; otherwise, -# a failing command will abort the installation. This is much like -# make's use of - in a command. -# # Global configuration variables are not checked in a deterministic # order, so do not rely on commands from one variable-check to # always happen before (or after) checks on another @@ -28,6 +23,9 @@ # done in a deterministic order, but all of the value-checks # for a given variable happen together. # +# The values after a value sub-keys are the same kinds of values +# as can be given to the *script* key in the shellprocess module. +# See shellprocess.conf for documentation on valid values. --- dontChroot: false firmwareType: From c641f5dec68df2db2cc1fdafd99eb0cd4c057f15 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 21:08:42 +0100 Subject: [PATCH 159/178] [libcalamares] Implement object-style command line - handle command: and timeout: entries - test for setting the values --- src/libcalamares/utils/CommandList.cpp | 26 ++++++++++++++++++++++++++ src/libcalamares/utils/CommandList.h | 12 ++++++++++++ src/modules/shellprocess/Tests.cpp | 9 ++++++++- 3 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index 543c6a5ad..64b88a387 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -21,6 +21,7 @@ #include "GlobalStorage.h" #include "JobQueue.h" +#include "utils/CalamaresUtils.h" #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" @@ -29,6 +30,17 @@ namespace CalamaresUtils { +static CommandLine get_variant_object( const QVariantMap& m ) +{ + QString command = CalamaresUtils::getString( m, "command" ); + int timeout = CalamaresUtils::getInteger( m, "timeout", -1 ); + + if ( !command.isEmpty() ) + return CommandLine( command, timeout ); + cDebug() << "WARNING Bad CommandLine element" << m; + return CommandLine(); +} + static CommandList_t get_variant_stringlist( const QVariantList& l, int timeout ) { CommandList_t retl; @@ -37,6 +49,13 @@ static CommandList_t get_variant_stringlist( const QVariantList& l, int timeout { if ( v.type() == QVariant::String ) retl.append( CommandLine( v.toString(), timeout ) ); + else if ( v.type() == QVariant::Map ) + { + auto c( get_variant_object( v.toMap() ) ); + if ( c.isValid() ) + retl.append( c ); + // Otherwise warning is already given + } else cDebug() << "WARNING Bad CommandList element" << c << v.type() << v; ++c; @@ -63,6 +82,13 @@ CommandList::CommandList::CommandList( const QVariant& v, bool doChroot, int tim } else if ( v.type() == QVariant::String ) append( v.toString() ); + else if ( v.type() == QVariant::Map ) + { + auto c( get_variant_object( v.toMap() ) ); + if ( c.isValid() ) + append( c ); + // Otherwise warning is already given + } else cDebug() << "WARNING: CommandList does not understand variant" << v.type(); } diff --git a/src/libcalamares/utils/CommandList.h b/src/libcalamares/utils/CommandList.h index e80a1b742..58d2e2721 100644 --- a/src/libcalamares/utils/CommandList.h +++ b/src/libcalamares/utils/CommandList.h @@ -33,6 +33,12 @@ namespace CalamaresUtils */ struct CommandLine : public QPair< QString, int > { + /// An invalid command line + CommandLine() + : QPair< QString, int >( QString(), -1 ) + { + } + CommandLine( const QString& s ) : QPair< QString, int >( s, 10 ) { @@ -52,6 +58,11 @@ struct CommandLine : public QPair< QString, int > { return second; } + + bool isValid() const + { + return !first.isEmpty(); + } } ; /** @brief Abbreviation, used internally. */ @@ -82,6 +93,7 @@ public: using CommandList_t::cbegin; using CommandList_t::cend; using CommandList_t::const_iterator; + using CommandList_t::at; protected: using CommandList_t::append; diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp index a1198a190..9792f4e7c 100644 --- a/src/modules/shellprocess/Tests.cpp +++ b/src/modules/shellprocess/Tests.cpp @@ -102,6 +102,8 @@ script: "ls /tmp" CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 1 ); + QCOMPARE( cl.at(0).timeout(), 10 ); + QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); // Not a string doc = YAML::Load( R"(--- @@ -125,6 +127,8 @@ script: CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 1 ); + QCOMPARE( cl.at(0).timeout(), 20 ); + QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); } void ShellProcessTests::testProcessListFromObject() @@ -132,11 +136,14 @@ void ShellProcessTests::testProcessListFromObject() YAML::Node doc = YAML::Load( R"(--- script: - command: "ls /tmp" - timeout: 20 + timeout: 12 - "-/bin/false" )" ); CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); QCOMPARE( cl.count(), 2 ); + QCOMPARE( cl.at(0).timeout(), 12 ); + QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); + QCOMPARE( cl.at(1).timeout(), 10 ); // default } From 2da430fa366c7a57d058504013d4405aad0a86c6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 21:25:18 +0100 Subject: [PATCH 160/178] [libcalamares] Allow CommandLine to have unset timeout - Introduce enum for the appropriate constant - If the timeout isn't set, then defer to the timeout set on the commandlist when running the commands. --- src/libcalamares/utils/CommandList.cpp | 17 +++++++++-------- src/libcalamares/utils/CommandList.h | 6 ++++-- src/modules/shellprocess/Tests.cpp | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index 64b88a387..eb73c798e 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -33,7 +33,7 @@ namespace CalamaresUtils static CommandLine get_variant_object( const QVariantMap& m ) { QString command = CalamaresUtils::getString( m, "command" ); - int timeout = CalamaresUtils::getInteger( m, "timeout", -1 ); + int timeout = CalamaresUtils::getInteger( m, "timeout", CommandLine::TimeoutNotSet ); if ( !command.isEmpty() ) return CommandLine( command, timeout ); @@ -41,14 +41,14 @@ static CommandLine get_variant_object( const QVariantMap& m ) return CommandLine(); } -static CommandList_t get_variant_stringlist( const QVariantList& l, int timeout ) +static CommandList_t get_variant_stringlist( const QVariantList& l ) { CommandList_t retl; unsigned int c = 0; for ( const auto& v : l ) { if ( v.type() == QVariant::String ) - retl.append( CommandLine( v.toString(), timeout ) ); + retl.append( CommandLine( v.toString(), CommandLine::TimeoutNotSet ) ); else if ( v.type() == QVariant::Map ) { auto c( get_variant_object( v.toMap() ) ); @@ -76,7 +76,7 @@ CommandList::CommandList::CommandList( const QVariant& v, bool doChroot, int tim { const auto v_list = v.toList(); if ( v_list.count() ) - append( get_variant_stringlist( v_list, m_timeout ) ); + append( get_variant_stringlist( v_list ) ); else cDebug() << "WARNING: Empty CommandList"; } @@ -118,26 +118,27 @@ Calamares::JobResult CommandList::run( const QObject* parent ) for ( CommandList::const_iterator i = cbegin(); i != cend(); ++i ) { QString processed_cmd = i->command(); - processed_cmd.replace( "@@ROOT@@", root ); // FIXME? + processed_cmd.replace( "@@ROOT@@", root ); bool suppress_result = false; if ( processed_cmd.startsWith( '-' ) ) { suppress_result = true; - processed_cmd.remove( 0, 1 ); // Drop the - // FIXME? + processed_cmd.remove( 0, 1 ); // Drop the - } QStringList shell_cmd { "/bin/sh", "-c" }; shell_cmd << processed_cmd; + int timeout = i->timeout() >= 0 ? i->timeout() : m_timeout; ProcessResult r = System::runCommand( - location, shell_cmd, QString(), QString(), i->timeout() ); + location, shell_cmd, QString(), QString(), timeout ); if ( r.getExitCode() != 0 ) { if ( suppress_result ) cDebug() << "Error code" << r.getExitCode() << "ignored by CommandList configuration."; else - return r.explainProcess( parent, processed_cmd, 10 ); + return r.explainProcess( parent, processed_cmd, timeout ); } } diff --git a/src/libcalamares/utils/CommandList.h b/src/libcalamares/utils/CommandList.h index 58d2e2721..4ed7616eb 100644 --- a/src/libcalamares/utils/CommandList.h +++ b/src/libcalamares/utils/CommandList.h @@ -33,14 +33,16 @@ namespace CalamaresUtils */ struct CommandLine : public QPair< QString, int > { + enum { TimeoutNotSet = -1 }; + /// An invalid command line CommandLine() - : QPair< QString, int >( QString(), -1 ) + : QPair< QString, int >( QString(), TimeoutNotSet ) { } CommandLine( const QString& s ) - : QPair< QString, int >( s, 10 ) + : QPair< QString, int >( s, TimeoutNotSet ) { } diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp index 9792f4e7c..c406fde17 100644 --- a/src/modules/shellprocess/Tests.cpp +++ b/src/modules/shellprocess/Tests.cpp @@ -145,5 +145,5 @@ script: QCOMPARE( cl.count(), 2 ); QCOMPARE( cl.at(0).timeout(), 12 ); QCOMPARE( cl.at(0).command(), QStringLiteral( "ls /tmp" ) ); - QCOMPARE( cl.at(1).timeout(), 10 ); // default + QCOMPARE( cl.at(1).timeout(), -1 ); // not set } From c2aca1f5c65e9a6ddddef6a60ae2aa1e4b5088b8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 22:08:12 +0100 Subject: [PATCH 161/178] [shellprocess] Implement timeout setting - For both shellprocess and contextualprocess, add a top-level key "timeout" that defaults to 10 seconds (which it already did). - Allows setting "global" timeout for command-lists, while still allowing individual timeouts per-command. - Setting timeout per global variable in contextualprocess is not supported; that would restrict the possible space of comparisions, while not supporting a global setting timeout seems reasonable enough. Use instances if you need wildly variable timeouts and don't want to set them individually. --- .../contextualprocess/ContextualProcessJob.cpp | 9 ++++++--- .../contextualprocess/ContextualProcessJob.h | 1 - .../contextualprocess/contextualprocess.conf | 14 +++++++------- src/modules/shellprocess/ShellProcessJob.cpp | 8 +++++--- src/modules/shellprocess/ShellProcessJob.h | 1 - src/modules/shellprocess/Tests.cpp | 4 +++- src/modules/shellprocess/shellprocess.conf | 10 ++++++++++ 7 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/modules/contextualprocess/ContextualProcessJob.cpp b/src/modules/contextualprocess/ContextualProcessJob.cpp index 50a28f417..6744db054 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.cpp +++ b/src/modules/contextualprocess/ContextualProcessJob.cpp @@ -97,12 +97,15 @@ ContextualProcessJob::exec() void ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) { - m_dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); + bool dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); + int timeout = CalamaresUtils::getInteger( configurationMap, "timeout", 10 ); + if ( timeout < 1 ) + timeout = 10; for ( QVariantMap::const_iterator iter = configurationMap.cbegin(); iter != configurationMap.cend(); ++iter ) { QString variableName = iter.key(); - if ( variableName.isEmpty() || ( variableName == "dontChroot" ) ) + if ( variableName.isEmpty() || ( variableName == "dontChroot" ) || ( variableName == "timeout" ) ) continue; if ( iter.value().type() != QVariant::Map ) @@ -121,7 +124,7 @@ ContextualProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) continue; } - CalamaresUtils::CommandList* commands = new CalamaresUtils::CommandList( valueiter.value(), !m_dontChroot ); + CalamaresUtils::CommandList* commands = new CalamaresUtils::CommandList( valueiter.value(), !dontChroot, timeout ); if ( commands->count() > 0 ) { diff --git a/src/modules/contextualprocess/ContextualProcessJob.h b/src/modules/contextualprocess/ContextualProcessJob.h index aea09aa9b..e8a39c3f4 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.h +++ b/src/modules/contextualprocess/ContextualProcessJob.h @@ -45,7 +45,6 @@ public: private: QList m_commands; - bool m_dontChroot; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( ContextualProcessJobFactory ) diff --git a/src/modules/contextualprocess/contextualprocess.conf b/src/modules/contextualprocess/contextualprocess.conf index 4252d1043..20668e1ce 100644 --- a/src/modules/contextualprocess/contextualprocess.conf +++ b/src/modules/contextualprocess/contextualprocess.conf @@ -4,14 +4,13 @@ # When a given global value (string) equals a given value, then # the associated command is executed. # -# The special configuration key *dontChroot* specifies whether -# the commands are run in the target system (default, value *false*), -# or in the host system. This key is not used for comparisons -# with global configuration values. +# The special top-level keys *dontChroot* and *timeout* have +# meaning just like in shellprocess.conf. They are excluded from +# the comparison with global variables. # # Configuration consists of keys for global variable names (except -# *dontChroot*), and the sub-keys are strings to compare to the -# variable's value. If the variable has that particular value, the +# *dontChroot* and *timeout*), and the sub-keys are strings to compare +# to the variable's value. If the variable has that particular value, the # corresponding value (script) is executed. # # You can check for an empty value with "". @@ -31,6 +30,7 @@ dontChroot: false firmwareType: efi: - "-pkg remove efi-firmware" - - "-mkinitramfsrd -abgn" + - command: "-mkinitramfsrd -abgn" + timeout: 120 # This is slow bios: "-pkg remove bios-firmware" "": "/bin/false no-firmware-type-set" diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index 45b8b2537..5c14284ec 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -34,7 +34,6 @@ ShellProcessJob::ShellProcessJob( QObject* parent ) : Calamares::CppJob( parent ) , m_commands( nullptr ) - , m_dontChroot( false ) { } @@ -70,11 +69,14 @@ ShellProcessJob::exec() void ShellProcessJob::setConfigurationMap( const QVariantMap& configurationMap ) { - m_dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); + bool dontChroot = CalamaresUtils::getBool( configurationMap, "dontChroot", false ); + int timeout = CalamaresUtils::getInteger( configurationMap, "timeout", 10 ); + if ( timeout < 1 ) + timeout = 10; if ( configurationMap.contains( "script" ) ) { - m_commands = new CalamaresUtils::CommandList( configurationMap.value( "script" ), !m_dontChroot ); + m_commands = new CalamaresUtils::CommandList( configurationMap.value( "script" ), !dontChroot, timeout ); if ( m_commands->isEmpty() ) cDebug() << "ShellProcessJob: \"script\" contains no commands for" << moduleInstanceKey(); } diff --git a/src/modules/shellprocess/ShellProcessJob.h b/src/modules/shellprocess/ShellProcessJob.h index afc58fdc7..3111fc26e 100644 --- a/src/modules/shellprocess/ShellProcessJob.h +++ b/src/modules/shellprocess/ShellProcessJob.h @@ -46,7 +46,6 @@ public: private: CalamaresUtils::CommandList* m_commands; - bool m_dontChroot; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( ShellProcessJobFactory ) diff --git a/src/modules/shellprocess/Tests.cpp b/src/modules/shellprocess/Tests.cpp index c406fde17..c6643325f 100644 --- a/src/modules/shellprocess/Tests.cpp +++ b/src/modules/shellprocess/Tests.cpp @@ -64,7 +64,9 @@ ShellProcessTests::testProcessListSampleConfig() CommandList cl( CalamaresUtils::yamlMapToVariant( doc ).toMap().value( "script" ) ); QVERIFY( !cl.isEmpty() ); - QCOMPARE( cl.count(), 2 ); + QCOMPARE( cl.count(), 3 ); + QCOMPARE( cl.at(0).timeout(), -1 ); + QCOMPARE( cl.at(2).timeout(), 3600 ); // slowloris } void ShellProcessTests::testProcessListFromList() diff --git a/src/modules/shellprocess/shellprocess.conf b/src/modules/shellprocess/shellprocess.conf index 3735db987..ff53dc228 100644 --- a/src/modules/shellprocess/shellprocess.conf +++ b/src/modules/shellprocess/shellprocess.conf @@ -8,6 +8,10 @@ # system from the point of view of the command (for chrooted # commands, that will be */*). # +# The (global) timeout for the command list can be set with +# the *timeout* key. The value is a time in seconds, default +# is 10 seconds if not set. +# # If a command starts with "-" (a single minus sign), then the # return value of the command following the - is ignored; otherwise, # a failing command will abort the installation. This is much like @@ -17,8 +21,14 @@ # - a single string; this is one command that is executed. # - a list of strings; these are executed one at a time, by # separate shells (/bin/sh -c is invoked for each command). +# - an object, specifying a key *command* and (optionally) +# a key *timeout* to set the timeout for this specific +# command differently from the global setting. --- dontChroot: false +timeout: 10 script: - "-touch @@ROOT@@/tmp/thingy" - "/usr/bin/false" + - command: "/usr/local/bin/slowloris" + timeout: 3600 From 78108c5cda55d8dc7c2edec162df1a6e62387c73 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 29 Jan 2018 22:55:07 +0100 Subject: [PATCH 162/178] [bootloader] Allow skipping the EFI fallback --- src/modules/bootloader/bootloader.conf | 8 ++++++++ src/modules/bootloader/main.py | 13 +++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/modules/bootloader/bootloader.conf b/src/modules/bootloader/bootloader.conf index 70f1ef22d..62c240feb 100644 --- a/src/modules/bootloader/bootloader.conf +++ b/src/modules/bootloader/bootloader.conf @@ -33,3 +33,11 @@ grubCfg: "/boot/grub/grub.cfg" # names since no sanitizing is done. # # efiBootloaderId: "dirname" + +# Optionally install a copy of the GRUB EFI bootloader as the EFI +# fallback loader (either bootia32.efi or bootx64.efi depending on +# the system). This may be needed on certain systems (Intel DH87MC +# seems to be the only one). If you set this to false, take care +# to add another module to optionally install the fallback on those +# boards that need it. +installEFIFallback: true diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py index c9309b82a..6dc59b87e 100644 --- a/src/modules/bootloader/main.py +++ b/src/modules/bootloader/main.py @@ -269,13 +269,14 @@ def install_grub(efi_directory, fw_type): os.makedirs(install_efi_boot_directory) # Workaround for some UEFI firmwares - efi_file_source = os.path.join(install_efi_directory_firmware, - efi_bootloader_id, - efi_grub_file) - efi_file_target = os.path.join(install_efi_boot_directory, - efi_boot_file) + if libcalamares.job.configuration.get("installEFIFallback", True): + efi_file_source = os.path.join(install_efi_directory_firmware, + efi_bootloader_id, + efi_grub_file) + efi_file_target = os.path.join(install_efi_boot_directory, + efi_boot_file) - shutil.copy2(efi_file_source, efi_file_target) + shutil.copy2(efi_file_source, efi_file_target) else: print("Bootloader: grub (bios)") if libcalamares.globalstorage.value("bootLoader") is None: From f869a0f263ad8a049606e63b6f81d8d7b2218702 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jan 2018 11:22:36 +0100 Subject: [PATCH 163/178] [bootloader] Log the EFI fallback action --- src/modules/bootloader/main.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py index 6dc59b87e..52f938f2f 100644 --- a/src/modules/bootloader/main.py +++ b/src/modules/bootloader/main.py @@ -11,7 +11,7 @@ # Copyright 2015-2017, Philip Mueller # Copyright 2016-2017, Teo Mrnjavac # Copyright 2017, Alf Gaida -# Copyright 2017, Adriaan de Groot +# Copyright 2017-2018, Adriaan de Groot # Copyright 2017, Gabriel Craciunescu # Copyright 2017, Ben Green # @@ -269,7 +269,10 @@ def install_grub(efi_directory, fw_type): os.makedirs(install_efi_boot_directory) # Workaround for some UEFI firmwares - if libcalamares.job.configuration.get("installEFIFallback", True): + FALLBACK = "installEFIFallback" + libcalamares.utils.debug("UEFI Fallback: " + str(libcalamares.job.configuration.get(FALLBACK, ""))) + if libcalamares.job.configuration.get(FALLBACK, True): + libcalamares.utils.debug(" .. installing '{!s}' fallback firmware".format(efi_boot_file)) efi_file_source = os.path.join(install_efi_directory_firmware, efi_bootloader_id, efi_grub_file) From 533031b3ca062ca9eec1354cba954868c852e97e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 30 Jan 2018 11:26:29 +0100 Subject: [PATCH 164/178] [bootloader] print() does not log - use the right logging method; print just vanishes. --- src/modules/bootloader/main.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py index 52f938f2f..db062da52 100644 --- a/src/modules/bootloader/main.py +++ b/src/modules/bootloader/main.py @@ -44,13 +44,11 @@ def get_uuid(): :return: """ root_mount_point = libcalamares.globalstorage.value("rootMountPoint") - print("Root mount point: \"{!s}\"".format(root_mount_point)) partitions = libcalamares.globalstorage.value("partitions") - print("Partitions: \"{!s}\"".format(partitions)) for partition in partitions: if partition["mountPoint"] == "/": - print("Root partition uuid: \"{!s}\"".format(partition["uuid"])) + libcalamares.utils.debug("Root partition uuid: \"{!s}\"".format(partition["uuid"])) return partition["uuid"] return "" @@ -175,7 +173,7 @@ def install_systemd_boot(efi_directory): :param efi_directory: """ - print("Bootloader: systemd-boot") + libcalamares.utils.debug("Bootloader: systemd-boot") install_path = libcalamares.globalstorage.value("rootMountPoint") install_efi_directory = install_path + efi_directory uuid = get_uuid() @@ -197,10 +195,10 @@ def install_systemd_boot(efi_directory): "--path={!s}".format(install_efi_directory), "install"]) kernel_line = get_kernel_line("default") - print("Configure: \"{!s}\"".format(kernel_line)) + libcalamares.utils.debug("Configure: \"{!s}\"".format(kernel_line)) create_systemd_boot_conf(uuid, conf_path, kernel_line) kernel_line = get_kernel_line("fallback") - print("Configure: \"{!s}\"".format(kernel_line)) + libcalamares.utils.debug("Configure: \"{!s}\"".format(kernel_line)) create_systemd_boot_conf(uuid, fallback_path, kernel_line) create_loader(loader_path) @@ -213,7 +211,7 @@ def install_grub(efi_directory, fw_type): :param fw_type: """ if fw_type == "efi": - print("Bootloader: grub (efi)") + libcalamares.utils.debug("Bootloader: grub (efi)") install_path = libcalamares.globalstorage.value("rootMountPoint") install_efi_directory = install_path + efi_directory @@ -281,7 +279,7 @@ def install_grub(efi_directory, fw_type): shutil.copy2(efi_file_source, efi_file_target) else: - print("Bootloader: grub (bios)") + libcalamares.utils.debug("Bootloader: grub (bios)") if libcalamares.globalstorage.value("bootLoader") is None: return From 051edb462f03e279e76b4fcb54f832f7d7629bca Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 1 Feb 2018 09:14:54 +0100 Subject: [PATCH 165/178] [packages] Add pisi package manager (based on some guesses) --- src/modules/packages/main.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 14b4318b2..f066b8292 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -296,6 +296,19 @@ class PMDummy(PackageManager): libcalamares.utils.debug("Running script '" + str(script) + "'") +class PMPisi(PackageManager): + backend = "pisi" + + def install(self, pkgs, from_local=False): + check_target_env_call(["pisi", "install" "-y"] + pkgs) + + def remove(self, pkgs): + check_target_env_call(["pisi", "remove", "-y"] + pkgs) + + def update_db(self): + check_target_env_call(["pisi", "update-repo"]) + + # Collect all the subclasses of PackageManager defined above, # and index them based on the backend property of each class. backend_managers = [ From ad89dd7cc4ef7f0e64aee2cd11c353eab32bb357 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Feb 2018 12:03:13 +0100 Subject: [PATCH 166/178] [interactiveterminal] Document config --- .../interactiveterminal/interactiveterminal.conf | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/modules/interactiveterminal/interactiveterminal.conf b/src/modules/interactiveterminal/interactiveterminal.conf index 0786c8a01..067bce8be 100644 --- a/src/modules/interactiveterminal/interactiveterminal.conf +++ b/src/modules/interactiveterminal/interactiveterminal.conf @@ -1,2 +1,14 @@ +# The interactive terminal provides a konsole (terminal) window +# during the installation process. The terminal runs in the +# host system, so you will need to change directories to the +# target system to examine the state there. +# +# The one configuration key *command*, if defined, is passed +# as a command to run in the terminal window before any user +# input is accepted. The user must exit the terminal manually +# or click *next* to proceed to the next installation step. +# +# If no command is defined, no command is run and the user +# gets a plain terminal session. --- command: "echo Hello" From 3723355fb9dea723d152abfcbb10ed440bb49c0b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Feb 2018 13:31:50 +0100 Subject: [PATCH 167/178] CMake: ignore config files (and tests) for skipped modules. --- CMakeModules/CalamaresAddModuleSubdirectory.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeModules/CalamaresAddModuleSubdirectory.cmake b/CMakeModules/CalamaresAddModuleSubdirectory.cmake index 2d891a6bb..32d9ea952 100644 --- a/CMakeModules/CalamaresAddModuleSubdirectory.cmake +++ b/CMakeModules/CalamaresAddModuleSubdirectory.cmake @@ -33,6 +33,7 @@ function( calamares_add_module_subdirectory ) # the calling CMakeLists (which is src/modules/CMakeLists.txt normally). if ( SKIPPED_MODULES ) set( SKIPPED_MODULES ${SKIPPED_MODULES} PARENT_SCOPE ) + set( MODULE_CONFIG_FILES "" ) endif() # ...otherwise, we look for a module.desc. elseif( EXISTS "${_mod_dir}/module.desc" ) From 0e9a65ebc6d33403c91827c12fddeb424fd2d916 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Wed, 7 Feb 2018 13:44:17 +0100 Subject: [PATCH 168/178] [core] Automatic merge of Transifex translations --- lang/calamares_da.ts | 64 ++++++++++++++--------------- lang/calamares_fr.ts | 26 ++++++------ lang/calamares_hu.ts | 8 ++-- lang/calamares_it_IT.ts | 28 +++++++------ lang/calamares_ja.ts | 14 +++---- lang/calamares_ro.ts | 34 ++++++++-------- lang/calamares_sk.ts | 14 +++---- lang/calamares_sq.ts | 90 +++++++++++++++++++++-------------------- lang/calamares_zh_CN.ts | 76 +++++++++++++++++----------------- 9 files changed, 181 insertions(+), 173 deletions(-) diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 49c8654f4..4f5890427 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -4,17 +4,17 @@ The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - <strong>Bootmiljøet</strong> for dette system.<br><br>Ældre x86-systemer understøtter kun <strong>BIOS</strong>.<br>Moderne systemer bruger normalt <strong>EFI</strong>, men kan også vises som BIOS hvis det startes i kompatibilitetstilstand. + Systemets <strong>bootmiljø</strong>.<br><br>Ældre x86-systemer understøtter kun <strong>BIOS</strong>.<br>Moderne systemer bruger normalt <strong>EFI</strong>, men kan også vises som BIOS hvis det startes i kompatibilitetstilstand. This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - Dette system blev startet med et <strong>EFI</strong>-bootmiljø.<br><br>For at konfigurere opstart fra et EFI-miljø, bliver installationsprogrammet nødt til at installere et bootloaderprogram, såsom <strong>GRUB</strong> eller <strong>systemd-boot</strong> på en <strong>EFI-systempartition</strong>. Dette vil ske automatisk, med mindre du vælger manuel partitionering, hvor du i så fald skal vælge eller oprette den selv. + Systemet blev startet med et <strong>EFI</strong>-bootmiljø.<br><br>For at konfigurere opstart fra et EFI-miljø, bliver installationsprogrammet nødt til at installere et bootloaderprogram, såsom <strong>GRUB</strong> eller <strong>systemd-boot</strong> på en <strong>EFI-systempartition</strong>. Det sker automatisk, med mindre du vælger manuel partitionering, hvor du i så fald skal vælge eller oprette den selv. This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. - Dette system blev startet med et <strong>BIOS</strong>-bootmiljø.<br><br>For at konfigurere opstart fra et BIOS-miljø, bliver installationsprogrammet nødt til at installere en bootloader, såsom <strong>GRUB</strong>, enten i begyndelsen af en partition eller på <strong>Master Boot Record</strong> nær begyndelsen af partitionstabellen (foretrukket). Dette sker automatisk, med mindre du vælger manuel partitionering, hvor du i så fald skal opsætte den selv. + Systemet blev startet med et <strong>BIOS</strong>-bootmiljø.<br><br>For at konfigurere opstart fra et BIOS-miljø, bliver installationsprogrammet nødt til at installere en bootloader, såsom <strong>GRUB</strong>, enten i begyndelsen af en partition eller på <strong>Master Boot Record</strong> nær begyndelsen af partitionstabellen (foretrukket). Det sker automatisk, med mindre du vælger manuel partitionering, hvor du i så fald skal opsætte den selv. @@ -138,7 +138,7 @@ Working directory %1 for python job %2 is not readable. - Arbejdsmappe %1 for python-job %2 er ikke læsbar. + Arbejdsmappen %1 til python-jobbet %2 er ikke læsbar. @@ -148,7 +148,7 @@ Main script file %1 for python job %2 is not readable. - Primær skriptfil %1 for python-job %2 er ikke læsbar. + Primær skriptfil %1 til python-jobbet %2 er ikke læsbar. @@ -210,12 +210,12 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Continue with setup? - Fortsæt med installation? + Fortsæt med opsætningen? The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - %1-installationsprogrammet er ved at foretage ændringer til din disk for at installere %2. <br/><strong>Det vil ikke være muligt at fortryde disse ændringer.</strong> + %1-installationsprogrammet er ved at foretage ændringer til din disk for at installere %2. <br/><strong>Det vil ikke være muligt at fortryde ændringerne.</strong> @@ -364,22 +364,22 @@ Output: This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - Denne computer møder ikke minimumsystemkravene for at installere %1.<br/>Installationen kan ikke fortsætte. <a href="#details">Detaljer...</a> + Computeren imødekommer ikke minimumsystemkravene for at installere %1.<br/>Installationen kan ikke fortsætte. <a href="#details">Detaljer...</a> This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - Denne computer møder ikke nogle af de anbefalede systemkrav for at installere %1.<br/>Installationen kan fortsætte, men nogle funktionaliteter kan være deaktiveret. + Computeren imødekommer ikke nogle af de anbefalede systemkrav for at installere %1.<br/>Installationen kan fortsætte, men nogle funktionaliteter kan være deaktiveret. This program will ask you some questions and set up %2 on your computer. - Dette program vil stille dig nogle spørgsmål og opsætte %2 på din computer. + Programmet vil stille dig nogle spørgsmål og opsætte %2 på din computer. For best results, please ensure that this computer: - For det bedste resultat sørg venligst for at denne computer: + For at få det bedste resultat sørg venligst for at computeren: @@ -407,7 +407,7 @@ Output: Boot loader location: - Bootloaderplacering: + Placering af bootloader: @@ -460,7 +460,7 @@ Output: This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - Denne lagerenhed ser ikke ud til at indeholde et styresystem. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. + Lagerenheden ser ikke ud til at indeholde et styresystem. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. @@ -468,12 +468,12 @@ Output: <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - <strong>Slet disk</strong><br/>Dette vil <font color="red">slette</font> alt data på den valgte lagerenhed. + <strong>Slet disk</strong><br/>Det vil <font color="red">slette</font> alt data på den valgte lagerenhed. This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - Denne lagerenhed har %1 på sig. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før det sker ændringer til lagerenheden. + Lagerenheden har %1 på sig. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før det sker ændringer til lagerenheden. @@ -494,12 +494,12 @@ Output: This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - Denne lagerenhed indeholder allerede et styresystem. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. + Lagerenheden indeholder allerede et styresystem. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device. - Denne lagerenhed indeholder flere styresystemer. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. + Lagerenheden indeholder flere styresystemer. Hvad ønsker du at gøre?<br/>Du vil få mulighed for at se og bekræfte dine valg før der sker ændringer til lagerenheden. @@ -804,12 +804,12 @@ Output: This device has a <strong>%1</strong> partition table. - Denne enhed har en <strong>%1</strong> partitionstabel. + Enheden har en <strong>%1</strong> partitionstabel. This is a <strong>loop</strong> device.<br><br>It is a pseudo-device with no partition table that makes a file accessible as a block device. This kind of setup usually only contains a single filesystem. - Dette er en <strong>loop</strong>-enhed.<br><br>Det er en pseudo-enhed uden en partitionstabel, der gør en fil tilgængelig som en blokenhed. Denne type opsætning indeholder typisk kun et enkelt filsystem. + Dette er en <strong>loop</strong>-enhed.<br><br>Det er en pseudo-enhed uden en partitionstabel, der gør en fil tilgængelig som en blokenhed. Denne slags opsætning indeholder typisk kun et enkelt filsystem. @@ -824,7 +824,7 @@ Output: <br><br>This partition table type is only advisable on older systems which start from a <strong>BIOS</strong> boot environment. GPT is recommended in most other cases.<br><br><strong>Warning:</strong> the MBR partition table is an obsolete MS-DOS era standard.<br>Only 4 <em>primary</em> partitions may be created, and of those 4, one can be an <em>extended</em> partition, which may in turn contain many <em>logical</em> partitions. - <br><br>Denne partitionstabeltype er kun anbefalet på ældre systemer der starter fra et <strong>BIOS</strong>-bootmiljø. GPT anbefales i de fleste tilfælde.<br><br><strong>Advarsel:</strong> MBR-partitionstabeltypen er en forældet MS-DOS-æra standard.<br>Kun 4 <em>primære</em> partitioner var tilladt, og ud af de fire kan én af dem være en <em>udvidet</em> partition, som igen må indeholde mange <em>logiske</em> partitioner. + <br><br>Partitionstabeltypen anbefales kun på ældre systemer der starter fra et <strong>BIOS</strong>-bootmiljø. GPT anbefales i de fleste tilfælde.<br><br><strong>Advarsel:</strong> MBR-partitionstabeltypen er en forældet MS-DOS-æra standard.<br>Kun 4 <em>primære</em> partitioner var tilladt, og ud af de fire kan én af dem være en <em>udvidet</em> partition, som igen må indeholde mange <em>logiske</em> partitioner. @@ -995,7 +995,7 @@ Output: <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> - <html><head/><body><p>Når denne boks er tilvalgt, vil dit system genstarte med det samme når du klikker på <span style=" font-style:italic;">Færdig</span> eller lukker installationsprogrammet.</p></body></html> + <html><head/><body><p>Når boksen er tilvalgt, vil dit system genstarte med det samme når du klikker på <span style=" font-style:italic;">Færdig</span> eller lukker installationsprogrammet.</p></body></html> @@ -1139,17 +1139,17 @@ Output: <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - <h1>Licensaftale</h1>Denne installationsprocedure vil installere proprietær software der er underlagt licenseringsvilkår. + <h1>Licensaftale</h1>Opsætningsproceduren installerer proprietær software der er underlagt licenseringsvilkår. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - Gennemgå venligst slutbrugerlicensaftalerne (EULA'er) ovenfor.<br/>Hvis du ikke er enig med disse vilkår, kan installationen ikke fortsætte. + Gennemgå venligst slutbrugerlicensaftalerne (EULA'er) ovenfor.<br/>Hvis du ikke er enig med disse vilkår, kan opsætningsproceduren ikke fortsætte. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - <h1>Licensaftale</h1>Denne installationsprocedure kan installere proprietær software der er underlagt licenseringsvilkår, for at kunne tilbyde yderligere funktionaliteter og forbedre brugeroplevelsen. + <h1>Licensaftale</h1>Opsætningsproceduren kan installere proprietær software der er underlagt licenseringsvilkår, for at kunne tilbyde yderligere funktionaliteter og forbedre brugeroplevelsen. @@ -1319,7 +1319,7 @@ Output: What name do you want to use to log in? - Hvilket navn vil du bruge til at logge ind med? + Hvilket navn skal bruges til at logge ind? @@ -1331,7 +1331,7 @@ Output: <small>If more than one person will use this computer, you can set up multiple accounts after installation.</small> - <small>Hvis mere end én person vil bruge denne computer, kan du opsætte flere konti efter installationen.</small> + <small>Hvis mere end én person bruger computeren, kan du opsætte flere konti efter installationen.</small> @@ -1346,17 +1346,17 @@ Output: What is the name of this computer? - Hvad er navnet på denne computer? + Hvad er navnet på computeren? <small>This name will be used if you make the computer visible to others on a network.</small> - <small>Dette navn vil blive brugt, hvis du gør computeren synlig for andre på netværket.</small> + <small>Navnet bruges, hvis du gør computeren synlig for andre på et netværk.</small> Log in automatically without asking for the password. - Log ind automatisk uden at spørge om adgangskoden. + Log ind automatisk uden at spørge efter adgangskoden. @@ -1595,7 +1595,7 @@ Output: A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window. - En separat bootpartition blev opsat sammen med en krypteret rodpartition, men bootpartitionen er ikke krypteret.<br/><br/>Der er sikkerhedsmæssige bekymringer med denne type opsætning, da vigtige systemfiler er gemt på en ikke-krypteret partition.<br/>Du kan fortsætte hvis du vil, men oplåsning af filsystemet sker senere under systemets opstart.<br/>For at kryptere bootpartitionen skal du gå tilbage og oprette den igen, vælge <strong>Kryptér</strong> i partitionsoprettelsesvinduet. + En separat bootpartition blev opsat sammen med en krypteret rodpartition, men bootpartitionen er ikke krypteret.<br/><br/>Der er sikkerhedsmæssige bekymringer med denne slags opsætning, da vigtige systemfiler er gemt på en ikke-krypteret partition.<br/>Du kan fortsætte hvis du vil, men oplåsning af filsystemet sker senere under systemets opstart.<br/>For at kryptere bootpartitionen skal du gå tilbage og oprette den igen, vælge <strong>Kryptér</strong> i partitionsoprettelsesvinduet. @@ -1627,7 +1627,7 @@ Output: Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. - Vælg venligst et udseende og fremtoning til KDE Plasma-skrivebordet. Du kan også springe dette trin over og konfigurere udseendet og fremtoningen når systemet er installeret. + Vælg venligst et udseende og fremtoning til KDE Plasma-skrivebordet. Du kan også springe trinnet over og konfigurere udseendet og fremtoningen når systemet er installeret. @@ -1687,7 +1687,7 @@ Output: Select where to install %1.<br/><font color="red">Warning: </font>this will delete all files on the selected partition. - Vælg hvor %1 skal installeres.<br/><font color="red">Advarsel: </font>Dette vil slette alle filer på den valgte partition. + Vælg hvor %1 skal installeres.<br/><font color="red">Advarsel: </font>Det vil slette alle filer på den valgte partition. diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index da56fc8ab..8f8a0f8bc 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -303,22 +303,22 @@ Sortie Command <i>%1</i> crashed. - + La commande <i>%1</i> s'est arrêtée inopinément. External command failed to start. - + La commande externe n'a pas pu être lancée. Command <i>%1</i> failed to start. - + La commande <i>%1</i> n'a pas pu être lancée. Internal error when starting command. - + Erreur interne au lancement de la commande @@ -328,22 +328,22 @@ Sortie External command failed to finish. - + La commande externe ne s'est pas terminée. Command <i>%1</i> failed to finish in %2 seconds. - + La commande <i>%1</i> ne s'est pas terminée en %2 secondes. External command finished with errors. - + La commande externe s'est terminée avec des erreurs. Command <i>%1</i> finished with exit code %2. - + La commande <i>%1</i> s'est terminée avec le code de sortie %2. @@ -548,7 +548,7 @@ Sortie Contextual Processes Job - + Tâche des processus contextuels @@ -586,7 +586,7 @@ Sortie LVM LV name - + Gestion par volumes logiques : Nom du volume logique @@ -995,7 +995,7 @@ Sortie <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>En sélectionnant cette option, votre système redémarrera immédiatement quand vous cliquerez sur <span style=" font-style:italic;">Terminé</span> ou fermerez l'installateur.</p></body></html> @@ -2075,7 +2075,7 @@ Sortie Shell Processes Job - + Tâche des processus de l'intérpréteur de commande @@ -2313,7 +2313,7 @@ Sortie <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/> pour %3</strong><br/><br/> Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/> Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/> Merci à : Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg et <a href="https://www.transifex.com/calamares/calamares/">l'équipe de traducteurs de Calamares</a>.<br/><br/> Le développement de <a href="https://calamares.io/">Calamares</a> est sponsorisé par <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index d659f52d8..a50b6dfc4 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -276,7 +276,7 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. Could not run command. - + A parancsot nem lehet futtatni. @@ -296,12 +296,12 @@ Output: External command crashed. - + Külső parancs összeomlott. Command <i>%1</i> crashed. - + Parancs <i>%1</i> összeomlott. @@ -326,7 +326,7 @@ Output: External command failed to finish. - + Külső parancs nem fejeződött be. diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index a194d99ba..abf1e59ca 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -276,12 +276,12 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Could not run command. - + Impossibile eseguire il comando. No rootMountPoint is defined, so command cannot be run in the target environment. - + Non è stato definito alcun rootMountPoint, quindi il comando non può essere eseguito nell'ambiente di destinazione. @@ -291,32 +291,34 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Output: - + +Output: + External command crashed. - + Il comando esterno si è arrestato. Command <i>%1</i> crashed. - + Il comando <i>%1</i> si è arrestato. External command failed to start. - + Il comando esterno non si è avviato. Command <i>%1</i> failed to start. - + Il comando %1 non si è avviato. Internal error when starting command. - + Errore interno all'avvio del comando. @@ -326,22 +328,22 @@ Output: External command failed to finish. - + Il comando esterno non è stato portato a termine. Command <i>%1</i> failed to finish in %2 seconds. - + Il comando <i>%1</i> non è stato portato a termine in %2 secondi. External command finished with errors. - + Il comando esterno è terminato con errori. Command <i>%1</i> finished with exit code %2. - + Il comando <i>%1</i> è terminato con codice di uscita %2. @@ -584,7 +586,7 @@ Output: LVM LV name - + Nome LVM LV diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 0e542f60c..a8432a155 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -296,27 +296,27 @@ Output: External command crashed. - + 外部コマンドがクラッシュしました。 Command <i>%1</i> crashed. - + コマンド <i>%1</i> がクラッシュしました。 External command failed to start. - + 外部コマンドの起動に失敗しました。 Command <i>%1</i> failed to start. - + コマンド <i>%1</i> の起動に失敗しました。 Internal error when starting command. - + コマンドが起動する際に内部エラーが発生しました。 @@ -326,12 +326,12 @@ Output: External command failed to finish. - + 外部コマンドの終了に失敗しました。 Command <i>%1</i> failed to finish in %2 seconds. - + コマンド<i>%1</i> %2 秒以内に終了することに失敗しました。 diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index 6694183f5..8c9bc5853 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -276,12 +276,12 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. Could not run command. - + Nu s-a putut executa comanda. No rootMountPoint is defined, so command cannot be run in the target environment. - + Nu este definit niciun rootMountPoint, așadar comanda nu a putut fi executată în mediul dorit. @@ -291,32 +291,34 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. Output: - + +Output + External command crashed. - + Comanda externă a eșuat. Command <i>%1</i> crashed. - + Comanda <i>%1</i> a eșuat. External command failed to start. - + Comanda externă nu a putut fi pornită. Command <i>%1</i> failed to start. - + Comanda <i>%1</i> nu a putut fi pornită. Internal error when starting command. - + Eroare internă la pornirea comenzii. @@ -326,22 +328,22 @@ Output: External command failed to finish. - + Finalizarea comenzii externe a eșuat. Command <i>%1</i> failed to finish in %2 seconds. - + Comanda <i>%1</i> nu a putut fi finalizată în %2 secunde. External command finished with errors. - + Comanda externă finalizată cu erori. Command <i>%1</i> finished with exit code %2. - + Comanda <i>%1</i> finalizată cu codul de ieșire %2. @@ -584,7 +586,7 @@ Output: LVM LV name - + Nume LVM LV @@ -993,7 +995,7 @@ Output: <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>Când această căsuță este bifată, sistemul va reporni deîndată ce veți apăsa pe <span style=" font-style:italic;">Done</span> sau veți închide programul instalator</p></body></html> @@ -2073,7 +2075,7 @@ Output: Shell Processes Job - + Shell-ul procesează sarcina. @@ -2311,7 +2313,7 @@ Output: <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Mulțumiri: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg și <a href="https://www.transifex.com/calamares/calamares/">echipei de traducători Calamares</a>.<br/><br/><a href="https://calamares.io/">Calamares</a>, dezvoltare sponsorizată de <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index 46881901d..1e6376319 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -281,7 +281,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. No rootMountPoint is defined, so command cannot be run in the target environment. - + Nie je definovaný parameter rootMountPoint, takže príkaz nemôže byť spustený v cieľovom prostredí. @@ -333,7 +333,7 @@ Výstup: Command <i>%1</i> failed to finish in %2 seconds. - + Zlyhalo dokončenie príkazu <i>%1</i> počas doby %2 sekúnd. @@ -343,7 +343,7 @@ Výstup: Command <i>%1</i> finished with exit code %2. - + Príkaz <i>%1</i> skončil s ukončovacím kódom %2. @@ -586,7 +586,7 @@ Výstup: LVM LV name - + Názov LVM LV @@ -995,7 +995,7 @@ Výstup: <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>Keď je zaškrtnuté toto políčko, váš systém sa okamžite reštartuje po stlačení tlačidla <span style=" font-style:italic;">Dokončiť</span> alebo zatvorení inštalátora.</p></body></html> @@ -2075,7 +2075,7 @@ Výstup: Shell Processes Job - + Úloha procesov príkazového riadku @@ -2313,7 +2313,7 @@ Výstup: <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>pre distribúciu %3</strong><br/><br/>Autorské práva 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorské práva 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Poďakovanie: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg a <a href="https://www.transifex.com/calamares/calamares/">tím prekladateľov inštalátora Calamares</a>.<br/><br/>Vývoj inštalátora <a href="https://calamares.io/">Calamares</a> je podporovaný spoločnosťou <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_sq.ts b/lang/calamares_sq.ts index a6f51e64e..74d3efe21 100644 --- a/lang/calamares_sq.ts +++ b/lang/calamares_sq.ts @@ -60,7 +60,7 @@ JobQueue - JobQueue + Radhë Aktesh @@ -276,12 +276,12 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Could not run command. - + S’u xhirua dot urdhri. No rootMountPoint is defined, so command cannot be run in the target environment. - + S’ka të caktuar rootMountPoint, ndaj urdhri s’mund të xhirohet në mjedisin e synuar. @@ -291,32 +291,34 @@ Instaluesi do të mbyllet dhe krejt ndryshimet do të hidhen tej. Output: - + +Përfundim: + External command crashed. - + Urdhri i jashtëm u vithis. Command <i>%1</i> crashed. - + Urdhri <i>%1</i> u vithis. External command failed to start. - + Dështoi nisja e urdhrit të jashtëm. Command <i>%1</i> failed to start. - + Dështoi nisja e urdhrit <i>%1</i>. Internal error when starting command. - + Gabim i brendshëm kur niset urdhri. @@ -326,22 +328,22 @@ Output: External command failed to finish. - + Udhri i jashtëm s’arriti të përfundohej. Command <i>%1</i> failed to finish in %2 seconds. - + Urdhri <i>%1</i> s’arriti të përfundohej në %2 sekonda. External command finished with errors. - + Urdhri i jashtë përfundoi me gabime. Command <i>%1</i> finished with exit code %2. - + Urdhri <i>%1</i> përfundoi me kod daljeje %2. @@ -546,7 +548,7 @@ Output: Contextual Processes Job - + Akt Procesesh Kontekstuale @@ -584,7 +586,7 @@ Output: LVM LV name - + Emër VLl LVM @@ -688,7 +690,7 @@ Output: Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3). - Krijo tabelë të re ndarjesh %1 te %2. + Krijoni tabelë ndarjeje të re <strong>%1</strong> te <strong>%2</strong> (%3). @@ -993,7 +995,7 @@ Output: <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>Kur i vihet shenjë kësaj kutie, sistemi juaj do të riniset menjëherë, kur klikoni mbi <span style=" font-style:italic;">U bë</span> ose mbyllni instaluesin.</p></body></html> @@ -1062,7 +1064,7 @@ Output: Please install KDE Konsole and try again! - + Ju lutemi, instaloni KDE Konsole dhe riprovoni! @@ -1601,13 +1603,13 @@ Output: Plasma Look-and-Feel Job - + Akt Plasma Look-and-Feel Could not select KDE Plasma Look-and-Feel package - + S’u përzgjodh dot paketa KDE Plasma Look-and-Feel @@ -1620,12 +1622,12 @@ Output: Placeholder - + Vendmbajtëse Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. - + Ju lutemi, zgjidhni një look-and-feel (pamje dhe ndjesi) për Desktopin KDE Plasma. Mund edhe ta anashkaloni këtë hap dhe pamje-dhe-ndjesi ta formësoni pasi të jetë instaluar sistemi. @@ -1633,7 +1635,7 @@ Output: Look-and-Feel - + Pamje-dhe-Ndjesi @@ -2073,7 +2075,7 @@ Output: Shell Processes Job - + Akt Procesesh Shelli @@ -2097,22 +2099,22 @@ Output: Installation feedback - + Përshtypje mbi instalimin Sending installation feedback. - + Po dërgohen përshtypjet mbi instalimin Internal error in install-tracking. - + Gabim i brendshëm në shquarjen e instalimit. HTTP request timed out. - + Kërkesës HTTP i mbaroi koha. @@ -2120,28 +2122,28 @@ Output: Machine feedback - + Të dhëna nga makina Configuring machine feedback. - + Po formësohet moduli Të dhëna nga makina. Error in machine feedback configuration. - + Gabim në formësimin e modulit Të dhëna nga makina. Could not configure machine feedback correctly, script error %1. - + S’u formësua dot si duhet moduli Të dhëna nga makina, gabim programthi %1. Could not configure machine feedback correctly, Calamares error %1. - + S’u formësua dot si duhet moduli Të dhëna nga makina, gabim Calamares %1. @@ -2154,12 +2156,12 @@ Output: Placeholder - + Vendmbajtëse <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> - + <html><head/><body><p>Duke përzgjedhur këtë, <span style=" font-weight:600;">s’do të dërgoni fare të dhëna</span> rreth instalimit tuaj.</p></body></html> @@ -2173,32 +2175,32 @@ Output: ... - + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> - + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Për më tepër të dhëna rreth përshtypjeve të përdoruesit, klikoni këtu</span></a></p></body></html> Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. - + Instalimi i gjurmimit e ndihmon %1 të shohë se sa përdorues ka, në çfarë hardware-i e instalojnë %1 dhe (përmes dy mundësive të fundit më poshtë), të marrë të dhëna të vazhdueshme rre aplikacioneve të parapëlqyera. Që të shihni se ç’dërgohet, ju lutemi, klikoni ikonën e ndihmës në krah të çdo fushe. By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + Duke përzgjedhur këtë, di të dërgoni të dhëna mbi instalimin dhe hardware-in tuaj. Këto të dhëna do të <b>dërgohen vetëm një herë</b>, pasi të përfundojë instalimi. By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + Duke përzgjedhur këtë, do të dërgoni <b>periodikisht</b> te %1 të dhëna mbi instalimin, hardware-in dhe aplikacionet tuaja. By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. - + Duke përzgjedhur këtë, do të dërgoni <b>rregullisht</b> te %1 të dhëna mbi instalimin, hardware-in, aplikacionet dhe rregullsitë tuaja në përdorim. @@ -2206,7 +2208,7 @@ Output: Feedback - + Përshtypje @@ -2311,12 +2313,12 @@ Output: <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Të drejta Kopjimi 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Të drejta Kopjimi 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Falënderime për: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg dhe <a href="https://www.transifex.com/calamares/calamares/">ekipin e përkthyesve të Calamares-it</a>.<br/><br/>Zhvillimi i <a href="https://calamares.io/">Calamares</a> sponsorizohet nga <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. %1 support - &Asistencë + Asistencë %1 diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 76e1e7885..590e2f416 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -277,12 +277,12 @@ The installer will quit and all changes will be lost. Could not run command. - + 无法运行命令 No rootMountPoint is defined, so command cannot be run in the target environment. - + 未定义任何 rootMountPoint,无法在目标环境中运行命令。 @@ -292,32 +292,34 @@ The installer will quit and all changes will be lost. Output: - + +输出: + External command crashed. - + 外部命令已崩溃。 Command <i>%1</i> crashed. - + 命令 <i>%1</i> 已崩溃。 External command failed to start. - + 无法启动外部命令。 Command <i>%1</i> failed to start. - + 无法启动命令 <i>%1</i>。 Internal error when starting command. - + 启动命令时出现内部错误。 @@ -327,22 +329,22 @@ Output: External command failed to finish. - + 外部命令未成功完成。 Command <i>%1</i> failed to finish in %2 seconds. - + 命令 <i>%1</i> 未能在 %2 秒内完成。 External command finished with errors. - + 外部命令已完成,但出现了错误。 Command <i>%1</i> finished with exit code %2. - + 命令 <i>%1</i> 以退出代码 %2 完成。 @@ -547,7 +549,7 @@ Output: Contextual Processes Job - + 后台任务 @@ -585,7 +587,7 @@ Output: LVM LV name - + LVM 逻辑卷名称 @@ -995,7 +997,7 @@ Output: <html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html> - + <html><head/><body><p>当选中此项时,系统会在您关闭安装器或点击 <span style=" font-style:italic;">完成</span> 按钮时立即重启</p></body></html> @@ -1064,7 +1066,7 @@ Output: Please install KDE Konsole and try again! - + 请安装 KDE Konsole 后重试! @@ -1603,13 +1605,13 @@ Output: Plasma Look-and-Feel Job - + Plasma 外观主题任务 Could not select KDE Plasma Look-and-Feel package - + 无法选中 KDE Plasma 外观主题包 @@ -1622,12 +1624,12 @@ Output: Placeholder - + 占位符 Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. - + 请为 KDE Plasma 桌面选择一个外观主题。您也可以暂时跳过此步骤并在系统安装完成后配置系统外观。 @@ -1635,7 +1637,7 @@ Output: Look-and-Feel - + 外观主题 @@ -2075,7 +2077,7 @@ Output: Shell Processes Job - + Shell 进程任务 @@ -2109,7 +2111,7 @@ Output: Internal error in install-tracking. - + 在 install-tracking 步骤发生内部错误。 @@ -2122,28 +2124,28 @@ Output: Machine feedback - + 机器反馈 Configuring machine feedback. - + 正在配置机器反馈。 Error in machine feedback configuration. - + 机器反馈配置中存在错误。 Could not configure machine feedback correctly, script error %1. - + 无法正确配置机器反馈,脚本错误代码 %1。 Could not configure machine feedback correctly, Calamares error %1. - + 无法正确配置机器反馈,Calamares 错误代码 %1。 @@ -2156,19 +2158,19 @@ Output: Placeholder - + 占位符 <html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html> - + <html><head/><body><p>选中此项时,不会发送关于安装的 <span style=" font-weight:600;">no information at all</span>。</p></body></html> TextLabel - + 文本标签 @@ -2180,27 +2182,27 @@ Output: <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">Click here for more information about user feedback</span></a></p></body></html> - + <html><head/><body><p><a href="placeholder"><span style=" text-decoration: underline; color:#2980b9;">点击此处以获取关于用户反馈的详细信息</span></a></p></body></html> Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area. - + 安装跟踪可帮助 %1 获取关于用户数量,安装 %1 的硬件(选中下方最后两项)及长期以来受欢迎应用程序的信息。请点按每项旁的帮助图标以查看即将被发送的信息。 By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes. - + 选中此项时,安装器将发送关于安装过程和硬件的信息。该信息只会在安装结束后 <b>发送一次</b>。 By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1. - + 选中此项时,安装器将给 %1 <b>定时</b> 发送关于安装进程,硬件及应用程序的信息。 By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1. - + 选中此项时,安装器和系统将给 %1 <b>定时</b> 发送关于安装进程,硬件,应用程序及使用规律的信息。 @@ -2313,7 +2315,7 @@ Output: <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="https://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>特别感谢:Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg 及 <a href="https://www.transifex.com/calamares/calamares/">Calamares 翻译团队</a>。<br/><br/><a href="https://calamares.io/">Calamares</a> 的开发由 <br/><a href="http://www.blue-systems.com/">Blue Systems</a> 赞助。 From 7c8a70c9a1e970757e2768eeb521a2611247d5d1 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Wed, 7 Feb 2018 13:44:18 +0100 Subject: [PATCH 169/178] [dummypythonqt] Automatic merge of Transifex translations --- .../lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo | Bin 1015 -> 997 bytes .../lang/cs_CZ/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/da/LC_MESSAGES/dummypythonqt.mo | Bin 955 -> 929 bytes .../lang/da/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/de/LC_MESSAGES/dummypythonqt.mo | Bin 953 -> 937 bytes .../lang/de/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/es/LC_MESSAGES/dummypythonqt.mo | Bin 970 -> 949 bytes .../lang/es/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/fr/LC_MESSAGES/dummypythonqt.mo | Bin 578 -> 972 bytes .../lang/fr/LC_MESSAGES/dummypythonqt.po | 12 ++++++------ .../lang/hu/LC_MESSAGES/dummypythonqt.mo | Bin 937 -> 918 bytes .../lang/hu/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/is/LC_MESSAGES/dummypythonqt.mo | Bin 974 -> 947 bytes .../lang/is/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/ja/LC_MESSAGES/dummypythonqt.mo | Bin 985 -> 953 bytes .../lang/ja/LC_MESSAGES/dummypythonqt.po | 4 ++-- .../lang/lt/LC_MESSAGES/dummypythonqt.mo | Bin 1028 -> 1012 bytes .../lang/lt/LC_MESSAGES/dummypythonqt.po | 4 ++-- 18 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo index 7b2ce2547905d139765980919c33c3f4f6e23553..183b7d5367dbfdaa6573a383e15988c7b642506d 100644 GIT binary patch delta 90 zcmey){*-+}i0Ljy28IM6=4D`DkY;9J&;!z%Kw1z;M*wLVAe{xIrGRuhkahyni#B#@ gFbY`c8W`#tnkyJuS{a&Y8yHSL$mqOTjOigG0AG#{>;M1& delta 109 zcmaFL{+)e7i0K(d28IM6=4D`D&}C*|&;!!eKw1z;X8~y$AYB8brGWHIAngRCw`}ax zU=%RdHL%n*vQRKIurfB$H87cckkMI4!KNUwEH%fWs46uhF diff --git a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po index dde73d534..4c28848bf 100644 --- a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-28 10:34-0400\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: pavelrz , 2016\n" +"Last-Translator: pavelrz, 2016\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.mo index ad17f4d688aef38c7cfc98486eb1224ca9edc087..d18b7cd85cd3743289832099c1c406fe73ac2f0d 100644 GIT binary patch delta 90 zcmdnZzL0%Fh-p6~149B3^D;0nd|+Z=&<4`~fHa7&#mvAU4WuoAv?!1c0n%nbI%{L6 h2BUz5u7RPhp}B&grIn$Xwt?Z~gN&Y=RhXtT0sw924$lAp delta 117 zcmZ3;zMFkQi0Mj328IM6=4D`D;9_QA&<4^HKpMn%0n*YyItWOM0_i*;Z3d)UHg;+- z3YhB}Sn3*>C>U5+8JYnZlMga_N-5YBC+Fvvq!y(YWfrIAIi%+%X6EQ6=jYmO=3<)8 F2mlYw7i9nd diff --git a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po index 7d2d647bd..c47f44d2e 100644 --- a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-04 08:16-0400\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: scootergrisen , 2017\n" +"Last-Translator: scootergrisen, 2017\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.mo index 1a75f33f91fa137684d9359fbaec36e8a06c26c4..10aa5c08dfc671abfee863aeb60abadbee949c31 100644 GIT binary patch delta 90 zcmdnVzLI@Hi0MQ|28IM67Gz*x_{7A(pbw;3m>C$jfwT#b76;M}Kw1n)M*wL{Af3Ol hQ-e{!Lf61h*U((S(9+7#OxwV4@Pc3#x&#lnQOD(b6%)>O75db6^6DI%w diff --git a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po index 3b9d4e2b1..9487ec1da 100644 --- a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-06 06:02-0500\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Christian Spaan , 2017\n" +"Last-Translator: Christian Spaan, 2017\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" diff --git a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.mo index f441bc20555a371af3cf6130cea0a0076a0c8f1c..7ed27e6299458d028bfc1fa94932040106e00814 100644 GIT binary patch delta 90 zcmX@bzLkAKh-n8S149B33oC$jfwUWtmIcy5Kw1h&7XWEHAl<#O zQ-e{!T-U%-*T6), 2016\n" +"Last-Translator: strel, 2016\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.mo index 2b392393d4c73309fa484da4f4229ef43d28107c..a8ddde5198103f77c73ff2e5ca9903ee2096583a 100644 GIT binary patch delta 609 zcmZ{f%}PR15XX;YNmLLn3Zccg>eGw2!c3$RqeU2GS&LR3uSdOgKg@f?EW#IXBhd>4 zEqa66=Aunc(4uFEmaY0&WZbjXb)$P!gbr+8Kv3Oq-0S#ih|j>8Lr@^+cFDyCVZy_ziAR$9`IomE)U z(6uxC3Nkm#f2EIfQ9Y2N#4<(Erxan`AspE^t&m%mYj-@gv*hra6Qir^=EeR*G!#}t z>ME&gF*ULfR-13}`Gmm07R9;cPFGV*UM`3-w{n{Wlk0|}+2;BpErr$SP15sOKeW1= z>EzapyL1l delta 221 zcmX@Zeu$<1o)F7a1|VPtVi_Pd0b*7l_5orLNC0A9AWj5gP9V+);uVYx43$7y2#A%K z7#Mhfv?-7V3WEX2EFc#G92N3X%M}8B5|dJM^cb9TGLy3va#Ix<0*dmpQj;gAF?tJ_ z>l#?<8d)e98dw>d=o*+zKFDaJ8<1F, 2017\n" +"Last-Translator: Aestan , 2018\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,16 +28,16 @@ msgstr "Un nouveau QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "ViewStep Factice PythonQt" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "" +msgstr "Tâche Factice PythonQt" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "" +msgstr "Ceci est la tâche factice PythonQt. La tâche factice dit : {}" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." -msgstr "" +msgstr "Un message d'état pour la tâche factice PythonQt." diff --git a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.mo index 32f7ed24b7019dba1b4653513ae87811e8797632..0c8dc7309d732ed81bfd85b48ceaf8306abeda0e 100644 GIT binary patch delta 90 zcmZ3Q4rKrU delta 110 zcmbQnzLI@Hi0M2=28IM6=4W7F_|L?^pa!J*nHd;(fwUQr76;NUKw1n)#{g+lAYHt% zQ-e{!T-U%-*T6)70FxyY AWB>pF diff --git a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po index 19d609feb..565530547 100644 --- a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-04 08:16-0400\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: miku84 , 2017\n" +"Last-Translator: miku84, 2017\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.mo index d30364d9c48c1d146856b317e46f37e0dd002ac5..1d40eeb4bf27b07f479e6110a4af3c688e0e813e 100644 GIT binary patch delta 90 zcmX@dzL|YOi0OJp28IM6=4D`D5MX9t&;rtOK$-_gdje^3ARPvzg@AM(kTwL;jT<{P g7zHeJ4GeV+%@qtStqjey4GbqAWDMA>!?cJI03kUI&;S4c delta 118 zcmdnYevW-Yi0LUt28IM6=4D`D&}L>}&;rtyK$-_grvPbjAYBNgg@AM?kTwL;b2fHr zFbbIK8d&NYm?#)nSQ(lD8Iun(21qN|WEW)?mt-a8ds=O$+6=q2ap+HDqO HTEqwdeY+Ud diff --git a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po index 5b87a423f..8a0a94e8e 100644 --- a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-04 08:16-0400\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Kristján Magnússon , 2017\n" +"Last-Translator: Kristján Magnússon, 2017\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.mo index eb678c58178c48b7c83614d65f2481bd4ec88753..8098b2c5cf73be85932712d9ca9ed307ac21cf70 100644 GIT binary patch delta 90 zcmcb~zLR}Ih-nWa149B3^D{6oyk%lwPy^C`fwVl3R$*pf5C_sOKw1n)#{g+pAYHt% hQ-e{!Lf61h*U((S(9+7#OxwV4@, 2016\n" +"Last-Translator: Takefumi Nagata, 2016\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.mo index 1ca9f28019a51d016435aaa64940c7444c49c7e2..30fb27cad9ebb71607adae3238143be6a700777a 100644 GIT binary patch delta 90 zcmZqS_`*IR#PkFs149B3^D!_mXfiV}7z1ewAT11}bAYrYkZu6dQb2kZkhTNTTQ_!U gFbY`c8W`#tnkyJuS{a&Y8yHSL$Y{S=fawb(09Pju4gdfE delta 106 zcmeyu-oh~<#PkLu149B3^D!_mSTZv(7z1e!AT11}Yk;&Qke&dfrGWG*AZ-Vvk8bSL vU=%RdHL%n*Fi|kDurf3QGA18nv=>mY$<5C%PIbsl%*@d%Dz)3h^o0=sliL+I diff --git a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po index 97f6e6b33..5d9db7cc6 100644 --- a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-04 08:16-0400\n" +"POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Moo , 2016\n" +"Last-Translator: Moo, 2016\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" From d3b5189d063688dd1a0bbd7bbf4be063e78e61fc Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Wed, 7 Feb 2018 13:44:18 +0100 Subject: [PATCH 170/178] [python] Automatic merge of Transifex translations --- lang/python/da/LC_MESSAGES/python.mo | Bin 1067 -> 1047 bytes lang/python/da/LC_MESSAGES/python.po | 2 +- lang/python/es/LC_MESSAGES/python.mo | Bin 1095 -> 1074 bytes lang/python/es/LC_MESSAGES/python.po | 2 +- lang/python/fr/LC_MESSAGES/python.mo | Bin 719 -> 1114 bytes lang/python/fr/LC_MESSAGES/python.po | 14 +++++++------- lang/python/hu/LC_MESSAGES/python.mo | Bin 863 -> 844 bytes lang/python/hu/LC_MESSAGES/python.po | 2 +- lang/python/is/LC_MESSAGES/python.mo | Bin 1093 -> 1066 bytes lang/python/is/LC_MESSAGES/python.po | 2 +- lang/python/it_IT/LC_MESSAGES/python.mo | Bin 1110 -> 1088 bytes lang/python/it_IT/LC_MESSAGES/python.po | 2 +- lang/python/ja/LC_MESSAGES/python.mo | Bin 1095 -> 1063 bytes lang/python/ja/LC_MESSAGES/python.po | 2 +- lang/python/lt/LC_MESSAGES/python.mo | Bin 1203 -> 1187 bytes lang/python/lt/LC_MESSAGES/python.po | 2 +- lang/python/sk/LC_MESSAGES/python.mo | Bin 1092 -> 1239 bytes lang/python/sk/LC_MESSAGES/python.po | 4 ++-- 18 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lang/python/da/LC_MESSAGES/python.mo b/lang/python/da/LC_MESSAGES/python.mo index ad59d8adcb78f33cad5e49edf3973ee57f8546f6..88b12ed28711914c8130f104e840f6c66f5a1f33 100644 GIT binary patch delta 78 zcmZ3@F`Z*VjNLRw28NYDEXcsX;K0nlAOfU=pmaKr76S5XfV2^i?g!FZK>84n)&$aT PnK#Zlz_>Y&X)hxHuciz` delta 99 zcmbQvv6^E-jNK|m28NYDEXcsX5W>vBAOfV*pma5m76S4o0BIv2y%, 2017\n" +"Last-Translator: Dan Johansen (Strit), 2017\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/es/LC_MESSAGES/python.mo b/lang/python/es/LC_MESSAGES/python.mo index 41be1fdcfd8220f302160701ec9aa93d8548071c..0eedb1c24a0c428fd4bc2514a2e8e617dcae16e0 100644 GIT binary patch delta 78 zcmX@kv58|sj9mvK1H(!nmSkXHFk)t4kOI;^Kw23{rvqsrAl(h5je+z$Agv9gFG2bL Pm^aSa$hbLy={X|+!}AQy delta 100 zcmdnQahzj9jNM#D28NYDEXlyY;LgmzAO)lofwVG^t^v|QKzad?HU`q0fwVS|eh%de lvuvETkx^8^rnsaiH774K*&#hQF*8RmIX~BKvp3UoMgTR$6e|D# diff --git a/lang/python/es/LC_MESSAGES/python.po b/lang/python/es/LC_MESSAGES/python.po index a10f95a6a..96a5275e2 100644 --- a/lang/python/es/LC_MESSAGES/python.po +++ b/lang/python/es/LC_MESSAGES/python.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: strel , 2017\n" +"Last-Translator: strel, 2017\n" "Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/fr/LC_MESSAGES/python.mo b/lang/python/fr/LC_MESSAGES/python.mo index 3197906a8bda33fe9fe383e53ada2606e83953b8..e254cdc463798ea5049484b3ff6f7e78f8496f1d 100644 GIT binary patch delta 570 zcmZXPyGjE=6oyY?q5&(#D_Bel(Wop@1d||QA&4LdYH2fWCY#mF?3$ewgJ@bUEJDyq zPy`E~zz0a9mA!(#g7^gf8#ck1fp5Rre{Scz#orUv&%xL=VI;r=*aQ9G76ju341iZK z1U^E4!$BU85G}%^@GQIur{NR$5j=rm{BQLTjllv=!sqY^QI+m7$su@#4fqGnz{wa9 z&Qc$U1H{w|5I2j3C>nfPW6hVc!rY23I*J`Q`v!F+o)#`UJ)?D@M44;BBsYt8tvWul zp*+n?C0kj{QG&VLJmi)z=ubX5t$dlv*RGb*+d?|WU3=SUxU+SOXVe;ZDS-zRTjnaL ztzt-Cworr0uUeAZCBt;&${brr&u8ivkuPJn@n9AOD{xcWChBQ+M2$<$-Tx^Xsu!ZU v`LI;3ZS@)h1c@`Y|U5v~Xp)>prYX0toK>z0M*bsg$hXrBr1^bGn1sGpRC delta 194 zcmcb`ah|pQo)F7a1|VPoVi_Q|0b*7ljsap2C;(y+AT9)AK_G4eVr?Lv0mO?K85oWL zX+a<}-tM?x}gHMTsS;3b~2N8JQFRNlx}*)S0}J zah_UIN@7k, 2017\n" +"Last-Translator: Aestan , 2018\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,11 +20,11 @@ msgstr "" #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Tâche factice python" #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Étape factice python {}" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." @@ -43,12 +43,12 @@ msgstr "Installer les paquets." #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Installation d'un paquet." +msgstr[1] "Installation de %(num)d paquets." #: src/modules/packages/main.py:68 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Suppression d'un paquet." +msgstr[1] "Suppression de %(num)d paquets." diff --git a/lang/python/hu/LC_MESSAGES/python.mo b/lang/python/hu/LC_MESSAGES/python.mo index c6ae0e569d852f19486d5a77dfc2a99908ee2f97..1fde4028432a9121a2fedecc07a397dc26ce074c 100644 GIT binary patch delta 61 zcmcc5c7|<&k8U?31A{UU3o|e0ikOb0)fwTsYz6+$qfHWI31A`urmfcwC%eeU_ HV;ds?Isyt1 delta 81 zcmX@ZcAss6kM2B11_osy7G_{zIK;%jAPJ3 bCO0#?)WXCeJvT8kM=v=)*KYGM#x_O(P%;qp diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 4d48a6341..b09100d10 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: miku84 , 2017\n" +"Last-Translator: miku84, 2017\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/is/LC_MESSAGES/python.mo b/lang/python/is/LC_MESSAGES/python.mo index 894ffe2a9891ccde56cfdf5d2b0e00df4933004e..6d23a5d2b2c1fa5bb38ffa36bd2b15662f2b0b5f 100644 GIT binary patch delta 78 zcmX@gv5I3tjNN)h28NYDEXcsX5XsEIAOfVbp>zX~769_60%<)Uy$ndJ0_m$z{%_`u NvkowBE@isF2msna4LJY+ delta 106 zcmZ3*ag<|1jNK_l28NYDEXcsXP{Pc>AOfV@p!94YEdb21=1g&d@+`d pvkovyE7)WgWfqrYCFbQOrstIwJEZ3(X6EQ6=jYmOj$*pN2mtJx7gPWM diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index 10b7fa721..31af62a40 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Kristján Magnússon , 2017\n" +"Last-Translator: Kristján Magnússon, 2017\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/it_IT/LC_MESSAGES/python.mo b/lang/python/it_IT/LC_MESSAGES/python.mo index 71c7060558002d7db87be32fecba3223ab5109a4..9e82a02323a5dd5f0a5b0e6c79583aa9febcfa85 100644 GIT binary patch delta 77 zcmcb{ae!k&jO|KB1_lroWME(jW@caz0n({JS_nv20cl|%-3z2Gfb>Ejtp}uU0ckTJ P&AD;rQO3, 2017\n" +"Last-Translator: Pietro Francesco Fontana, 2017\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index 08dd693268cdbb379e0b1839976bc58be7a00df4..c18cdde08d9696e5462c6e0bacccb53b0885e068 100644 GIT binary patch delta 78 zcmX@kv7BQ, 2017\n" +"Last-Translator: Takefumi Nagata, 2017\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/lt/LC_MESSAGES/python.mo b/lang/python/lt/LC_MESSAGES/python.mo index efbf927eff2b64d09e81059042a5e67ff564fca6..c640951a8730276c8586792371f39b2483ea07de 100644 GIT binary patch delta 77 zcmdnYxtMc8jO__V28NYDEXlyYP{ho@AOoa(fV3!(UJ0ZHf%JYL9Rj2;0%Zk)M+Q9!{aH$T5P)gd=AGe@te)NZpUQxp>b1;Y}G diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 596a6c2bf..aef155b64 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-17 19:16+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Moo , 2017\n" +"Last-Translator: Moo, 2017\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/lang/python/sk/LC_MESSAGES/python.mo b/lang/python/sk/LC_MESSAGES/python.mo index 66ad1f86327c1ba441c2d69e5dd02fb11010e9c4..13d30d382fb8f7b8816801423a53c0987a04688a 100644 GIT binary patch delta 312 zcmXZTy-EW?6hPq{^W%z@BH9Q}B>@o>#L`NV#y3!e!Hi_G>`Yk4kX6J|5K>sAv$0f2 zAy#(6ZlSe>h2R5N`3Rnn3>?0lyK{@^Ywr4Iu`(1+M5}Z}^K?(+^G*x&K}+;K^$*AM zYDr`VS8xLla0~nRMvt_{y;Giei*@c#xGb_OpL`rL_{D8(R78%kkL=1URf*qHBgPWl z4cF`Y=Sh;OZWh|!sk30Z>hemO#+g(HqY{16w$5zY*7NJlOtWF*kdJyUQ*r8JUaF41 n$YMR+pX~XbcGf7{GA`It8|M$fr#$h+ARh%?4D`!hxmNlI4?9CN delta 168 zcmcc4d4!|>o)F7a1|VPqVi_Rz0b*_-t^r~YSOLU>K)e!4?*`H)KztU6wSkz4k%7Sg zNb3RV13(-P#PUGC0y6`H7?5@V($PRV97r1i>CHeo4oE)*(m Date: Wed, 7 Feb 2018 16:29:36 +0100 Subject: [PATCH 171/178] i18n: avoid translation tricks, use QCoreApplication::translate Instead of using tr and some macro hacks to get lupdate to recognize the translation, instead use QCoreApplication::translate() which takes its own context for translation. --- .../utils/CalamaresUtilsSystem.cpp | 29 ++--- src/modules/users/CheckPWQuality.cpp | 118 ++++++++---------- 2 files changed, 66 insertions(+), 81 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 195d967f5..9866840ed 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -23,6 +23,7 @@ #include "JobQueue.h" #include "GlobalStorage.h" +#include #include #include #include @@ -253,44 +254,44 @@ System::doChroot() const Calamares::JobResult ProcessResult::explainProcess( const QObject* parent, int ec, const QString& command, const QString& output, int timeout ) { -#define tr parent->tr using Calamares::JobResult; if ( ec == 0 ) return JobResult::ok(); - QString outputMessage = output.isEmpty() ? QStringLiteral("\nThere was no output from the command.") - : (tr("\nOutput:\n") + output); + QString outputMessage = output.isEmpty() + ? QCoreApplication::translate( "ProcessResult", "\nThere was no output from the command.") + : (QCoreApplication::translate( "ProcessResult", "\nOutput:\n") + output); if ( ec == -1 ) //Crash! - return JobResult::error( tr( "External command crashed." ), - tr( "Command %1 crashed." ) + return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command crashed." ), + QCoreApplication::translate( "ProcessResult", "Command %1 crashed." ) .arg( command ) + outputMessage ); if ( ec == -2 ) - return JobResult::error( tr( "External command failed to start." ), - tr( "Command %1 failed to start." ) + return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command failed to start." ), + QCoreApplication::translate( "ProcessResult", "Command %1 failed to start." ) .arg( command ) ); if ( ec == -3 ) - return JobResult::error( tr( "Internal error when starting command." ), - tr( "Bad parameters for process job call." ) ); + return JobResult::error( QCoreApplication::translate( "ProcessResult", "Internal error when starting command." ), + QCoreApplication::translate( "ProcessResult", "Bad parameters for process job call." ) ); if ( ec == -4 ) - return JobResult::error( tr( "External command failed to finish." ), - tr( "Command %1 failed to finish in %2 seconds." ) + return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command failed to finish." ), + QCoreApplication::translate( "ProcessResult", "Command %1 failed to finish in %2 seconds." ) .arg( command ) .arg( timeout ) + outputMessage ); //Any other exit code - return JobResult::error( tr( "External command finished with errors." ), - tr( "Command %1 finished with exit code %2." ) + return JobResult::error( QCoreApplication::translate( "ProcessResult", "External command finished with errors." ), + QCoreApplication::translate( "ProcessResult", "Command %1 finished with exit code %2." ) .arg( command ) .arg( ec ) + outputMessage ); -#undef tr +#undef trIndirect } } // namespace diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index f8f49a0b1..503a6b2b8 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -20,6 +20,7 @@ #include "utils/Logger.h" +#include #include #include @@ -51,22 +52,6 @@ PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a ) { } -// Try to trick Transifex into accepting these strings -#define tr parent->tr -struct LengthExplainer -{ - static QString too_short( QWidget* parent ) - { - return tr( "Password is too short" ); - } - - static QString too_long( QWidget* parent ) - { - return tr( "Password is too long" ); - } -} ; -#undef tr - DEFINE_CHECK_FUNC( minLength ) { int minLength = -1; @@ -77,9 +62,9 @@ DEFINE_CHECK_FUNC( minLength ) cDebug() << " .. minLength set to" << minLength; checks.push_back( PasswordCheck( - [parent]() + []() { - return LengthExplainer::too_short( parent ); + return QCoreApplication::translate( "PWQ", "Password is too short" ); }, [minLength]( const QString& s ) { @@ -99,9 +84,9 @@ DEFINE_CHECK_FUNC( maxLength ) cDebug() << " .. maxLength set to" << maxLength; checks.push_back( PasswordCheck( - [parent]() + []() { - return LengthExplainer::too_long( parent ); + return QCoreApplication::translate("PWQ", "Password is too long" ); }, [maxLength]( const QString& s ) { @@ -154,7 +139,6 @@ public: return m_rv < 0; } -#define tr parent->tr /* This is roughly the same as the function pwquality_strerror, * only with QStrings instead, and using the Qt translation scheme. * It is used under the terms of the GNU GPL v3 or later, as @@ -168,123 +152,123 @@ public: if ( m_rv >= arbitrary_minimum_strength ) return QString(); if ( m_rv >= 0 ) - return tr( "Password is too weak" ); + return QCoreApplication::translate( "PWQ", "Password is too weak" ); switch ( m_rv ) { case PWQ_ERROR_MEM_ALLOC: if ( auxerror ) { - QString s = tr( "Memory allocation error when setting '%1'" ).arg( ( const char* )auxerror ); + QString s = QCoreApplication::translate( "PWQ", "Memory allocation error when setting '%1'" ).arg( ( const char* )auxerror ); free( auxerror ); return s; } - return tr( "Memory allocation error" ); + return QCoreApplication::translate( "PWQ", "Memory allocation error" ); case PWQ_ERROR_SAME_PASSWORD: - return tr( "The password is the same as the old one" ); + return QCoreApplication::translate( "PWQ", "The password is the same as the old one" ); case PWQ_ERROR_PALINDROME: - return tr( "The password is a palindrome" ); + return QCoreApplication::translate( "PWQ", "The password is a palindrome" ); case PWQ_ERROR_CASE_CHANGES_ONLY: - return tr( "The password differs with case changes only" ); + return QCoreApplication::translate( "PWQ", "The password differs with case changes only" ); case PWQ_ERROR_TOO_SIMILAR: - return tr( "The password is too similar to the old one" ); + return QCoreApplication::translate( "PWQ", "The password is too similar to the old one" ); case PWQ_ERROR_USER_CHECK: - return tr( "The password contains the user name in some form" ); + return QCoreApplication::translate( "PWQ", "The password contains the user name in some form" ); case PWQ_ERROR_GECOS_CHECK: - return tr( "The password contains words from the real name of the user in some form" ); + return QCoreApplication::translate( "PWQ", "The password contains words from the real name of the user in some form" ); case PWQ_ERROR_BAD_WORDS: - return tr( "The password contains forbidden words in some form" ); + return QCoreApplication::translate( "PWQ", "The password contains forbidden words in some form" ); case PWQ_ERROR_MIN_DIGITS: if ( auxerror ) - return tr( "The password contains less than %1 digits" ).arg( ( long )auxerror ); - return tr( "The password contains too few digits" ); + return QCoreApplication::translate( "PWQ", "The password contains less than %1 digits" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password contains too few digits" ); case PWQ_ERROR_MIN_UPPERS: if ( auxerror ) - return tr( "The password contains less than %1 uppercase letters" ).arg( ( long )auxerror ); - return tr( "The password contains too few uppercase letters" ); + return QCoreApplication::translate( "PWQ", "The password contains less than %1 uppercase letters" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password contains too few uppercase letters" ); case PWQ_ERROR_MIN_LOWERS: if ( auxerror ) - return tr( "The password contains less than %1 lowercase letters" ).arg( ( long )auxerror ); - return tr( "The password contains too few lowercase letters" ); + return QCoreApplication::translate( "PWQ", "The password contains less than %1 lowercase letters" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password contains too few lowercase letters" ); case PWQ_ERROR_MIN_OTHERS: if ( auxerror ) - return tr( "The password contains less than %1 non-alphanumeric characters" ).arg( ( long )auxerror ); - return tr( "The password contains too few non-alphanumeric characters" ); + return QCoreApplication::translate( "PWQ", "The password contains less than %1 non-alphanumeric characters" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password contains too few non-alphanumeric characters" ); case PWQ_ERROR_MIN_LENGTH: if ( auxerror ) - return tr( "The password is shorter than %1 characters" ).arg( ( long )auxerror ); - return tr( "The password is too short" ); + return QCoreApplication::translate( "PWQ", "The password is shorter than %1 characters" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password is too short" ); case PWQ_ERROR_ROTATED: - return tr( "The password is just rotated old one" ); + return QCoreApplication::translate( "PWQ", "The password is just rotated old one" ); case PWQ_ERROR_MIN_CLASSES: if ( auxerror ) - return tr( "The password contains less than %1 character classes" ).arg( ( long )auxerror ); - return tr( "The password does not contain enough character classes" ); + return QCoreApplication::translate( "PWQ", "The password contains less than %1 character classes" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password does not contain enough character classes" ); case PWQ_ERROR_MAX_CONSECUTIVE: if ( auxerror ) - return tr( "The password contains more than %1 same characters consecutively" ).arg( ( long )auxerror ); - return tr( "The password contains too many same characters consecutively" ); + return QCoreApplication::translate( "PWQ", "The password contains more than %1 same characters consecutively" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password contains too many same characters consecutively" ); case PWQ_ERROR_MAX_CLASS_REPEAT: if ( auxerror ) - return tr( "The password contains more than %1 characters of the same class consecutively" ).arg( ( long )auxerror ); - return tr( "The password contains too many characters of the same class consecutively" ); + return QCoreApplication::translate( "PWQ", "The password contains more than %1 characters of the same class consecutively" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password contains too many characters of the same class consecutively" ); case PWQ_ERROR_MAX_SEQUENCE: if ( auxerror ) - return tr( "The password contains monotonic sequence longer than %1 characters" ).arg( ( long )auxerror ); - return tr( "The password contains too long of a monotonic character sequence" ); + return QCoreApplication::translate( "PWQ", "The password contains monotonic sequence longer than %1 characters" ).arg( ( long )auxerror ); + return QCoreApplication::translate( "PWQ", "The password contains too long of a monotonic character sequence" ); case PWQ_ERROR_EMPTY_PASSWORD: - return tr( "No password supplied" ); + return QCoreApplication::translate( "PWQ", "No password supplied" ); case PWQ_ERROR_RNG: - return tr( "Cannot obtain random numbers from the RNG device" ); + return QCoreApplication::translate( "PWQ", "Cannot obtain random numbers from the RNG device" ); case PWQ_ERROR_GENERATION_FAILED: - return tr( "Password generation failed - required entropy too low for settings" ); + return QCoreApplication::translate( "PWQ", "Password generation failed - required entropy too low for settings" ); case PWQ_ERROR_CRACKLIB_CHECK: if ( auxerror ) { /* Here the string comes from cracklib, don't free? */ - return tr( "The password fails the dictionary check - %1" ).arg( ( const char* )auxerror ); + return QCoreApplication::translate( "PWQ", "The password fails the dictionary check - %1" ).arg( ( const char* )auxerror ); } - return tr( "The password fails the dictionary check" ); + return QCoreApplication::translate( "PWQ", "The password fails the dictionary check" ); case PWQ_ERROR_UNKNOWN_SETTING: if ( auxerror ) { - QString s = tr( "Unknown setting - %1" ).arg( ( const char* )auxerror ); + QString s = QCoreApplication::translate( "PWQ", "Unknown setting - %1" ).arg( ( const char* )auxerror ); free( auxerror ); return s; } - return tr( "Unknown setting" ); + return QCoreApplication::translate( "PWQ", "Unknown setting" ); case PWQ_ERROR_INTEGER: if ( auxerror ) { - QString s = tr( "Bad integer value of setting - %1" ).arg( ( const char* )auxerror ); + QString s = QCoreApplication::translate( "PWQ", "Bad integer value of setting - %1" ).arg( ( const char* )auxerror ); free( auxerror ); return s; } - return tr( "Bad integer value" ); + return QCoreApplication::translate( "PWQ", "Bad integer value" ); case PWQ_ERROR_NON_INT_SETTING: if ( auxerror ) { - QString s = tr( "Setting %1 is not of integer type" ).arg( ( const char* )auxerror ); + QString s = QCoreApplication::translate( "PWQ", "Setting %1 is not of integer type" ).arg( ( const char* )auxerror ); free( auxerror ); return s; } - return tr( "Setting is not of integer type" ); + return QCoreApplication::translate( "PWQ", "Setting is not of integer type" ); case PWQ_ERROR_NON_STR_SETTING: if ( auxerror ) { - QString s = tr( "Setting %1 is not of string type" ).arg( ( const char* )auxerror ); + QString s = QCoreApplication::translate( "PWQ", "Setting %1 is not of string type" ).arg( ( const char* )auxerror ); free( auxerror ); return s; } - return tr( "Setting is not of string type" ); + return QCoreApplication::translate( "PWQ", "Setting is not of string type" ); case PWQ_ERROR_CFGFILE_OPEN: - return tr( "Opening the configuration file failed" ); + return QCoreApplication::translate( "PWQ", "Opening the configuration file failed" ); case PWQ_ERROR_CFGFILE_MALFORMED: - return tr( "The configuration file is malformed" ); + return QCoreApplication::translate( "PWQ", "The configuration file is malformed" ); case PWQ_ERROR_FATAL_FAILURE: - return tr( "Fatal failure" ); + return QCoreApplication::translate( "PWQ", "Fatal failure" ); default: - return tr( "Unknown error" ); + return QCoreApplication::translate( "PWQ", "Unknown error" ); } } #undef tr From c71385e93f37c4ddf2e26671824b2cf7433abeb7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Feb 2018 17:03:55 +0100 Subject: [PATCH 172/178] i18n: fix broken translation in CommandList --- src/libcalamares/utils/CommandList.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index eb73c798e..da2c59d8d 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -25,6 +25,7 @@ #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" +#include #include namespace CalamaresUtils @@ -109,8 +110,8 @@ Calamares::JobResult CommandList::run( const QObject* parent ) if ( !gs || !gs->contains( "rootMountPoint" ) ) { cDebug() << "ERROR: No rootMountPoint defined."; - return Calamares::JobResult::error( parent->tr( "Could not run command." ), - parent->tr( "No rootMountPoint is defined, so command cannot be run in the target environment." ) ); + return Calamares::JobResult::error( QCoreApplication::translate( "CommandList", "Could not run command." ), + QCoreApplication::translate( "CommandList", "No rootMountPoint is defined, so command cannot be run in the target environment." ) ); } root = gs->value( "rootMountPoint" ).toString(); } From d27675d660ba4b0aec21dae6cd6bb5b19db6f59f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Feb 2018 17:12:49 +0100 Subject: [PATCH 173/178] i18n: drop superfluous QObject* parent These additional pointers were introduced for translations, and needed their own tricks to get lupdate to recognize the strings. Using QCoreApplication::translate() removes the need to a QObject to provide context. Drop the now-unneeded parameters. --- src/libcalamares/ProcessJob.cpp | 2 +- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 2 +- src/libcalamares/utils/CalamaresUtilsSystem.h | 11 +++++------ src/libcalamares/utils/CommandList.cpp | 4 ++-- src/libcalamares/utils/CommandList.h | 2 +- .../contextualprocess/ContextualProcessJob.cpp | 2 +- src/modules/shellprocess/ShellProcessJob.cpp | 2 +- src/modules/users/CheckPWQuality.cpp | 6 +++--- src/modules/users/CheckPWQuality.h | 2 +- src/modules/users/UsersPage.cpp | 6 +++--- 10 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/libcalamares/ProcessJob.cpp b/src/libcalamares/ProcessJob.cpp index 900f314f6..68287097e 100644 --- a/src/libcalamares/ProcessJob.cpp +++ b/src/libcalamares/ProcessJob.cpp @@ -82,7 +82,7 @@ ProcessJob::exec() QString(), m_timeoutSec ); - return CalamaresUtils::ProcessResult::explainProcess( this, ec, m_command, output, m_timeoutSec ); + return CalamaresUtils::ProcessResult::explainProcess( ec, m_command, output, m_timeoutSec ); } diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 9866840ed..467938d38 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -252,7 +252,7 @@ System::doChroot() const } Calamares::JobResult -ProcessResult::explainProcess( const QObject* parent, int ec, const QString& command, const QString& output, int timeout ) +ProcessResult::explainProcess( int ec, const QString& command, const QString& output, int timeout ) { using Calamares::JobResult; diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index f4500f9a9..2b5967591 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -41,7 +41,6 @@ public: /** @brief Explain a typical external process failure. * - * @param parent Used as context for translation calls. * @param errorCode Return code from runCommand() or similar * (negative values get special explanation). The member * function uses the exit code stored in the ProcessResult @@ -53,18 +52,18 @@ public: * @param timeout Timeout passed to the process runner, for explaining * error code -4 (timeout). */ - static Calamares::JobResult explainProcess( const QObject* parent, int errorCode, const QString& command, const QString& output, int timeout ); + static Calamares::JobResult explainProcess( int errorCode, const QString& command, const QString& output, int timeout ); /// @brief Convenience wrapper for explainProcess() - inline Calamares::JobResult explainProcess( const QObject* parent, const QString& command, int timeout ) const + inline Calamares::JobResult explainProcess( const QString& command, int timeout ) const { - return explainProcess( parent, getExitCode(), command, getOutput(), timeout ); + return explainProcess( getExitCode(), command, getOutput(), timeout ); } /// @brief Convenience wrapper for explainProcess() - inline Calamares::JobResult explainProcess( const QObject* parent, const QStringList& command, int timeout ) const + inline Calamares::JobResult explainProcess( const QStringList& command, int timeout ) const { - return explainProcess( parent, getExitCode(), command.join( ' ' ), getOutput(), timeout ); + return explainProcess( getExitCode(), command.join( ' ' ), getOutput(), timeout ); } } ; diff --git a/src/libcalamares/utils/CommandList.cpp b/src/libcalamares/utils/CommandList.cpp index da2c59d8d..a6e5151bd 100644 --- a/src/libcalamares/utils/CommandList.cpp +++ b/src/libcalamares/utils/CommandList.cpp @@ -98,7 +98,7 @@ CommandList::~CommandList() { } -Calamares::JobResult CommandList::run( const QObject* parent ) +Calamares::JobResult CommandList::run() { System::RunLocation location = m_doChroot ? System::RunLocation::RunInTarget : System::RunLocation::RunInHost; @@ -139,7 +139,7 @@ Calamares::JobResult CommandList::run( const QObject* parent ) if ( suppress_result ) cDebug() << "Error code" << r.getExitCode() << "ignored by CommandList configuration."; else - return r.explainProcess( parent, processed_cmd, timeout ); + return r.explainProcess( processed_cmd, timeout ); } } diff --git a/src/libcalamares/utils/CommandList.h b/src/libcalamares/utils/CommandList.h index 4ed7616eb..b766259c0 100644 --- a/src/libcalamares/utils/CommandList.h +++ b/src/libcalamares/utils/CommandList.h @@ -88,7 +88,7 @@ public: return m_doChroot; } - Calamares::JobResult run( const QObject* parent ); + Calamares::JobResult run(); using CommandList_t::isEmpty; using CommandList_t::count; diff --git a/src/modules/contextualprocess/ContextualProcessJob.cpp b/src/modules/contextualprocess/ContextualProcessJob.cpp index 6744db054..0a1a2fc1a 100644 --- a/src/modules/contextualprocess/ContextualProcessJob.cpp +++ b/src/modules/contextualprocess/ContextualProcessJob.cpp @@ -85,7 +85,7 @@ ContextualProcessJob::exec() { if ( gs->contains( binding->variable ) && ( gs->value( binding->variable ).toString() == binding->value ) ) { - Calamares::JobResult r = binding->commands->run( this ); + Calamares::JobResult r = binding->commands->run(); if ( !r ) return r; } diff --git a/src/modules/shellprocess/ShellProcessJob.cpp b/src/modules/shellprocess/ShellProcessJob.cpp index 5c14284ec..410f06c09 100644 --- a/src/modules/shellprocess/ShellProcessJob.cpp +++ b/src/modules/shellprocess/ShellProcessJob.cpp @@ -62,7 +62,7 @@ ShellProcessJob::exec() return Calamares::JobResult::ok(); } - return m_commands->run( this ); + return m_commands->run(); } diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index 503a6b2b8..e3956670c 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -144,7 +144,7 @@ public: * It is used under the terms of the GNU GPL v3 or later, as * allowed by the libpwquality license (LICENSES/GPLv2+-libpwquality) */ - QString explanation( QWidget* parent ) + QString explanation() { void* auxerror = m_auxerror; m_auxerror = nullptr; @@ -312,9 +312,9 @@ DEFINE_CHECK_FUNC( libpwquality ) { checks.push_back( PasswordCheck( - [parent,settings]() + [settings]() { - return settings->explanation( parent ); + return settings->explanation(); }, [settings]( const QString& s ) { diff --git a/src/modules/users/CheckPWQuality.h b/src/modules/users/CheckPWQuality.h index b9ea82ce1..07760c75b 100644 --- a/src/modules/users/CheckPWQuality.h +++ b/src/modules/users/CheckPWQuality.h @@ -69,7 +69,7 @@ using PasswordCheckList = QVector; * an error, though). */ #define _xDEFINE_CHECK_FUNC(x) \ - add_check_##x( QWidget* parent, PasswordCheckList& checks, const QVariant& value ) + add_check_##x( PasswordCheckList& checks, const QVariant& value ) #define DEFINE_CHECK_FUNC(x) void _xDEFINE_CHECK_FUNC(x) #define DECLARE_CHECK_FUNC(x) void _xDEFINE_CHECK_FUNC(x); diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index a821c6e88..ae8f03b13 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -462,16 +462,16 @@ UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) { if ( key == "minLength" ) { - add_check_minLength( this, m_passwordChecks, value ); + add_check_minLength( m_passwordChecks, value ); } else if ( key == "maxLength" ) { - add_check_maxLength( this, m_passwordChecks, value ); + add_check_maxLength( m_passwordChecks, value ); } #ifdef CHECK_PWQUALITY else if ( key == "libpwquality" ) { - add_check_libpwquality( this, m_passwordChecks, value ); + add_check_libpwquality( m_passwordChecks, value ); } #endif else From 0b03d56a408919eccafe7ec575f9cdd4b42927f8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 7 Feb 2018 17:40:11 +0100 Subject: [PATCH 174/178] i18n: Massage code to help lupdate understand --- src/modules/license/LicensePage.h | 2 +- src/modules/partition/gui/ReplaceWidget.h | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/modules/license/LicensePage.h b/src/modules/license/LicensePage.h index bc47936cf..4f84b55be 100644 --- a/src/modules/license/LicensePage.h +++ b/src/modules/license/LicensePage.h @@ -31,7 +31,7 @@ class LicensePage; struct LicenseEntry { - enum Type : unsigned char + enum Type { Software = 0, Driver, diff --git a/src/modules/partition/gui/ReplaceWidget.h b/src/modules/partition/gui/ReplaceWidget.h index 467ad5f96..15015f120 100644 --- a/src/modules/partition/gui/ReplaceWidget.h +++ b/src/modules/partition/gui/ReplaceWidget.h @@ -20,6 +20,8 @@ #ifndef REPLACEWIDGET_H #define REPLACEWIDGET_H +#include "utils/CalamaresUtilsGui.h" + #include #include @@ -28,11 +30,6 @@ class QComboBox; class PartitionCoreModule; class Partition; -namespace CalamaresUtils -{ -enum ImageType : int; -} - class ReplaceWidget : public QWidget { Q_OBJECT From 719989c6d42a064e96f3671801cd0e06e550028b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Feb 2018 10:10:16 +0100 Subject: [PATCH 175/178] i18n: change commit messages generated by CI tc scripts --- ci/txpull.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/txpull.sh b/ci/txpull.sh index 53a0deaa4..ac80afb02 100755 --- a/ci/txpull.sh +++ b/ci/txpull.sh @@ -41,7 +41,7 @@ AUTHOR="--author='Calamares CI '" BOILERPLATE="Automatic merge of Transifex translations" git add --verbose lang/calamares*.ts -git commit "$AUTHOR" --message="[core] $BOILERPLATE" | true +git commit "$AUTHOR" --message="i18n: $BOILERPLATE" | true rm -f lang/desktop*.desktop awk ' @@ -72,7 +72,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do msgfmt -o ${POFILE%.po}.mo $POFILE done git add --verbose ${MODULE_DIR}/lang/* - git commit "$AUTHOR" --message="[${MODULE_NAME}] $BOILERPLATE" | true + git commit "$AUTHOR" --message="i18n: [${MODULE_NAME}] $BOILERPLATE" | true fi fi done @@ -82,6 +82,6 @@ for POFILE in $(find lang -name "python.po") ; do msgfmt -o ${POFILE%.po}.mo $POFILE done git add --verbose lang/python* -git commit "$AUTHOR" --message="[python] $BOILERPLATE" | true +git commit "$AUTHOR" --message="i18n: [python] $BOILERPLATE" | true # git push --set-upstream origin master From f49e0f6d927879f5b92932b56d167d0d22c1235e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Feb 2018 10:10:33 +0100 Subject: [PATCH 176/178] i18n: update extracted English message files --- lang/calamares_en.ts | 471 +++++++++++++----- lang/python.pot | 24 +- .../dummypythonqt/lang/dummypythonqt.pot | 18 +- 3 files changed, 377 insertions(+), 136 deletions(-) diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index cd753f547..febcf6724 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1,4 +1,6 @@ - + + + BootInfoWidget @@ -105,7 +107,7 @@ Calamares::JobThread - + Done Done @@ -170,80 +172,80 @@ - + &Cancel &Cancel - + Cancel installation without changing the system. Cancel installation without changing the system. - + Cancel installation? Cancel installation? - + Do you really want to cancel the current install process? The installer will quit and all changes will be lost. Do you really want to cancel the current install process? The installer will quit and all changes will be lost. - + &Yes &Yes - + &No &No - + &Close &Close - + Continue with setup? Continue with setup? - + The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong> - + &Install now &Install now - + Go &back Go &back - + &Done &Done - + The installation is complete. Close the installer. The installation is complete. Close the installer. - + Error Error - + Installation Failed Installation Failed @@ -251,101 +253,26 @@ The installer will quit and all changes will be lost. CalamaresPython::Helper - + Unknown exception type Unknown exception type - + unparseable Python error unparseable Python error - + unparseable Python traceback unparseable Python traceback - + Unfetchable Python error. Unfetchable Python error. - - CalamaresUtils::CommandList - - - Could not run command. - Could not run command. - - - - No rootMountPoint is defined, so command cannot be run in the target environment. - No rootMountPoint is defined, so command cannot be run in the target environment. - - - - CalamaresUtils::ProcessResult - - - -Output: - - -Output: - - - - - External command crashed. - External command crashed. - - - - Command <i>%1</i> crashed. - Command <i>%1</i> crashed. - - - - External command failed to start. - External command failed to start. - - - - Command <i>%1</i> failed to start. - Command <i>%1</i> failed to start. - - - - Internal error when starting command. - Internal error when starting command. - - - - Bad parameters for process job call. - Bad parameters for process job call. - - - - External command failed to finish. - External command failed to finish. - - - - Command <i>%1</i> failed to finish in %2 seconds. - Command <i>%1</i> failed to finish in %2 seconds. - - - - External command finished with errors. - External command finished with errors. - - - - Command <i>%1</i> finished with exit code %2. - Command <i>%1</i> finished with exit code %2. - - CalamaresWindow @@ -543,6 +470,19 @@ Output: Cleared all temporary mounts. + + CommandList + + + Could not run command. + Could not run command. + + + + No rootMountPoint is defined, so command cannot be run in the target environment. + No rootMountPoint is defined, so command cannot be run in the target environment. + + ContextualProcessJob @@ -1286,6 +1226,249 @@ Output: Package selection + + PWQ + + + Password is too short + Password is too short + + + + Password is too long + Password is too long + + + + Password is too weak + + + + + Memory allocation error when setting '%1' + + + + + Memory allocation error + + + + + The password is the same as the old one + + + + + The password is a palindrome + + + + + The password differs with case changes only + + + + + The password is too similar to the old one + + + + + The password contains the user name in some form + + + + + The password contains words from the real name of the user in some form + + + + + The password contains forbidden words in some form + + + + + The password contains less than %1 digits + + + + + The password contains too few digits + + + + + The password contains less than %1 uppercase letters + + + + + The password contains too few uppercase letters + + + + + The password contains less than %1 lowercase letters + + + + + The password contains too few lowercase letters + + + + + The password contains less than %1 non-alphanumeric characters + + + + + The password contains too few non-alphanumeric characters + + + + + The password is shorter than %1 characters + + + + + The password is too short + + + + + The password is just rotated old one + + + + + The password contains less than %1 character classes + + + + + The password does not contain enough character classes + + + + + The password contains more than %1 same characters consecutively + + + + + The password contains too many same characters consecutively + + + + + The password contains more than %1 characters of the same class consecutively + + + + + The password contains too many characters of the same class consecutively + + + + + The password contains monotonic sequence longer than %1 characters + + + + + The password contains too long of a monotonic character sequence + + + + + No password supplied + + + + + Cannot obtain random numbers from the RNG device + + + + + Password generation failed - required entropy too low for settings + + + + + The password fails the dictionary check - %1 + + + + + The password fails the dictionary check + + + + + Unknown setting - %1 + + + + + Unknown setting + + + + + Bad integer value of setting - %1 + + + + + Bad integer value + + + + + Setting %1 is not of integer type + + + + + Setting is not of integer type + + + + + Setting %1 is not of string type + + + + + Setting is not of string type + + + + + Opening the configuration file failed + + + + + The configuration file is malformed + + + + + Fatal failure + + + + + Unknown error + + + Page_Keyboard @@ -1638,6 +1821,74 @@ Output: Look-and-Feel + + ProcessResult + + + +There was no output from the command. + + + + + +Output: + + +Output: + + + + + External command crashed. + External command crashed. + + + + Command <i>%1</i> crashed. + Command <i>%1</i> crashed. + + + + External command failed to start. + External command failed to start. + + + + Command <i>%1</i> failed to start. + Command <i>%1</i> failed to start. + + + + Internal error when starting command. + Internal error when starting command. + + + + Bad parameters for process job call. + Bad parameters for process job call. + + + + External command failed to finish. + External command failed to finish. + + + + Command <i>%1</i> failed to finish in %2 seconds. + Command <i>%1</i> failed to finish in %2 seconds. + + + + External command finished with errors. + External command finished with errors. + + + + Command <i>%1</i> finished with exit code %2. + Command <i>%1</i> finished with exit code %2. + + QObject @@ -2073,7 +2324,7 @@ Output: ShellProcessJob - + Shell Processes Job Shell Processes Job @@ -2214,46 +2465,36 @@ Output: UsersPage - + Your username is too long. Your username is too long. - + Your username contains invalid characters. Only lowercase letters and numbers are allowed. Your username contains invalid characters. Only lowercase letters and numbers are allowed. - + Your hostname is too short. Your hostname is too short. - + Your hostname is too long. Your hostname is too long. - + Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. Your hostname contains invalid characters. Only letters, numbers and dashes are allowed. - - + + Your passwords do not match! Your passwords do not match! - - - Password is too short - Password is too short - - - - Password is too long - Password is too long - UsersViewStep @@ -2329,4 +2570,4 @@ Output: Welcome - \ No newline at end of file + diff --git a/lang/python.pot b/lang/python.pot index f2742cc0e..24799176e 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -2,53 +2,53 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-17 19:16+0100\n" +"POT-Creation-Date: 2018-02-07 18:58+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "Dummy python job." +msgstr "" #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "Dummy python step {}" +msgstr "" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." -msgstr "Generate machine-id." +msgstr "" #: src/modules/packages/main.py:60 #, python-format msgid "Processing packages (%(count)d / %(total)d)" -msgstr "Processing packages (%(count)d / %(total)d)" +msgstr "" #: src/modules/packages/main.py:62 src/modules/packages/main.py:72 msgid "Install packages." -msgstr "Install packages." +msgstr "" #: src/modules/packages/main.py:65 #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] "Installing one package." -msgstr[1] "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" #: src/modules/packages/main.py:68 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] "Removing one package." -msgstr[1] "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot index fa45ba91d..8f050cecb 100644 --- a/src/modules/dummypythonqt/lang/dummypythonqt.pot +++ b/src/modules/dummypythonqt/lang/dummypythonqt.pot @@ -2,41 +2,41 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-21 16:44+0100\n" +"POT-Creation-Date: 2018-02-07 18:58+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" -msgstr "Click me!" +msgstr "" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "A new QLabel." +msgstr "" #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "Dummy PythonQt ViewStep" +msgstr "" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "The Dummy PythonQt Job" +msgstr "" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "This is the Dummy PythonQt Job. The dummy job says: {}" +msgstr "" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." -msgstr "A status message for Dummy PythonQt Job." +msgstr "" From 874514a4e48589933798fa69461f96de914c218c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 8 Feb 2018 10:33:40 +0100 Subject: [PATCH 177/178] i18n: drop orphaned #undefs (thanks Kevin Kofler) --- src/libcalamares/utils/CalamaresUtilsSystem.cpp | 1 - src/modules/users/CheckPWQuality.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 467938d38..ff5aac874 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -291,7 +291,6 @@ ProcessResult::explainProcess( int ec, const QString& command, const QString& ou .arg( command ) .arg( ec ) + outputMessage ); -#undef trIndirect } } // namespace diff --git a/src/modules/users/CheckPWQuality.cpp b/src/modules/users/CheckPWQuality.cpp index e3956670c..7e8cbe402 100644 --- a/src/modules/users/CheckPWQuality.cpp +++ b/src/modules/users/CheckPWQuality.cpp @@ -271,7 +271,7 @@ public: return QCoreApplication::translate( "PWQ", "Unknown error" ); } } -#undef tr + private: pwquality_settings_t* m_settings; int m_rv; From 6693f8137593ff9832f2a60340b7d499ce8af061 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 12 Feb 2018 10:24:33 +0100 Subject: [PATCH 178/178] [plasmalnf] Document configuration - Improve documentation, explain necessity of theme: and image: keys - Scale screenshot up with font size (numbers picked arbitrarily) --- src/modules/plasmalnf/ThemeWidget.cpp | 9 ++++++--- src/modules/plasmalnf/plasmalnf.conf | 14 +++++++++++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/modules/plasmalnf/ThemeWidget.cpp b/src/modules/plasmalnf/ThemeWidget.cpp index c618a4947..b3f6d161e 100644 --- a/src/modules/plasmalnf/ThemeWidget.cpp +++ b/src/modules/plasmalnf/ThemeWidget.cpp @@ -1,6 +1,6 @@ /* === This file is part of Calamares - === * - * Copyright 2017, Adriaan de Groot + * Copyright 2017-2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,6 +20,7 @@ #include "ThemeInfo.h" +#include "utils/CalamaresUtilsGui.h" #include "utils/Logger.h" #include @@ -28,16 +29,18 @@ ThemeWidget::ThemeWidget(const ThemeInfo& info, QWidget* parent) : QWidget( parent ) + , m_id( info.id ) , m_check( new QRadioButton( info.name.isEmpty() ? info.id : info.name, parent ) ) , m_description( new QLabel( info.description, parent ) ) - , m_id( info.id ) { QHBoxLayout* layout = new QHBoxLayout( this ); this->setLayout( layout ); layout->addWidget( m_check, 1 ); - constexpr QSize image_size{120, 80}; + const QSize image_size{ + qMax(12 * CalamaresUtils::defaultFontHeight(), 120), + qMax(8 * CalamaresUtils::defaultFontHeight(), 80) }; QPixmap image( info.imagePath ); if ( info.imagePath.isEmpty() ) diff --git a/src/modules/plasmalnf/plasmalnf.conf b/src/modules/plasmalnf/plasmalnf.conf index 8f395338c..e1021015b 100644 --- a/src/modules/plasmalnf/plasmalnf.conf +++ b/src/modules/plasmalnf/plasmalnf.conf @@ -28,8 +28,20 @@ lnftool: "/usr/bin/lookandfeeltool" # # Themes may be listed by id, (e.g. fluffy-bunny, below) or as a theme # and an image (e.g. breeze) which will be used to show a screenshot. -# Themes with no image get a "missing screenshot" image; if the +# Themes with no image set at all get a "missing screenshot" image; if the # image file is not found, they get a color swatch based on the image name. +# +# Valid forms of entries in the *themes* key: +# - A single string (unquoted), which is the theme id +# - A pair of *theme* and *image* keys, e.g. +# ``` +# - theme: fluffy-bunny.desktop +# image: "fluffy-screenshot.png" +# ``` +# +# The image screenshot is resized to 12x8 the current font size, with +# a minimum of 120x80 pixels. This allows the screenshot to scale up +# on HiDPI displays where the fonts are larger (in pixels). themes: - org.kde.fuzzy-pig.desktop - theme: org.kde.breeze.desktop