Merge pull request #2260 from bitigchi/strings

Improve context
This commit is contained in:
Adriaan de Groot 2023-12-30 12:35:32 +01:00 committed by GitHub
commit a48a16646b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
47 changed files with 189 additions and 190 deletions

View File

@ -53,7 +53,7 @@ PartitionViewStep::PartitionViewStep( QObject* parent )
m_waitingWidget = new WaitingWidget( QString() ); m_waitingWidget = new WaitingWidget( QString() );
m_widget->addWidget( m_waitingWidget ); m_widget->addWidget( m_waitingWidget );
CALAMARES_RETRANSLATE( CALAMARES_RETRANSLATE(
if ( m_waitingWidget ) { m_waitingWidget->setText( tr( "Gathering system information..." ) ); } ); if ( m_waitingWidget ) { m_waitingWidget->setText( tr( "Gathering system information", "@status" ) ); } );
m_core = new PartitionCoreModule( this ); // Unusable before init is complete! m_core = new PartitionCoreModule( this ); // Unusable before init is complete!
// We're not done loading, but we need the configuration map first. // We're not done loading, but we need the configuration map first.
@ -104,7 +104,7 @@ PartitionViewStep::~PartitionViewStep()
QString QString
PartitionViewStep::prettyName() const PartitionViewStep::prettyName() const
{ {
return tr( "Partitions" ); return tr( "Partitions", "@label" );
} }
/** @brief Gather the pretty descriptions of all the partitioning jobs /** @brief Gather the pretty descriptions of all the partitioning jobs
@ -140,17 +140,17 @@ modeDescription( Config::InstallChoice choice )
switch ( choice ) switch ( choice )
{ {
case Config::InstallChoice::Alongside: case Config::InstallChoice::Alongside:
return QCoreApplication::translate( context, "Install %1 <strong>alongside</strong> another operating system." ) return QCoreApplication::translate( context, "Install %1 <strong>alongside</strong> another operating system", "@label" )
.arg( branding->shortVersionedName() ); .arg( branding->shortVersionedName() );
case Config::InstallChoice::Erase: case Config::InstallChoice::Erase:
return QCoreApplication::translate( context, "<strong>Erase</strong> disk and install %1." ) return QCoreApplication::translate( context, "<strong>Erase</strong> disk and install %1", "@label" )
.arg( branding->shortVersionedName() ); .arg( branding->shortVersionedName() );
case Config::InstallChoice::Replace: case Config::InstallChoice::Replace:
return QCoreApplication::translate( context, "<strong>Replace</strong> a partition with %1." ) return QCoreApplication::translate( context, "<strong>Replace</strong> a partition with %1", "@label" )
.arg( branding->shortVersionedName() ); .arg( branding->shortVersionedName() );
case Config::InstallChoice::NoChoice: case Config::InstallChoice::NoChoice:
case Config::InstallChoice::Manual: case Config::InstallChoice::Manual:
return QCoreApplication::translate( context, "<strong>Manual</strong> partitioning." ); return QCoreApplication::translate( context, "<strong>Manual</strong> partitioning", "@label" );
} }
return QString(); return QString();
} }
@ -176,26 +176,26 @@ diskDescription( int listLength, const PartitionCoreModule::SummaryInfo& info, C
return QCoreApplication::translate( return QCoreApplication::translate(
context, context,
"Install %1 <strong>alongside</strong> another operating system on disk " "Install %1 <strong>alongside</strong> another operating system on disk "
"<strong>%2</strong> (%3)." ) "<strong>%2</strong> (%3)", "@info" )
.arg( branding->shortVersionedName() ) .arg( branding->shortVersionedName() )
.arg( info.deviceNode ) .arg( info.deviceNode )
.arg( info.deviceName ); .arg( info.deviceName );
case Config::Erase: case Config::Erase:
return QCoreApplication::translate( context, return QCoreApplication::translate( context,
"<strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1." ) "<strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1", "@info" )
.arg( branding->shortVersionedName() ) .arg( branding->shortVersionedName() )
.arg( info.deviceNode ) .arg( info.deviceNode )
.arg( info.deviceName ); .arg( info.deviceName );
case Config::Replace: case Config::Replace:
return QCoreApplication::translate( return QCoreApplication::translate(
context, "<strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1." ) context, "<strong>Replace</strong> a partition on disk <strong>%2</strong> (%3) with %1", "@info" )
.arg( branding->shortVersionedName() ) .arg( branding->shortVersionedName() )
.arg( info.deviceNode ) .arg( info.deviceNode )
.arg( info.deviceName ); .arg( info.deviceName );
case Config::NoChoice: case Config::NoChoice:
case Config::Manual: case Config::Manual:
return QCoreApplication::translate( return QCoreApplication::translate(
context, "<strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2)." ) context, "<strong>Manual</strong> partitioning on disk <strong>%1</strong> (%2)", "@info" )
.arg( info.deviceNode ) .arg( info.deviceNode )
.arg( info.deviceName ); .arg( info.deviceName );
} }
@ -203,7 +203,7 @@ diskDescription( int listLength, const PartitionCoreModule::SummaryInfo& info, C
} }
else // multiple disk previews! else // multiple disk previews!
{ {
return QCoreApplication::translate( context, "Disk <strong>%1</strong> (%2)" ) return QCoreApplication::translate( context, "Disk <strong>%1</strong> (%2)", "@info" )
.arg( info.deviceNode ) .arg( info.deviceNode )
.arg( info.deviceName ); .arg( info.deviceName );
} }
@ -293,7 +293,7 @@ PartitionViewStep::createSummaryWidget() const
field->setSpacing( 6 ); field->setSpacing( 6 );
field->addWidget( preview ); field->addWidget( preview );
field->addWidget( previewLabels ); field->addWidget( previewLabels );
formLayout->addRow( tr( "Current:" ), field ); formLayout->addRow( tr( "Current:", "@label" ), field );
preview = new PartitionBarsView; preview = new PartitionBarsView;
preview->setNestedPartitionsMode( mode ); preview->setNestedPartitionsMode( mode );
@ -311,7 +311,7 @@ PartitionViewStep::createSummaryWidget() const
field->setSpacing( 6 ); field->setSpacing( 6 );
field->addWidget( preview ); field->addWidget( preview );
field->addWidget( previewLabels ); field->addWidget( previewLabels );
formLayout->addRow( tr( "After:" ), field ); formLayout->addRow( tr( "After:", "@label" ), field );
} }
const QStringList jobsLines = jobDescriptions( jobs() ); const QStringList jobsLines = jobDescriptions( jobs() );
if ( !jobsLines.isEmpty() ) if ( !jobsLines.isEmpty() )

View File

@ -57,7 +57,7 @@ BootLoaderModel::createMbrItems()
{ {
for ( auto device : m_devices ) for ( auto device : m_devices )
{ {
QString text = tr( "Master Boot Record of %1" ).arg( device->name() ); QString text = tr( "Master Boot Record of %1", "@info" ).arg( device->name() );
appendRow( createBootLoaderItem( text, device->deviceNode(), false ) ); appendRow( createBootLoaderItem( text, device->deviceNode(), false ) );
} }
} }
@ -90,14 +90,14 @@ BootLoaderModel::updateInternal()
Partition* partition = KPMHelpers::findPartitionByMountPoint( m_devices, "/boot" ); Partition* partition = KPMHelpers::findPartitionByMountPoint( m_devices, "/boot" );
if ( partition ) if ( partition )
{ {
partitionText = tr( "Boot Partition" ); partitionText = tr( "Boot Partition", "@info" );
} }
else else
{ {
partition = KPMHelpers::findPartitionByMountPoint( m_devices, "/" ); partition = KPMHelpers::findPartitionByMountPoint( m_devices, "/" );
if ( partition ) if ( partition )
{ {
partitionText = tr( "System Partition" ); partitionText = tr( "System Partition", "@info" );
} }
} }
@ -128,7 +128,7 @@ BootLoaderModel::updateInternal()
} }
// Create "don't install bootloader" item. This is always available, // Create "don't install bootloader" item. This is always available,
// also if there was no /boot or / partition found. // also if there was no /boot or / partition found.
appendRow( createBootLoaderItem( tr( "Do not install a boot loader" ), QString(), false ) ); appendRow( createBootLoaderItem( tr( "Do not install a boot loader", "@label" ), QString(), false ) );
} }

View File

@ -154,11 +154,11 @@ PartitionModel::data( const QModelIndex& index, int role ) const
{ {
if ( isPartitionFreeSpace( partition ) ) if ( isPartitionFreeSpace( partition ) )
{ {
return tr( "Free Space" ); return tr( "Free Space", "@title" );
} }
else else
{ {
return isPartitionNew( partition ) ? tr( "New partition" ) : partition->partitionPath(); return isPartitionNew( partition ) ? tr( "New Partition", "@title" ) : partition->partitionPath();
} }
} }
if ( col == FileSystemColumn ) if ( col == FileSystemColumn )
@ -198,11 +198,11 @@ PartitionModel::data( const QModelIndex& index, int role ) const
{ {
if ( isPartitionFreeSpace( partition ) ) if ( isPartitionFreeSpace( partition ) )
{ {
name = tr( "Free Space" ); name = tr( "Free Space", "@title );
} }
else else
{ {
name = isPartitionNew( partition ) ? tr( "New partition" ) : partition->partitionPath(); name = isPartitionNew( partition ) ? tr( "New Partition", "@title" ) : partition->partitionPath();
} }
} }
QString prettyFileSystem = Calamares::Partition::prettyNameForFileSystemType( partition->fileSystem().type() ); QString prettyFileSystem = Calamares::Partition::prettyNameForFileSystemType( partition->fileSystem().type() );
@ -304,15 +304,15 @@ PartitionModel::headerData( int section, Qt::Orientation, int role ) const
switch ( section ) switch ( section )
{ {
case NameColumn: case NameColumn:
return tr( "Name" ); return tr( "Name", "@title" );
case FileSystemColumn: case FileSystemColumn:
return tr( "File System" ); return tr( "File System", "@title" );
case FileSystemLabelColumn: case FileSystemLabelColumn:
return tr( "File System Label" ); return tr( "File System Label", "@title" );
case MountPointColumn: case MountPointColumn:
return tr( "Mount Point" ); return tr( "Mount Point", "@title" );
case SizeColumn: case SizeColumn:
return tr( "Size" ); return tr( "Size", "@title" );
default: default:
cDebug() << "Unknown column" << section; cDebug() << "Unknown column" << section;
return QVariant(); return QVariant();

View File

@ -134,9 +134,9 @@ void
ChoicePage::retranslate() ChoicePage::retranslate()
{ {
retranslateUi( this ); retranslateUi( this );
m_drivesLabel->setText( tr( "Select storage de&vice:" ) ); m_drivesLabel->setText( tr( "Select storage de&vice:", "@label" ) );
m_previewBeforeLabel->setText( tr( "Current:" ) ); m_previewBeforeLabel->setText( tr( "Current:", "@label" ) );
m_previewAfterLabel->setText( tr( "After:" ) ); m_previewAfterLabel->setText( tr( "After:", "@label" ) );
updateSwapChoicesTr(); updateSwapChoicesTr();
updateChoiceButtonsTr(); updateChoiceButtonsTr();
@ -893,7 +893,7 @@ ChoicePage::doReplaceSelectedPartition( const QModelIndex& current )
m_reuseHomeCheckBox->setVisible( !homePartitionPath->isEmpty() ); m_reuseHomeCheckBox->setVisible( !homePartitionPath->isEmpty() );
if ( !homePartitionPath->isEmpty() ) if ( !homePartitionPath->isEmpty() )
{ {
m_reuseHomeCheckBox->setText( tr( "Reuse %1 as home partition for %2." ) m_reuseHomeCheckBox->setText( tr( "Reuse %1 as home partition for %2", "@label" )
.arg( *homePartitionPath ) .arg( *homePartitionPath )
.arg( Calamares::Branding::instance()->shortProductName() ) ); .arg( Calamares::Branding::instance()->shortProductName() ) );
} }
@ -1031,7 +1031,7 @@ ChoicePage::updateActionChoicePreview( InstallChoice choice )
{ {
m_encryptWidget->show(); m_encryptWidget->show();
} }
m_previewBeforeLabel->setText( tr( "Current:" ) ); m_previewBeforeLabel->setText( tr( "Current:", "@label" ) );
m_selectLabel->setText( tr( "<strong>Select a partition to shrink, " m_selectLabel->setText( tr( "<strong>Select a partition to shrink, "
"then drag the bottom bar to resize</strong>" ) ); "then drag the bottom bar to resize</strong>" ) );
m_selectLabel->show(); m_selectLabel->show();
@ -1057,7 +1057,7 @@ ChoicePage::updateActionChoicePreview( InstallChoice choice )
Q_UNUSED( path ) Q_UNUSED( path )
sizeLabel->setText( sizeLabel->setText(
tr( "%1 will be shrunk to %2MiB and a new " tr( "%1 will be shrunk to %2MiB and a new "
"%3MiB partition will be created for %4." ) "%3MiB partition will be created for %4.", "@info, %1 is partition name, %4 is product name" )
.arg( m_beforePartitionBarsView->selectionModel()->currentIndex().data().toString() ) .arg( m_beforePartitionBarsView->selectionModel()->currentIndex().data().toString() )
.arg( Calamares::BytesToMiB( size ) ) .arg( Calamares::BytesToMiB( size ) )
.arg( Calamares::BytesToMiB( sizeNext ) ) .arg( Calamares::BytesToMiB( sizeNext ) )
@ -1082,7 +1082,7 @@ ChoicePage::updateActionChoicePreview( InstallChoice choice )
case InstallChoice::Replace: case InstallChoice::Replace:
{ {
m_encryptWidget->setVisible( shouldShowEncryptWidget( choice ) ); m_encryptWidget->setVisible( shouldShowEncryptWidget( choice ) );
m_previewBeforeLabel->setText( tr( "Current:" ) ); m_previewBeforeLabel->setText( tr( "Current:", "@label" ) );
m_afterPartitionBarsView = new PartitionBarsView( m_previewAfterFrame ); m_afterPartitionBarsView = new PartitionBarsView( m_previewAfterFrame );
m_afterPartitionBarsView->setNestedPartitionsMode( mode ); m_afterPartitionBarsView->setNestedPartitionsMode( mode );
m_afterPartitionLabelsView = new PartitionLabelsView( m_previewAfterFrame ); m_afterPartitionLabelsView = new PartitionLabelsView( m_previewAfterFrame );
@ -1126,7 +1126,7 @@ ChoicePage::updateActionChoicePreview( InstallChoice choice )
m_beforePartitionLabelsView->setSelectionFilter( filter ); m_beforePartitionLabelsView->setSelectionFilter( filter );
m_selectLabel->show(); m_selectLabel->show();
m_selectLabel->setText( tr( "<strong>Select a partition to install on</strong>" ) ); m_selectLabel->setText( tr( "<strong>Select a partition to install on</strong>", "@label" ) );
} }
break; break;
@ -1135,7 +1135,7 @@ ChoicePage::updateActionChoicePreview( InstallChoice choice )
case InstallChoice::Manual: case InstallChoice::Manual:
m_selectLabel->hide(); m_selectLabel->hide();
m_previewAfterFrame->hide(); m_previewAfterFrame->hide();
m_previewBeforeLabel->setText( tr( "Current:" ) ); m_previewBeforeLabel->setText( tr( "Current:", "@label" ) );
m_previewAfterLabel->hide(); m_previewAfterLabel->hide();
m_encryptWidget->hide(); m_encryptWidget->hide();
break; break;
@ -1188,21 +1188,21 @@ ChoicePage::setupEfiSystemPartitionSelector()
{ {
m_efiLabel->setText( tr( "An EFI system partition cannot be found anywhere " m_efiLabel->setText( tr( "An EFI system partition cannot be found anywhere "
"on this system. Please go back and use manual " "on this system. Please go back and use manual "
"partitioning to set up %1." ) "partitioning to set up %1.", "@info, %1 is product name" )
.arg( Calamares::Branding::instance()->shortProductName() ) ); .arg( Calamares::Branding::instance()->shortProductName() ) );
updateNextEnabled(); updateNextEnabled();
} }
else if ( efiSystemPartitions.count() == 1 ) //probably most usual situation else if ( efiSystemPartitions.count() == 1 ) //probably most usual situation
{ {
m_efiLabel->setText( tr( "The EFI system partition at %1 will be used for " m_efiLabel->setText( tr( "The EFI system partition at %1 will be used for "
"starting %2." ) "starting %2.", "@info, %1 is partition path, %2 is product name" )
.arg( efiSystemPartitions.first()->partitionPath() ) .arg( efiSystemPartitions.first()->partitionPath() )
.arg( Calamares::Branding::instance()->shortProductName() ) ); .arg( Calamares::Branding::instance()->shortProductName() ) );
} }
else else
{ {
m_efiComboBox->show(); m_efiComboBox->show();
m_efiLabel->setText( tr( "EFI system partition:" ) ); m_efiLabel->setText( tr( "EFI system partition:", "@label" ) );
for ( int i = 0; i < efiSystemPartitions.count(); ++i ) for ( int i = 0; i < efiSystemPartitions.count(); ++i )
{ {
Partition* efiPartition = efiSystemPartitions.at( i ); Partition* efiPartition = efiSystemPartitions.at( i );
@ -1505,12 +1505,12 @@ ChoicePage::setupActions()
{ {
if ( atLeastOneIsMounted ) if ( atLeastOneIsMounted )
{ {
m_messageLabel->setText( tr( "This storage device has one of its partitions <strong>mounted</strong>." ) ); m_messageLabel->setText( tr( "This storage device has one of its partitions <strong>mounted</strong>.", "@info" ) );
} }
else else
{ {
m_messageLabel->setText( m_messageLabel->setText(
tr( "This storage device is a part of an <strong>inactive RAID</strong> device." ) ); tr( "This storage device is a part of an <strong>inactive RAID</strong> device.", "@info" ) );
} }
m_messageLabel->show(); m_messageLabel->show();
@ -1625,7 +1625,7 @@ ChoicePage::updateSwapChoicesTr()
// toInt() returns 0 on failure, so check for ok // toInt() returns 0 on failure, so check for ok
if ( ok ) // It was explicitly set to 0 if ( ok ) // It was explicitly set to 0
{ {
m_eraseSwapChoiceComboBox->setItemText( index, tr( "No Swap" ) ); m_eraseSwapChoiceComboBox->setItemText( index, tr( "No swap", "@label" ) );
} }
else else
{ {
@ -1634,16 +1634,16 @@ ChoicePage::updateSwapChoicesTr()
} }
break; break;
case SwapChoice::ReuseSwap: case SwapChoice::ReuseSwap:
m_eraseSwapChoiceComboBox->setItemText( index, tr( "Reuse Swap" ) ); m_eraseSwapChoiceComboBox->setItemText( index, tr( "Reuse swap", "@label" ) );
break; break;
case SwapChoice::SmallSwap: case SwapChoice::SmallSwap:
m_eraseSwapChoiceComboBox->setItemText( index, tr( "Swap (no Hibernate)" ) ); m_eraseSwapChoiceComboBox->setItemText( index, tr( "Swap (no Hibernate)", "@label" ) );
break; break;
case SwapChoice::FullSwap: case SwapChoice::FullSwap:
m_eraseSwapChoiceComboBox->setItemText( index, tr( "Swap (with Hibernate)" ) ); m_eraseSwapChoiceComboBox->setItemText( index, tr( "Swap (with Hibernate)", "@label" ) );
break; break;
case SwapChoice::SwapFile: case SwapChoice::SwapFile:
m_eraseSwapChoiceComboBox->setItemText( index, tr( "Swap to file" ) ); m_eraseSwapChoiceComboBox->setItemText( index, tr( "Swap to file", "@label" ) );
break; break;
default: default:
cWarning() << "Box item" << index << m_eraseSwapChoiceComboBox->itemText( index ) << "has role" << value; cWarning() << "Box item" << index << m_eraseSwapChoiceComboBox->itemText( index ) << "has role" << value;
@ -1684,7 +1684,7 @@ ChoicePage::createBootloaderPanel()
mainLayout->setContentsMargins( 0, 0, 0, 0 ); mainLayout->setContentsMargins( 0, 0, 0, 0 );
QLabel* widgetLabel = new QLabel( panelWidget ); QLabel* widgetLabel = new QLabel( panelWidget );
mainLayout->addWidget( widgetLabel ); mainLayout->addWidget( widgetLabel );
widgetLabel->setText( tr( "Boot loader location:" ) ); widgetLabel->setText( tr( "Bootloader location:", "@label" ) );
QComboBox* comboForBootloader = new QComboBox( panelWidget ); QComboBox* comboForBootloader = new QComboBox( panelWidget );
comboForBootloader->setModel( m_core->bootLoaderModel() ); comboForBootloader->setModel( m_core->bootLoaderModel() );

View File

@ -64,7 +64,7 @@ CreatePartitionDialog::CreatePartitionDialog( Device* device,
, m_usedMountPoints( usedMountPoints ) , m_usedMountPoints( usedMountPoints )
{ {
m_ui->setupUi( this ); m_ui->setupUi( this );
m_ui->encryptWidget->setText( tr( "En&crypt" ) ); m_ui->encryptWidget->setText( tr( "En&crypt", "@action" ) );
m_ui->encryptWidget->hide(); m_ui->encryptWidget->hide();
if ( m_device->type() != Device::Type::LVM_Device ) if ( m_device->type() != Device::Type::LVM_Device )
@ -192,12 +192,12 @@ CreatePartitionDialog::initMbrPartitionTypeUi()
if ( !parentIsPartitionTable ) if ( !parentIsPartitionTable )
{ {
m_role = PartitionRole( PartitionRole::Logical ); m_role = PartitionRole( PartitionRole::Logical );
fixedPartitionString = tr( "Logical" ); fixedPartitionString = tr( "Logical", "@label" );
} }
else if ( m_device->partitionTable()->hasExtended() ) else if ( m_device->partitionTable()->hasExtended() )
{ {
m_role = PartitionRole( PartitionRole::Primary ); m_role = PartitionRole( PartitionRole::Primary );
fixedPartitionString = tr( "Primary" ); fixedPartitionString = tr( "Primary", "@label" );
} }
if ( fixedPartitionString.isEmpty() ) if ( fixedPartitionString.isEmpty() )
@ -216,7 +216,7 @@ void
CreatePartitionDialog::initGptPartitionTypeUi() CreatePartitionDialog::initGptPartitionTypeUi()
{ {
m_role = PartitionRole( PartitionRole::Primary ); m_role = PartitionRole( PartitionRole::Primary );
m_ui->fixedPartitionLabel->setText( tr( "GPT" ) ); m_ui->fixedPartitionLabel->setText( tr( "GPT", "@label" ) );
m_ui->primaryRadioButton->hide(); m_ui->primaryRadioButton->hide();
m_ui->extendedRadioButton->hide(); m_ui->extendedRadioButton->hide();
} }

View File

@ -25,7 +25,7 @@ CreateVolumeGroupDialog::CreateVolumeGroupDialog( QString& vgName,
, m_selectedPVs( selectedPVs ) , m_selectedPVs( selectedPVs )
, m_peSize( pSize ) , m_peSize( pSize )
{ {
setWindowTitle( tr( "Create Volume Group" ) ); setWindowTitle( tr( "Create Volume Group", "@title" ) );
peSize()->setValue( pSize ); peSize()->setValue( pSize );

View File

@ -150,12 +150,12 @@ EncryptWidget::updateState( const bool notify )
if ( p1.isEmpty() && p2.isEmpty() ) if ( p1.isEmpty() && p2.isEmpty() )
{ {
applyPixmap( m_ui->m_iconLabel, Calamares::StatusWarning ); applyPixmap( m_ui->m_iconLabel, Calamares::StatusWarning );
m_ui->m_iconLabel->setToolTip( tr( "Please enter the same passphrase in both boxes." ) ); m_ui->m_iconLabel->setToolTip( tr( "Please enter the same passphrase in both boxes.", "@tooltip" ) );
} }
else if ( m_filesystem == FileSystem::Zfs && p1.length() < ZFS_MIN_LENGTH ) else if ( m_filesystem == FileSystem::Zfs && p1.length() < ZFS_MIN_LENGTH )
{ {
applyPixmap( m_ui->m_iconLabel, Calamares::StatusError ); applyPixmap( m_ui->m_iconLabel, Calamares::StatusError );
m_ui->m_iconLabel->setToolTip( tr( "Password must be a minimum of %1 characters" ).arg( ZFS_MIN_LENGTH ) ); m_ui->m_iconLabel->setToolTip( tr( "Password must be a minimum of %1 characters.", "@tooltip" ).arg( ZFS_MIN_LENGTH ) );
} }
else if ( p1 == p2 ) else if ( p1 == p2 )
{ {
@ -165,7 +165,7 @@ EncryptWidget::updateState( const bool notify )
else else
{ {
applyPixmap( m_ui->m_iconLabel, Calamares::StatusError ); applyPixmap( m_ui->m_iconLabel, Calamares::StatusError );
m_ui->m_iconLabel->setToolTip( tr( "Please enter the same passphrase in both boxes." ) ); m_ui->m_iconLabel->setToolTip( tr( "Please enter the same passphrase in both boxes.", "@tooltip" ) );
} }
} }

View File

@ -88,12 +88,12 @@ validateMountPoint( const QString& mountPoint, const QStringList& inUse, QLabel*
if ( inUse.contains( mountPoint ) ) if ( inUse.contains( mountPoint ) )
{ {
msg = CreatePartitionDialog::tr( "Mountpoint already in use. Please select another one." ); msg = CreatePartitionDialog::tr( "Mountpoint already in use. Please select another one.", "@info" );
ok = false; ok = false;
} }
else if ( !mountPoint.isEmpty() && !mountPoint.startsWith( '/' ) ) else if ( !mountPoint.isEmpty() && !mountPoint.startsWith( '/' ) )
{ {
msg = CreatePartitionDialog::tr( "Mountpoint must start with a <tt>/</tt>." ); msg = CreatePartitionDialog::tr( "Mountpoint must start with a <tt>/</tt>.", "@info" );
ok = false; ok = false;
} }

View File

@ -36,7 +36,7 @@ static const int CORNER_RADIUS = 2;
static QStringList static QStringList
buildUnknownDisklabelTexts( Device* dev ) buildUnknownDisklabelTexts( Device* dev )
{ {
QStringList texts = { QObject::tr( "Unpartitioned space or unknown partition table" ), QStringList texts = { QObject::tr( "Unpartitioned space or unknown partition table", "@info" ),
formatByteSize( dev->totalLogical() * dev->logicalSize() ) }; formatByteSize( dev->totalLogical() * dev->logicalSize() ) };
return texts; return texts;
} }
@ -179,28 +179,28 @@ PartitionLabelsView::buildTexts( const QModelIndex& index ) const
} }
else if ( mountPoint == "/home" ) else if ( mountPoint == "/home" )
{ {
firstLine = tr( "Home" ); firstLine = tr( "Home", "@label" );
} }
else if ( mountPoint == "/boot" ) else if ( mountPoint == "/boot" )
{ {
firstLine = tr( "Boot" ); firstLine = tr( "Boot", "@label" );
} }
else if ( mountPoint.contains( "/efi" ) else if ( mountPoint.contains( "/efi" )
&& index.data( PartitionModel::FileSystemTypeRole ).toInt() == FileSystem::Fat32 ) && index.data( PartitionModel::FileSystemTypeRole ).toInt() == FileSystem::Fat32 )
{ {
firstLine = tr( "EFI system" ); firstLine = tr( "EFI system", "@label" );
} }
else if ( index.data( PartitionModel::FileSystemTypeRole ).toInt() == FileSystem::LinuxSwap ) else if ( index.data( PartitionModel::FileSystemTypeRole ).toInt() == FileSystem::LinuxSwap )
{ {
firstLine = tr( "Swap" ); firstLine = tr( "Swap", "@label" );
} }
else if ( !mountPoint.isEmpty() ) else if ( !mountPoint.isEmpty() )
{ {
firstLine = tr( "New partition for %1" ).arg( mountPoint ); firstLine = tr( "New partition for %1", "@label" ).arg( mountPoint );
} }
else else
{ {
firstLine = tr( "New partition" ); firstLine = tr( "New partition", "@label" );
} }
} }
} }

View File

@ -27,7 +27,7 @@ ResizeVolumeGroupDialog::ResizeVolumeGroupDialog( LvmDevice* device,
: VolumeGroupBaseDialog( device->name(), device->physicalVolumes(), parent ) : VolumeGroupBaseDialog( device->name(), device->physicalVolumes(), parent )
, m_selectedPVs( selectedPVs ) , m_selectedPVs( selectedPVs )
{ {
setWindowTitle( tr( "Resize Volume Group" ) ); setWindowTitle( tr( "Resize Volume Group", "@title" ) );
for ( int i = 0; i < pvList()->count(); i++ ) for ( int i = 0; i < pvList()->count(); i++ )
{ {

View File

@ -65,7 +65,7 @@ ScanningDialog::run( const QFuture< void >& future,
void void
ScanningDialog::run( const QFuture< void >& future, const std::function< void() >& callback, QWidget* parent ) ScanningDialog::run( const QFuture< void >& future, const std::function< void() >& callback, QWidget* parent )
{ {
ScanningDialog::run( future, tr( "Scanning storage devices..." ), tr( "Partitioning" ), callback, parent ); ScanningDialog::run( future, tr( "Scanning storage devices", "@status" ), tr( "Partitioning", "@status" ), callback, parent );
} }
void void

View File

@ -19,7 +19,7 @@ AutoMountManagementJob::AutoMountManagementJob( bool disable )
QString QString
AutoMountManagementJob::prettyName() const AutoMountManagementJob::prettyName() const
{ {
return tr( "Manage auto-mount settings" ); return tr( "Managing auto-mount settings…", "@status" );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -31,15 +31,14 @@ ChangeFilesystemLabelJob::ChangeFilesystemLabelJob( Device* device, Partition* p
QString QString
ChangeFilesystemLabelJob::prettyName() const ChangeFilesystemLabelJob::prettyName() const
{ {
return tr( "Set filesystem label on %1." ).arg( partition()->partitionPath() ); return tr( "Setting filesystem label on %1…", "@status" ).arg( partition()->partitionPath() );
} }
QString QString
ChangeFilesystemLabelJob::prettyDescription() const ChangeFilesystemLabelJob::prettyDescription() const
{ {
return tr( "Set filesystem label <strong>%1</strong> to partition " return tr( "Setting filesystem label <strong>%1</strong> to partition <strong>%2</strong>…", "@status" )
"<strong>%2</strong>." )
.arg( m_label ) .arg( m_label )
.arg( partition()->partitionPath() ); .arg( partition()->partitionPath() );
} }
@ -68,7 +67,7 @@ ChangeFilesystemLabelJob::exec()
return Calamares::JobResult::ok(); return Calamares::JobResult::ok();
} }
return Calamares::JobResult::error( return Calamares::JobResult::error(
tr( "The installer failed to update partition table on disk '%1'." ).arg( m_device->name() ) ); tr( "The installer failed to update partition table on disk '%1'.", "@info" ).arg( m_device->name() ) );
} }
Report report( nullptr ); Report report( nullptr );
@ -80,5 +79,5 @@ ChangeFilesystemLabelJob::exec()
return Calamares::JobResult::ok(); return Calamares::JobResult::ok();
} }
return Calamares::JobResult::error( return Calamares::JobResult::error(
tr( "The installer failed to update partition table on disk '%1'." ).arg( m_device->name() ), report.toText() ); tr( "The installer failed to update partition table on disk '%1'.", "@info" ).arg( m_device->name() ), report.toText() );
} }

View File

@ -302,7 +302,7 @@ tryClearSwap( const QString& partPath )
return {}; return {};
} }
return { QT_TRANSLATE_NOOP( "ClearMountsJob", "Successfully cleared swap %1." ), partPath }; return { QT_TRANSLATE_NOOP( "ClearMountsJob", "Successfully cleared swap %1.", "@info" ), partPath };
} }
///@brief Returns a debug-string if @p mapperPath could be closed ///@brief Returns a debug-string if @p mapperPath could be closed
@ -316,7 +316,7 @@ tryCryptoClose( const QString& mapperPath )
process.waitForFinished(); process.waitForFinished();
if ( process.exitCode() == 0 ) if ( process.exitCode() == 0 )
{ {
return { QT_TRANSLATE_NOOP( "ClearMountsJob", "Successfully closed mapper device %1." ), mapperPath }; return { QT_TRANSLATE_NOOP( "ClearMountsJob", "Successfully closed mapper device %1.", "@info" ), mapperPath };
} }
return {}; return {};
@ -329,7 +329,7 @@ tryVGDisable( const QString& vgName )
vgProcess.start( "vgchange", { "-an", vgName } ); vgProcess.start( "vgchange", { "-an", vgName } );
vgProcess.waitForFinished(); vgProcess.waitForFinished();
return ( vgProcess.exitCode() == 0 ) return ( vgProcess.exitCode() == 0 )
? MessageAndPath { QT_TRANSLATE_NOOP( "ClearMountsJob", "Successfully disabled volume group %1." ), vgName } ? MessageAndPath { QT_TRANSLATE_NOOP( "ClearMountsJob", "Successfully disabled volume group %1.", "@info" ), vgName }
: MessageAndPath {}; : MessageAndPath {};
} }
@ -368,13 +368,13 @@ ClearMountsJob::ClearMountsJob( Device* device )
QString QString
ClearMountsJob::prettyName() const ClearMountsJob::prettyName() const
{ {
return tr( "Clear mounts for partitioning operations on %1" ).arg( m_deviceNode ); return tr( "Clearing mounts for partitioning operations on %1", "@status" ).arg( m_deviceNode );
} }
QString QString
ClearMountsJob::prettyStatusMessage() const ClearMountsJob::prettyStatusMessage() const
{ {
return tr( "Clearing mounts for partitioning operations on %1." ).arg( m_deviceNode ); return tr( "Clearing mounts for partitioning operations on %1", "@status" ).arg( m_deviceNode );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -30,14 +30,14 @@ ClearTempMountsJob::ClearTempMountsJob()
QString QString
ClearTempMountsJob::prettyName() const ClearTempMountsJob::prettyName() const
{ {
return tr( "Clear all temporary mounts." ); return tr( "Clearing all temporary mounts…", "@status" );
} }
QString QString
ClearTempMountsJob::prettyStatusMessage() const ClearTempMountsJob::prettyStatusMessage() const
{ {
return tr( "Clearing all temporary mounts." ); return tr( "Clearing all temporary mounts", "@status" );
} }

View File

@ -178,7 +178,7 @@ CreatePartitionJob::prettyName() const
QString entries = prettyGptEntries( m_partition ); QString entries = prettyGptEntries( m_partition );
if ( !entries.isEmpty() ) if ( !entries.isEmpty() )
{ {
return tr( "Create new %1MiB partition on %3 (%2) with entries %4." ) return tr( "Creating new %1MiB partition on %3 (%2) with entries %4…", "@status" )
.arg( Calamares::BytesToMiB( m_partition->capacity() ) ) .arg( Calamares::BytesToMiB( m_partition->capacity() ) )
.arg( m_device->name() ) .arg( m_device->name() )
.arg( m_device->deviceNode() ) .arg( m_device->deviceNode() )
@ -186,14 +186,14 @@ CreatePartitionJob::prettyName() const
} }
else else
{ {
return tr( "Create new %1MiB partition on %3 (%2)." ) return tr( "Creating new %1MiB partition on %3 (%2)…", "@status" )
.arg( Calamares::BytesToMiB( m_partition->capacity() ) ) .arg( Calamares::BytesToMiB( m_partition->capacity() ) )
.arg( m_device->name() ) .arg( m_device->name() )
.arg( m_device->deviceNode() ); .arg( m_device->deviceNode() );
} }
} }
return tr( "Create new %2MiB partition on %4 (%3) with file system %1." ) return tr( "Creating new %2MiB partition on %4 (%3) with file system %1…" "@status" )
.arg( userVisibleFS( m_partition->fileSystem() ) ) .arg( userVisibleFS( m_partition->fileSystem() ) )
.arg( Calamares::BytesToMiB( m_partition->capacity() ) ) .arg( Calamares::BytesToMiB( m_partition->capacity() ) )
.arg( m_device->name() ) .arg( m_device->name() )
@ -209,8 +209,8 @@ CreatePartitionJob::prettyDescription() const
QString entries = prettyGptEntries( m_partition ); QString entries = prettyGptEntries( m_partition );
if ( !entries.isEmpty() ) if ( !entries.isEmpty() )
{ {
return tr( "Create new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2) with entries " return tr( "Creating new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2) with entries "
"<em>%4</em>." ) "<em>%4</em>", "@status" )
.arg( Calamares::BytesToMiB( m_partition->capacity() ) ) .arg( Calamares::BytesToMiB( m_partition->capacity() ) )
.arg( m_device->name() ) .arg( m_device->name() )
.arg( m_device->deviceNode() ) .arg( m_device->deviceNode() )
@ -218,15 +218,15 @@ CreatePartitionJob::prettyDescription() const
} }
else else
{ {
return tr( "Create new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2)." ) return tr( "Creating new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2)…", "@status" )
.arg( Calamares::BytesToMiB( m_partition->capacity() ) ) .arg( Calamares::BytesToMiB( m_partition->capacity() ) )
.arg( m_device->name() ) .arg( m_device->name() )
.arg( m_device->deviceNode() ); .arg( m_device->deviceNode() );
} }
} }
return tr( "Create new <strong>%2MiB</strong> partition on <strong>%4</strong> " return tr( "Creating new <strong>%2MiB</strong> partition on <strong>%4</strong> "
"(%3) with file system <strong>%1</strong>." ) "(%3) with file system <strong>%1</strong>", "@status" )
.arg( userVisibleFS( m_partition->fileSystem() ) ) .arg( userVisibleFS( m_partition->fileSystem() ) )
.arg( Calamares::BytesToMiB( m_partition->capacity() ) ) .arg( Calamares::BytesToMiB( m_partition->capacity() ) )
.arg( m_device->name() ) .arg( m_device->name() )
@ -249,10 +249,10 @@ CreatePartitionJob::prettyStatusMessage() const
type = userVisibleFS( m_partition->fileSystem() ); type = userVisibleFS( m_partition->fileSystem() );
} }
return tr( "Creating new %1 partition on %2." ).arg( type ).arg( m_device->deviceNode() ); return tr( "Creating new %1 partition on %2", "@status" ).arg( type ).arg( m_device->deviceNode() );
} }
return tr( "Creating new %1 partition on %2." ) return tr( "Creating new %1 partition on %2", "@status" )
.arg( userVisibleFS( m_partition->fileSystem() ) ) .arg( userVisibleFS( m_partition->fileSystem() ) )
.arg( m_device->deviceNode() ); .arg( m_device->deviceNode() );
} }
@ -269,7 +269,7 @@ CreatePartitionJob::exec()
return KPMHelpers::execute( return KPMHelpers::execute(
NewOperation( *m_device, m_partition ), NewOperation( *m_device, m_partition ),
tr( "The installer failed to create partition on disk '%1'." ).arg( m_device->name() ) ); tr( "The installer failed to create partition on disk '%1'.", "@info" ).arg( m_device->name() ) );
} }
void void

View File

@ -38,7 +38,7 @@ CreatePartitionTableJob::CreatePartitionTableJob( Device* device, PartitionTable
QString QString
CreatePartitionTableJob::prettyName() const CreatePartitionTableJob::prettyName() const
{ {
return tr( "Create new %1 partition table on %2." ) return tr( "Creating new %1 partition table on %2…", "@status" )
.arg( PartitionTable::tableTypeToName( m_type ) ) .arg( PartitionTable::tableTypeToName( m_type ) )
.arg( m_device->deviceNode() ); .arg( m_device->deviceNode() );
} }
@ -46,7 +46,7 @@ CreatePartitionTableJob::prettyName() const
QString QString
CreatePartitionTableJob::prettyDescription() const CreatePartitionTableJob::prettyDescription() const
{ {
return tr( "Create new <strong>%1</strong> partition table on <strong>%2</strong> (%3)." ) return tr( "Creating new <strong>%1</strong> partition table on <strong>%2</strong> (%3)…", "@status" )
.arg( PartitionTable::tableTypeToName( m_type ).toUpper() ) .arg( PartitionTable::tableTypeToName( m_type ).toUpper() )
.arg( m_device->deviceNode() ) .arg( m_device->deviceNode() )
.arg( m_device->name() ); .arg( m_device->name() );
@ -55,7 +55,7 @@ CreatePartitionTableJob::prettyDescription() const
QString QString
CreatePartitionTableJob::prettyStatusMessage() const CreatePartitionTableJob::prettyStatusMessage() const
{ {
return tr( "Creating new %1 partition table on %2." ) return tr( "Creating new %1 partition table on %2", "@status" )
.arg( PartitionTable::tableTypeToName( m_type ).toUpper() ) .arg( PartitionTable::tableTypeToName( m_type ).toUpper() )
.arg( m_device->deviceNode() ); .arg( m_device->deviceNode() );
} }

View File

@ -29,19 +29,19 @@ CreateVolumeGroupJob::CreateVolumeGroupJob( Device*,
QString QString
CreateVolumeGroupJob::prettyName() const CreateVolumeGroupJob::prettyName() const
{ {
return tr( "Create new volume group named %1." ).arg( m_vgName ); return tr( "Creating new volume group named %1…", "@status" ).arg( m_vgName );
} }
QString QString
CreateVolumeGroupJob::prettyDescription() const CreateVolumeGroupJob::prettyDescription() const
{ {
return tr( "Create new volume group named <strong>%1</strong>." ).arg( m_vgName ); return tr( "Creating new volume group named <strong>%1</strong>…", "@status" ).arg( m_vgName );
} }
QString QString
CreateVolumeGroupJob::prettyStatusMessage() const CreateVolumeGroupJob::prettyStatusMessage() const
{ {
return tr( "Creating new volume group named %1." ).arg( m_vgName ); return tr( "Creating new volume group named %1", "@status" ).arg( m_vgName );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -23,19 +23,19 @@ DeactivateVolumeGroupJob::DeactivateVolumeGroupJob( LvmDevice* device )
QString QString
DeactivateVolumeGroupJob::prettyName() const DeactivateVolumeGroupJob::prettyName() const
{ {
return tr( "Deactivate volume group named %1." ).arg( m_device->name() ); return tr( "Deactivating volume group named %1…", "@status" ).arg( m_device->name() );
} }
QString QString
DeactivateVolumeGroupJob::prettyDescription() const DeactivateVolumeGroupJob::prettyDescription() const
{ {
return tr( "Deactivate volume group named <strong>%1</strong>." ).arg( m_device->name() ); return tr( "Deactivating volume group named <strong>%1</strong>…", "@status" ).arg( m_device->name() );
} }
QString QString
DeactivateVolumeGroupJob::prettyStatusMessage() const DeactivateVolumeGroupJob::prettyStatusMessage() const
{ {
return tr( "Deactivate volume group named %1." ).arg( m_device->name() ); return tr( "Deactivating volume group named %1…", "@status" ).arg( m_device->name() );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -70,19 +70,19 @@ DeletePartitionJob::DeletePartitionJob( Device* device, Partition* partition )
QString QString
DeletePartitionJob::prettyName() const DeletePartitionJob::prettyName() const
{ {
return tr( "Delete partition %1." ).arg( m_partition->partitionPath() ); return tr( "Deleting partition %1…", "@status" ).arg( m_partition->partitionPath() );
} }
QString QString
DeletePartitionJob::prettyDescription() const DeletePartitionJob::prettyDescription() const
{ {
return tr( "Delete partition <strong>%1</strong>." ).arg( m_partition->partitionPath() ); return tr( "Deleting partition <strong>%1</strong>…", "@status" ).arg( m_partition->partitionPath() );
} }
QString QString
DeletePartitionJob::prettyStatusMessage() const DeletePartitionJob::prettyStatusMessage() const
{ {
return tr( "Deleting partition %1." ).arg( m_partition->partitionPath() ); return tr( "Deleting partition %1", "@status" ).arg( m_partition->partitionPath() );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -176,7 +176,7 @@ FillGlobalStorageJob::FillGlobalStorageJob( const Config*, QList< Device* > devi
QString QString
FillGlobalStorageJob::prettyName() const FillGlobalStorageJob::prettyName() const
{ {
return tr( "Set partition information" ); return tr( "Setting partition information", "@status" );
} }
@ -205,15 +205,15 @@ FillGlobalStorageJob::prettyDescription() const
{ {
if ( !features.isEmpty() ) if ( !features.isEmpty() )
{ {
lines.append( tr( "Install %1 on <strong>new</strong> %2 system partition " lines.append( tr( "Installing %1 on <strong>new</strong> %2 system partition "
"with features <em>%3</em>" ) "with features <em>%3</em>", "@status" )
.arg( Calamares::Branding::instance()->shortProductName() ) .arg( Calamares::Branding::instance()->shortProductName() )
.arg( fsType ) .arg( fsType )
.arg( features ) ); .arg( features ) );
} }
else else
{ {
lines.append( tr( "Install %1 on <strong>new</strong> %2 system partition." ) lines.append( tr( "Installing %1 on <strong>new</strong> %2 system partition", "@status" )
.arg( Calamares::Branding::instance()->shortProductName() ) .arg( Calamares::Branding::instance()->shortProductName() )
.arg( fsType ) ); .arg( fsType ) );
} }
@ -222,16 +222,16 @@ FillGlobalStorageJob::prettyDescription() const
{ {
if ( !features.isEmpty() ) if ( !features.isEmpty() )
{ {
lines.append( tr( "Set up <strong>new</strong> %2 partition with mount point " lines.append( tr( "Setting up <strong>new</strong> %2 partition with mount point "
"<strong>%1</strong> and features <em>%3</em>." ) "<strong>%1</strong> and features <em>%3</em>", "@status" )
.arg( mountPoint ) .arg( mountPoint )
.arg( fsType ) .arg( fsType )
.arg( features ) ); .arg( features ) );
} }
else else
{ {
lines.append( tr( "Set up <strong>new</strong> %2 partition with mount point " lines.append( tr( "Setting up <strong>new</strong> %2 partition with mount point "
"<strong>%1</strong>%3." ) "<strong>%1</strong>%3", "@status" )
.arg( mountPoint ) .arg( mountPoint )
.arg( fsType ) .arg( fsType )
.arg( features ) ); .arg( features ) );
@ -244,8 +244,8 @@ FillGlobalStorageJob::prettyDescription() const
{ {
if ( !features.isEmpty() ) if ( !features.isEmpty() )
{ {
lines.append( tr( "Install %2 on %3 system partition <strong>%1</strong>" lines.append( tr( "Installing %2 on %3 system partition <strong>%1</strong>"
" with features <em>%4</em>." ) " with features <em>%4</em>", "@status" )
.arg( path ) .arg( path )
.arg( Calamares::Branding::instance()->shortProductName() ) .arg( Calamares::Branding::instance()->shortProductName() )
.arg( fsType ) .arg( fsType )
@ -253,7 +253,7 @@ FillGlobalStorageJob::prettyDescription() const
} }
else else
{ {
lines.append( tr( "Install %2 on %3 system partition <strong>%1</strong>." ) lines.append( tr( "Installing %2 on %3 system partition <strong>%1</strong>", "@status" )
.arg( path ) .arg( path )
.arg( Calamares::Branding::instance()->shortProductName() ) .arg( Calamares::Branding::instance()->shortProductName() )
.arg( fsType ) ); .arg( fsType ) );
@ -263,8 +263,8 @@ FillGlobalStorageJob::prettyDescription() const
{ {
if ( !features.isEmpty() ) if ( !features.isEmpty() )
{ {
lines.append( tr( "Set up %3 partition <strong>%1</strong> with mount point " lines.append( tr( "Setting up %3 partition <strong>%1</strong> with mount point "
"<strong>%2</strong> and features <em>%4</em>." ) "<strong>%2</strong> and features <em>%4</em>", "@status" )
.arg( path ) .arg( path )
.arg( mountPoint ) .arg( mountPoint )
.arg( fsType ) .arg( fsType )
@ -272,8 +272,8 @@ FillGlobalStorageJob::prettyDescription() const
} }
else else
{ {
lines.append( tr( "Set up %3 partition <strong>%1</strong> with mount point " lines.append( tr( "Setting up %3 partition <strong>%1</strong> with mount point "
"<strong>%2</strong>%4." ) "<strong>%2</strong>%4", "@status" )
.arg( path ) .arg( path )
.arg( mountPoint ) .arg( mountPoint )
.arg( fsType ) .arg( fsType )
@ -287,7 +287,7 @@ FillGlobalStorageJob::prettyDescription() const
QVariant bootloaderMap = createBootLoaderMap(); QVariant bootloaderMap = createBootLoaderMap();
if ( !m_bootLoaderPath.isEmpty() ) if ( !m_bootLoaderPath.isEmpty() )
{ {
lines.append( tr( "Install boot loader on <strong>%1</strong>." ).arg( m_bootLoaderPath ) ); lines.append( tr( "Installing boot loader on <strong>%1</strong>…", "@status" ).arg( m_bootLoaderPath ) );
} }
return lines.join( "<br/>" ); return lines.join( "<br/>" );
} }
@ -296,7 +296,7 @@ FillGlobalStorageJob::prettyDescription() const
QString QString
FillGlobalStorageJob::prettyStatusMessage() const FillGlobalStorageJob::prettyStatusMessage() const
{ {
return tr( "Setting up mount points." ); return tr( "Setting up mount points", "@status" );
} }

View File

@ -36,7 +36,7 @@ FormatPartitionJob::FormatPartitionJob( Device* device, Partition* partition )
QString QString
FormatPartitionJob::prettyName() const FormatPartitionJob::prettyName() const
{ {
return tr( "Format partition %1 (file system: %2, size: %3 MiB) on %4." ) return tr( "Formatting partition %1 (file system: %2, size: %3 MiB) on %4", "@status" )
.arg( m_partition->partitionPath() ) .arg( m_partition->partitionPath() )
.arg( userVisibleFS( m_partition->fileSystem() ) ) .arg( userVisibleFS( m_partition->fileSystem() ) )
.arg( m_partition->capacity() / 1024 / 1024 ) .arg( m_partition->capacity() / 1024 / 1024 )
@ -46,8 +46,8 @@ FormatPartitionJob::prettyName() const
QString QString
FormatPartitionJob::prettyDescription() const FormatPartitionJob::prettyDescription() const
{ {
return tr( "Format <strong>%3MiB</strong> partition <strong>%1</strong> with " return tr( "Formatting <strong>%3MiB</strong> partition <strong>%1</strong> with "
"file system <strong>%2</strong>." ) "file system <strong>%2</strong>", "@status" )
.arg( m_partition->partitionPath() ) .arg( m_partition->partitionPath() )
.arg( userVisibleFS( m_partition->fileSystem() ) ) .arg( userVisibleFS( m_partition->fileSystem() ) )
.arg( m_partition->capacity() / 1024 / 1024 ); .arg( m_partition->capacity() / 1024 / 1024 );
@ -61,7 +61,7 @@ FormatPartitionJob::prettyStatusMessage() const
: tr( "%1 (%2)", "partition label %1 (device path %2)" ) : tr( "%1 (%2)", "partition label %1 (device path %2)" )
.arg( m_partition->label(), m_partition->partitionPath() ); .arg( m_partition->label(), m_partition->partitionPath() );
return tr( "Formatting partition %1 with " return tr( "Formatting partition %1 with "
"file system %2." ) "file system %2", "@status" )
.arg( partitionLabel, userVisibleFS( m_partition->fileSystem() ) ); .arg( partitionLabel, userVisibleFS( m_partition->fileSystem() ) );
} }

View File

@ -23,19 +23,19 @@ RemoveVolumeGroupJob::RemoveVolumeGroupJob( Device*, LvmDevice* device )
QString QString
RemoveVolumeGroupJob::prettyName() const RemoveVolumeGroupJob::prettyName() const
{ {
return tr( "Remove Volume Group named %1." ).arg( m_device->name() ); return tr( "Removing Volume Group named %1…", "@status" ).arg( m_device->name() );
} }
QString QString
RemoveVolumeGroupJob::prettyDescription() const RemoveVolumeGroupJob::prettyDescription() const
{ {
return tr( "Remove Volume Group named <strong>%1</strong>." ).arg( m_device->name() ); return tr( "Removing Volume Group named <strong>%1</strong>…", "@status" ).arg( m_device->name() );
} }
QString QString
RemoveVolumeGroupJob::prettyStatusMessage() const RemoveVolumeGroupJob::prettyStatusMessage() const
{ {
return tr( "Remove Volume Group named %1." ).arg( m_device->name() ); return tr( "Removing Volume Group named %1…", "@status" ).arg( m_device->name() );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -38,14 +38,14 @@ ResizePartitionJob::prettyName() const
{ {
// FIXME: Copy PM ResizeOperation code which generates a description of the // FIXME: Copy PM ResizeOperation code which generates a description of the
// operation // operation
return tr( "Resize partition %1." ).arg( partition()->partitionPath() ); return tr( "Resizing partition %1…", "@status" ).arg( partition()->partitionPath() );
} }
QString QString
ResizePartitionJob::prettyDescription() const ResizePartitionJob::prettyDescription() const
{ {
return tr( "Resize <strong>%2MiB</strong> partition <strong>%1</strong> to " return tr( "Resizing <strong>%2MiB</strong> partition <strong>%1</strong> to "
"<strong>%3MiB</strong>." ) "<strong>%3MiB</strong>", "@status" )
.arg( partition()->partitionPath() ) .arg( partition()->partitionPath() )
.arg( ( BytesToMiB( m_oldLastSector - m_oldFirstSector + 1 ) * partition()->sectorSize() ) ) .arg( ( BytesToMiB( m_oldLastSector - m_oldFirstSector + 1 ) * partition()->sectorSize() ) )
.arg( ( BytesToMiB( m_newLastSector - m_newFirstSector + 1 ) * partition()->sectorSize() ) ); .arg( ( BytesToMiB( m_newLastSector - m_newFirstSector + 1 ) * partition()->sectorSize() ) );
@ -55,7 +55,7 @@ QString
ResizePartitionJob::prettyStatusMessage() const ResizePartitionJob::prettyStatusMessage() const
{ {
return tr( "Resizing %2MiB partition %1 to " return tr( "Resizing %2MiB partition %1 to "
"%3MiB." ) "%3MiB", "@status" )
.arg( partition()->partitionPath() ) .arg( partition()->partitionPath() )
.arg( ( BytesToMiB( m_oldLastSector - m_oldFirstSector + 1 ) * partition()->sectorSize() ) ) .arg( ( BytesToMiB( m_oldLastSector - m_oldFirstSector + 1 ) * partition()->sectorSize() ) )
.arg( ( BytesToMiB( m_newLastSector - m_newFirstSector + 1 ) * partition()->sectorSize() ) ); .arg( ( BytesToMiB( m_newLastSector - m_newFirstSector + 1 ) * partition()->sectorSize() ) );

View File

@ -25,7 +25,7 @@ ResizeVolumeGroupJob::ResizeVolumeGroupJob( Device*, LvmDevice* device, QVector<
QString QString
ResizeVolumeGroupJob::prettyName() const ResizeVolumeGroupJob::prettyName() const
{ {
return tr( "Resize volume group named %1 from %2 to %3." ) return tr( "Resizing volume group named %1 from %2 to %3…", "@status" )
.arg( m_device->name() ) .arg( m_device->name() )
.arg( currentPartitions() ) .arg( currentPartitions() )
.arg( targetPartitions() ); .arg( targetPartitions() );
@ -34,7 +34,7 @@ ResizeVolumeGroupJob::prettyName() const
QString QString
ResizeVolumeGroupJob::prettyDescription() const ResizeVolumeGroupJob::prettyDescription() const
{ {
return tr( "Resize volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>." ) return tr( "Resizing volume group named <strong>%1</strong> from <strong>%2</strong> to <strong>%3</strong>", "@status" )
.arg( m_device->name() ) .arg( m_device->name() )
.arg( currentPartitions() ) .arg( currentPartitions() )
.arg( targetPartitions() ); .arg( targetPartitions() );
@ -43,7 +43,7 @@ ResizeVolumeGroupJob::prettyDescription() const
QString QString
ResizeVolumeGroupJob::prettyStatusMessage() const ResizeVolumeGroupJob::prettyStatusMessage() const
{ {
return tr( "Resize volume group named %1 from %2 to %3." ) return tr( "Resizing volume group named %1 from %2 to %3…", "@status" )
.arg( m_device->name() ) .arg( m_device->name() )
.arg( currentPartitions() ) .arg( currentPartitions() )
.arg( targetPartitions() ); .arg( targetPartitions() );

View File

@ -41,17 +41,17 @@ SetPartFlagsJob::prettyName() const
{ {
if ( !partition()->partitionPath().isEmpty() ) if ( !partition()->partitionPath().isEmpty() )
{ {
return tr( "Set flags on partition %1." ).arg( partition()->partitionPath() ); return tr( "Setting flags on partition %1…", "@status" ).arg( partition()->partitionPath() );
} }
QString fsNameForUser = userVisibleFS( partition()->fileSystem() ); QString fsNameForUser = userVisibleFS( partition()->fileSystem() );
if ( !fsNameForUser.isEmpty() ) if ( !fsNameForUser.isEmpty() )
{ {
return tr( "Set flags on %1MiB %2 partition." ) return tr( "Setting flags on %1MiB %2 partition…", "@status" )
.arg( BytesToMiB( partition()->capacity() ) ) .arg( BytesToMiB( partition()->capacity() ) )
.arg( fsNameForUser ); .arg( fsNameForUser );
} }
return tr( "Set flags on new partition." ); return tr( "Setting flags on new partition…", "@status" );
} }
QString QString
@ -62,23 +62,23 @@ SetPartFlagsJob::prettyDescription() const
{ {
if ( !partition()->partitionPath().isEmpty() ) if ( !partition()->partitionPath().isEmpty() )
{ {
return tr( "Clear flags on partition <strong>%1</strong>." ).arg( partition()->partitionPath() ); return tr( "Clearing flags on partition <strong>%1</strong>", "@status" ).arg( partition()->partitionPath() );
} }
QString fsNameForUser = userVisibleFS( partition()->fileSystem() ); QString fsNameForUser = userVisibleFS( partition()->fileSystem() );
if ( !fsNameForUser.isEmpty() ) if ( !fsNameForUser.isEmpty() )
{ {
return tr( "Clear flags on %1MiB <strong>%2</strong> partition." ) return tr( "Clearing flags on %1MiB <strong>%2</strong> partition", "@status" )
.arg( BytesToMiB( partition()->capacity() ) ) .arg( BytesToMiB( partition()->capacity() ) )
.arg( fsNameForUser ); .arg( fsNameForUser );
} }
return tr( "Clear flags on new partition." ); return tr( "Clearing flags on new partition…", "@status" );
} }
if ( !partition()->partitionPath().isEmpty() ) if ( !partition()->partitionPath().isEmpty() )
{ {
return tr( "Flag partition <strong>%1</strong> as " return tr( "Flagging partition <strong>%1</strong> as "
"<strong>%2</strong>." ) "<strong>%2</strong>", "@status" )
.arg( partition()->partitionPath() ) .arg( partition()->partitionPath() )
.arg( flagsList.join( ", " ) ); .arg( flagsList.join( ", " ) );
} }
@ -86,14 +86,14 @@ SetPartFlagsJob::prettyDescription() const
QString fsNameForUser = userVisibleFS( partition()->fileSystem() ); QString fsNameForUser = userVisibleFS( partition()->fileSystem() );
if ( !fsNameForUser.isEmpty() ) if ( !fsNameForUser.isEmpty() )
{ {
return tr( "Flag %1MiB <strong>%2</strong> partition as " return tr( "Flagging %1MiB <strong>%2</strong> partition as "
"<strong>%3</strong>." ) "<strong>%3</strong>", "@status" )
.arg( BytesToMiB( partition()->capacity() ) ) .arg( BytesToMiB( partition()->capacity() ) )
.arg( fsNameForUser ) .arg( fsNameForUser )
.arg( flagsList.join( ", " ) ); .arg( flagsList.join( ", " ) );
} }
return tr( "Flag new partition as <strong>%1</strong>." ).arg( flagsList.join( ", " ) ); return tr( "Flagging new partition as <strong>%1</strong>…", "@status" ).arg( flagsList.join( ", " ) );
} }
QString QString
@ -104,24 +104,24 @@ SetPartFlagsJob::prettyStatusMessage() const
{ {
if ( !partition()->partitionPath().isEmpty() ) if ( !partition()->partitionPath().isEmpty() )
{ {
return tr( "Clearing flags on partition <strong>%1</strong>." ).arg( partition()->partitionPath() ); return tr( "Clearing flags on partition <strong>%1</strong>", "@status" ).arg( partition()->partitionPath() );
} }
QString fsNameForUser = userVisibleFS( partition()->fileSystem() ); QString fsNameForUser = userVisibleFS( partition()->fileSystem() );
if ( !fsNameForUser.isEmpty() ) if ( !fsNameForUser.isEmpty() )
{ {
return tr( "Clearing flags on %1MiB <strong>%2</strong> partition." ) return tr( "Clearing flags on %1MiB <strong>%2</strong> partition", "@status" )
.arg( BytesToMiB( partition()->capacity() ) ) .arg( BytesToMiB( partition()->capacity() ) )
.arg( fsNameForUser ); .arg( fsNameForUser );
} }
return tr( "Clearing flags on new partition." ); return tr( "Clearing flags on new partition", "@status" );
} }
if ( !partition()->partitionPath().isEmpty() ) if ( !partition()->partitionPath().isEmpty() )
{ {
return tr( "Setting flags <strong>%2</strong> on partition " return tr( "Setting flags <strong>%2</strong> on partition "
"<strong>%1</strong>." ) "<strong>%1</strong>", "@status" )
.arg( partition()->partitionPath() ) .arg( partition()->partitionPath() )
.arg( flagsList.join( ", " ) ); .arg( flagsList.join( ", " ) );
} }
@ -130,13 +130,13 @@ SetPartFlagsJob::prettyStatusMessage() const
if ( !fsNameForUser.isEmpty() ) if ( !fsNameForUser.isEmpty() )
{ {
return tr( "Setting flags <strong>%3</strong> on " return tr( "Setting flags <strong>%3</strong> on "
"%1MiB <strong>%2</strong> partition." ) "%1MiB <strong>%2</strong> partition", "@status" )
.arg( BytesToMiB( partition()->capacity() ) ) .arg( BytesToMiB( partition()->capacity() ) )
.arg( fsNameForUser ) .arg( fsNameForUser )
.arg( flagsList.join( ", " ) ); .arg( flagsList.join( ", " ) );
} }
return tr( "Setting flags <strong>%1</strong> on new partition." ).arg( flagsList.join( ", " ) ); return tr( "Setting flags <strong>%1</strong> on new partition", "@status" ).arg( flagsList.join( ", " ) );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -30,7 +30,7 @@ PlasmaLnfJob::~PlasmaLnfJob() {}
QString QString
PlasmaLnfJob::prettyName() const PlasmaLnfJob::prettyName() const
{ {
return tr( "Plasma Look-and-Feel Job" ); return tr( "Applying Plasma Look-and-Feel…", "@status" );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -40,7 +40,7 @@ PlasmaLnfViewStep::~PlasmaLnfViewStep()
QString QString
PlasmaLnfViewStep::prettyName() const PlasmaLnfViewStep::prettyName() const
{ {
return tr( "Look-and-Feel" ); return tr( "Look-and-Feel", "@label" );
} }

View File

@ -53,7 +53,7 @@ PreserveFiles::~PreserveFiles() {}
QString QString
PreserveFiles::prettyName() const PreserveFiles::prettyName() const
{ {
return tr( "Saving files for later ..." ); return tr( "Saving files for later", "@status" );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -29,7 +29,7 @@ RemoveUserJob::~RemoveUserJob() {}
QString QString
RemoveUserJob::prettyName() const RemoveUserJob::prettyName() const
{ {
return tr( "Remove live user from target system" ); return tr( "Removing live user from the target system…", "@status" );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -35,7 +35,7 @@ ShellProcessJob::prettyName() const
{ {
return m_name->get(); return m_name->get();
} }
return tr( "Shell Processes Job" ); return tr( "Running shell processes…", "@status" );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -32,7 +32,7 @@ Config::Config( QObject* parent )
void void
Config::retranslate() Config::retranslate()
{ {
m_title = tr( "Summary" ); m_title = tr( "Summary", "@label" );
if ( Calamares::Settings::instance()->isSetupMode() ) if ( Calamares::Settings::instance()->isSetupMode() )
{ {

View File

@ -103,7 +103,7 @@ TrackingInstallJob::prettyName() const
QString QString
TrackingInstallJob::prettyStatusMessage() const TrackingInstallJob::prettyStatusMessage() const
{ {
return QCoreApplication::translate( "TrackingInstallJob", "Sending installation feedback." ); return QCoreApplication::translate( "TrackingInstallJob", "Sending installation feedback", "@status" );
} }
Calamares::JobResult Calamares::JobResult
@ -138,7 +138,7 @@ TrackingMachineUpdateManagerJob::prettyName() const
QString QString
TrackingMachineUpdateManagerJob::prettyStatusMessage() const TrackingMachineUpdateManagerJob::prettyStatusMessage() const
{ {
return QCoreApplication::translate( "TrackingMachineUpdateManagerJob", "Configuring machine feedback." ); return QCoreApplication::translate( "TrackingMachineUpdateManagerJob", "Configuring machine feedback", "@status" );
} }
Calamares::JobResult Calamares::JobResult
@ -195,7 +195,7 @@ TrackingKUserFeedbackJob::prettyName() const
QString QString
TrackingKUserFeedbackJob::prettyStatusMessage() const TrackingKUserFeedbackJob::prettyStatusMessage() const
{ {
return QCoreApplication::translate( "TrackingKUserFeedbackJob", "Configuring KDE user feedback." ); return QCoreApplication::translate( "TrackingKUserFeedbackJob", "Configuring KDE user feedback", "@status" );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -46,7 +46,7 @@ TrackingViewStep::~TrackingViewStep()
QString QString
TrackingViewStep::prettyName() const TrackingViewStep::prettyName() const
{ {
return tr( "Feedback" ); return tr( "Feedback", "@title" );
} }

View File

@ -36,7 +36,7 @@ UmountJob::~UmountJob() {}
QString QString
UmountJob::prettyName() const UmountJob::prettyName() const
{ {
return tr( "Unmount file systems." ); return tr( "Unmounting file systems…", "@status" );
} }
static Calamares::JobResult static Calamares::JobResult

View File

@ -36,13 +36,13 @@ CreateUserJob::prettyName() const
QString QString
CreateUserJob::prettyDescription() const CreateUserJob::prettyDescription() const
{ {
return tr( "Create user <strong>%1</strong>." ).arg( m_config->loginName() ); return tr( "Create user <strong>%1</strong>" ).arg( m_config->loginName() );
} }
QString QString
CreateUserJob::prettyStatusMessage() const CreateUserJob::prettyStatusMessage() const
{ {
return m_status.isEmpty() ? tr( "Creating user %1" ).arg( m_config->loginName() ) : m_status; return m_status.isEmpty() ? tr( "Creating user %1", "@status" ).arg( m_config->loginName() ) : m_status;
} }
static Calamares::JobResult static Calamares::JobResult
@ -117,7 +117,7 @@ CreateUserJob::exec()
// This GS setting comes from the **partitioning** module. // This GS setting comes from the **partitioning** module.
if ( reuseHome ) if ( reuseHome )
{ {
m_status = tr( "Preserving home directory" ); m_status = tr( "Preserving home directory", "@status" );
emit progress( 0.2 ); emit progress( 0.2 );
QString shellFriendlyHome = "/home/" + m_config->loginName(); QString shellFriendlyHome = "/home/" + m_config->loginName();
QDir existingHome( destDir.absolutePath() + shellFriendlyHome ); QDir existingHome( destDir.absolutePath() + shellFriendlyHome );
@ -134,7 +134,7 @@ CreateUserJob::exec()
cDebug() << "[CREATEUSER]: creating user"; cDebug() << "[CREATEUSER]: creating user";
m_status = tr( "Creating user %1" ).arg( m_config->loginName() ); m_status = tr( "Creating user %1", "@status" ).arg( m_config->loginName() );
emit progress( 0.5 ); emit progress( 0.5 );
auto useraddResult = createUser( m_config->loginName(), m_config->fullName(), m_config->userShell() ); auto useraddResult = createUser( m_config->loginName(), m_config->fullName(), m_config->userShell() );
if ( !useraddResult ) if ( !useraddResult )
@ -142,7 +142,7 @@ CreateUserJob::exec()
return useraddResult; return useraddResult;
} }
m_status = tr( "Configuring user %1" ).arg( m_config->loginName() ); m_status = tr( "Configuring user %1", "@status" ).arg( m_config->loginName() );
emit progress( 0.8 ); emit progress( 0.8 );
auto usergroupsResult = setUserGroups( m_config->loginName(), m_config->groupsForThisUser() ); auto usergroupsResult = setUserGroups( m_config->loginName(), m_config->groupsForThisUser() );
if ( !usergroupsResult ) if ( !usergroupsResult )
@ -150,7 +150,7 @@ CreateUserJob::exec()
return usergroupsResult; return usergroupsResult;
} }
m_status = tr( "Setting file permissions" ); m_status = tr( "Setting file permissions", "@status" );
emit progress( 0.9 ); emit progress( 0.9 );
QString userGroup = QString( "%1:%2" ).arg( m_config->loginName() ).arg( m_config->loginName() ); QString userGroup = QString( "%1:%2" ).arg( m_config->loginName() ).arg( m_config->loginName() );
QString homeDir = QString( "/home/%1" ).arg( m_config->loginName() ); QString homeDir = QString( "/home/%1" ).arg( m_config->loginName() );

View File

@ -31,7 +31,7 @@ SetupSudoJob::SetupSudoJob( const QString& group, Config::SudoStyle style )
QString QString
SetupSudoJob::prettyName() const SetupSudoJob::prettyName() const
{ {
return tr( "Configure <pre>sudo</pre> users." ); return tr( "Configuring <pre>sudo</pre> users…", "@status" );
} }
static QString static QString
@ -178,7 +178,7 @@ SetupGroupsJob::SetupGroupsJob( const Config* config )
QString QString
SetupGroupsJob::prettyName() const SetupGroupsJob::prettyName() const
{ {
return tr( "Preparing groups." ); return tr( "Preparing groups", "@status" );
} }
Calamares::JobResult Calamares::JobResult

View File

@ -45,7 +45,7 @@ SetHostNameJob::prettyDescription() const
QString QString
SetHostNameJob::prettyStatusMessage() const SetHostNameJob::prettyStatusMessage() const
{ {
return tr( "Setting hostname %1." ).arg( m_config->hostname() ); return tr( "Setting hostname %1", "@status" ).arg( m_config->hostname() );
} }
STATICTEST bool STATICTEST bool

View File

@ -41,7 +41,7 @@ SetPasswordJob::prettyName() const
QString QString
SetPasswordJob::prettyStatusMessage() const SetPasswordJob::prettyStatusMessage() const
{ {
return tr( "Setting password for user %1." ).arg( m_userName ); return tr( "Setting password for user %1", "@status" ).arg( m_userName );
} }
#ifndef HAVE_CRYPT_GENSALT #ifndef HAVE_CRYPT_GENSALT

View File

@ -59,7 +59,7 @@ Kirigami.ScrollablePage {
id: _userNameField id: _userNameField
width: parent.width width: parent.width
enabled: config.isEditable("fullName") enabled: config.isEditable("fullName")
placeholderText: qsTr("Your Full Name") placeholderText: qsTr("Your full name")
text: config.fullName text: config.fullName
onTextChanged: config.setFullName(text) onTextChanged: config.setFullName(text)
@ -83,7 +83,7 @@ Kirigami.ScrollablePage {
id: _userLoginField id: _userLoginField
width: parent.width width: parent.width
enabled: config.isEditable("loginName") enabled: config.isEditable("loginName")
placeholderText: qsTr("Login Name") placeholderText: qsTr("Login name")
text: config.loginName text: config.loginName
validator: RegularExpressionValidator { regularExpression: /[a-z_][a-z0-9_-]*[$]?$/ } validator: RegularExpressionValidator { regularExpression: /[a-z_][a-z0-9_-]*[$]?$/ }
@ -149,7 +149,7 @@ Kirigami.ScrollablePage {
TextField { TextField {
id: _hostName id: _hostName
width: parent.width width: parent.width
placeholderText: qsTr("Computer Name") placeholderText: qsTr("Computer name")
text: config.hostname text: config.hostname
validator: RegularExpressionValidator { regularExpression: /[a-zA-Z0-9][-a-zA-Z0-9_]+/ } validator: RegularExpressionValidator { regularExpression: /[a-zA-Z0-9][-a-zA-Z0-9_]+/ }
@ -234,7 +234,7 @@ Kirigami.ScrollablePage {
TextField { TextField {
id: _verificationPasswordField id: _verificationPasswordField
width: parent.width / 2 - 10 width: parent.width / 2 - 10
placeholderText: qsTr("Repeat Password") placeholderText: qsTr("Repeat password")
text: config.userPasswordSecondary text: config.userPasswordSecondary
onTextChanged: _passwordField.text === _verificationPasswordField.text onTextChanged: _passwordField.text === _verificationPasswordField.text
@ -324,7 +324,7 @@ Kirigami.ScrollablePage {
TextField { TextField {
id: _rootPasswordField id: _rootPasswordField
width: parent.width / 2 -10 width: parent.width / 2 -10
placeholderText: qsTr("Root Password") placeholderText: qsTr("Root password")
text: config.rootPassword text: config.rootPassword
onTextChanged: config.setRootPassword(text) onTextChanged: config.setRootPassword(text)
@ -342,7 +342,7 @@ Kirigami.ScrollablePage {
TextField { TextField {
id: _verificationRootPasswordField id: _verificationRootPasswordField
width: parent.width / 2 -10 width: parent.width / 2 -10
placeholderText: qsTr("Repeat Root Password") placeholderText: qsTr("Repeat root password")
text: config.rootPasswordSecondary text: config.rootPasswordSecondary
onTextChanged: _rootPasswordField.text === _verificationRootPasswordField.text onTextChanged: _rootPasswordField.text === _verificationRootPasswordField.text

View File

@ -60,7 +60,7 @@ Kirigami.ScrollablePage {
id: _userNameField id: _userNameField
width: parent.width width: parent.width
enabled: config.isEditable("fullName") enabled: config.isEditable("fullName")
placeholderText: qsTr("Your Full Name") placeholderText: qsTr("Your full name")
text: config.fullName text: config.fullName
onTextChanged: config.setFullName(text) onTextChanged: config.setFullName(text)
@ -84,7 +84,7 @@ Kirigami.ScrollablePage {
id: _userLoginField id: _userLoginField
width: parent.width width: parent.width
enabled: config.isEditable("loginName") enabled: config.isEditable("loginName")
placeholderText: qsTr("Login Name") placeholderText: qsTr("Login name")
text: config.loginName text: config.loginName
validator: RegularExpressionValidator { regularExpression: /[a-z_][a-z0-9_-]*[$]?$/ } validator: RegularExpressionValidator { regularExpression: /[a-z_][a-z0-9_-]*[$]?$/ }
@ -150,7 +150,7 @@ Kirigami.ScrollablePage {
TextField { TextField {
id: _hostName id: _hostName
width: parent.width width: parent.width
placeholderText: qsTr("Computer Name") placeholderText: qsTr("Computer name")
text: config.hostname text: config.hostname
validator: RegularExpressionValidator { regularExpression: /[a-zA-Z0-9][-a-zA-Z0-9_]+/ } validator: RegularExpressionValidator { regularExpression: /[a-zA-Z0-9][-a-zA-Z0-9_]+/ }
@ -235,7 +235,7 @@ Kirigami.ScrollablePage {
TextField { TextField {
id: _verificationPasswordField id: _verificationPasswordField
width: parent.width / 2 - 10 width: parent.width / 2 - 10
placeholderText: qsTr("Repeat Password") placeholderText: qsTr("Repeat password")
text: config.userPasswordSecondary text: config.userPasswordSecondary
onTextChanged: _passwordField.text === _verificationPasswordField.text onTextChanged: _passwordField.text === _verificationPasswordField.text
@ -325,7 +325,7 @@ Kirigami.ScrollablePage {
TextField { TextField {
id: _rootPasswordField id: _rootPasswordField
width: parent.width / 2 -10 width: parent.width / 2 -10
placeholderText: qsTr("Root Password") placeholderText: qsTr("Root password")
text: config.rootPassword text: config.rootPassword
onTextChanged: config.setRootPassword(text) onTextChanged: config.setRootPassword(text)
@ -343,7 +343,7 @@ Kirigami.ScrollablePage {
TextField { TextField {
id: _verificationRootPasswordField id: _verificationRootPasswordField
width: parent.width / 2 -10 width: parent.width / 2 -10
placeholderText: qsTr("Repeat Root Password") placeholderText: qsTr("Repeat root password")
text: config.rootPasswordSecondary text: config.rootPasswordSecondary
onTextChanged: _rootPasswordField.text === _verificationRootPasswordField.text onTextChanged: _rootPasswordField.text === _verificationRootPasswordField.text

View File

@ -209,7 +209,7 @@ WelcomePage::retranslate()
ui->mainText->setText( message.arg( Calamares::Branding::instance()->versionedName() ) ); ui->mainText->setText( message.arg( Calamares::Branding::instance()->versionedName() ) );
ui->retranslateUi( this ); ui->retranslateUi( this );
ui->supportButton->setText( tr( "%1 support" ).arg( Calamares::Branding::instance()->shortProductName() ) ); ui->supportButton->setText( tr( "%1 Support", "@action" ).arg( Calamares::Branding::instance()->shortProductName() ) );
} }
void void

View File

@ -43,7 +43,7 @@ WelcomeViewStep::~WelcomeViewStep()
QString QString
WelcomeViewStep::prettyName() const WelcomeViewStep::prettyName() const
{ {
return tr( "Welcome" ); return tr( "Welcome", "@title" );
} }

View File

@ -37,7 +37,7 @@ WelcomeQmlViewStep::WelcomeQmlViewStep( QObject* parent )
QString QString
WelcomeQmlViewStep::prettyName() const WelcomeQmlViewStep::prettyName() const
{ {
return tr( "Welcome" ); return tr( "Welcome", "@title" );
} }
bool bool

View File

@ -77,7 +77,7 @@ Page
Button { Button {
Layout.fillWidth: true Layout.fillWidth: true
text: qsTr("Known issues") text: qsTr("Known Issues")
icon.name: "tools-report-bug" icon.name: "tools-report-bug"
Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4)
Kirigami.Theme.textColor: Kirigami.Theme.textColor Kirigami.Theme.textColor: Kirigami.Theme.textColor
@ -88,7 +88,7 @@ Page
Button { Button {
Layout.fillWidth: true Layout.fillWidth: true
text: qsTr("Release notes") text: qsTr("Release Notes")
icon.name: "folder-text" icon.name: "folder-text"
Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4)
Kirigami.Theme.textColor: Kirigami.Theme.textColor Kirigami.Theme.textColor: Kirigami.Theme.textColor

View File

@ -77,7 +77,7 @@ Page
Button { Button {
Layout.fillWidth: true Layout.fillWidth: true
text: qsTr("Known issues") text: qsTr("Known Issues")
icon.name: "tools-report-bug" icon.name: "tools-report-bug"
Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4)
Kirigami.Theme.textColor: Kirigami.Theme.textColor Kirigami.Theme.textColor: Kirigami.Theme.textColor
@ -88,7 +88,7 @@ Page
Button { Button {
Layout.fillWidth: true Layout.fillWidth: true
text: qsTr("Release notes") text: qsTr("Release Notes")
icon.name: "folder-text" icon.name: "folder-text"
Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4) Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4)
Kirigami.Theme.textColor: Kirigami.Theme.textColor Kirigami.Theme.textColor: Kirigami.Theme.textColor

View File

@ -99,7 +99,7 @@ ZfsJob::~ZfsJob() {}
QString QString
ZfsJob::prettyName() const ZfsJob::prettyName() const
{ {
return tr( "Create ZFS pools and datasets" ); return tr( "Creating ZFS pools and datasets…", "@status" );
} }
void void