From 1aba8b981710a86fafd19ea2c5fde6a85dcfec2d Mon Sep 17 00:00:00 2001 From: Maciej Szeptuch <765629+Neverous@users.noreply.github.com> Date: Sun, 16 Jul 2023 16:45:43 +0200 Subject: [PATCH] Add placeholders for "broken" boot entries (#92) This allows to edit valid entries and reorder them without touching possibly custom vendor data. Previously all unknown/broken boot order entries were removed on save. --- include/bootentry.h | 3 + include/bootentrywidget.h | 1 + include/efiboot.h | 5 + src/bootentry.cpp | 15 + src/bootentrydelegate.cpp | 4 +- src/bootentryform.cpp | 6 + src/bootentrywidget.cpp | 5 + src/efibootdata.cpp | 63 +- src/efibooteditor.cpp | 25 +- src/form/bootentryform.ui | 879 +++++++++++++++------------- translations/efibooteditor_en.ts | 401 +++++++------ translations/efibooteditor_it.ts | 401 +++++++------ translations/efibooteditor_nb_NO.ts | 403 +++++++------ translations/efibooteditor_pl.ts | 403 +++++++------ translations/efibooteditor_sk.ts | 401 +++++++------ translations/efibooteditor_sl.ts | 401 +++++++------ 16 files changed, 1829 insertions(+), 1587 deletions(-) diff --git a/include/bootentry.h b/include/bootentry.h index 9e1a09ee..b8832bc9 100644 --- a/include/bootentry.h +++ b/include/bootentry.h @@ -502,6 +502,8 @@ class BootEntry bool is_current_boot = false; bool is_next_boot = false; + bool is_error = false; + QString error = ""; OptionalDataFormat optional_data_format = OptionalDataFormat::Base64; @@ -510,6 +512,7 @@ class BootEntry public: static BootEntry fromEFIBootLoadOption(const EFIBoot::Load_option &load_option); + static BootEntry fromError(const QString &error); EFIBoot::Load_option toEFIBootLoadOption() const; static std::optional fromJSON(const QJsonObject &obj); diff --git a/include/bootentrywidget.h b/include/bootentrywidget.h index 5765350a..ca35d3d4 100644 --- a/include/bootentrywidget.h +++ b/include/bootentrywidget.h @@ -27,6 +27,7 @@ class BootEntryWidget: public QWidget void setReadOnly(bool readonly); void showBootOptions(bool is_boot); + void showDevicePath(bool not_error); void setIndex(const uint32_t index); void setDescription(const QString &description); diff --git a/include/efiboot.h b/include/efiboot.h index 15d73fe9..89932c05 100644 --- a/include/efiboot.h +++ b/include/efiboot.h @@ -26,6 +26,11 @@ inline bool operator==(const efi_guid_t &first, const efi_guid_t &second) return efi_guid_cmp(&first, &second) == 0; } +inline bool operator!=(const efi_guid_t &first, const efi_guid_t &second) +{ + return efi_guid_cmp(&first, &second) != 0; +} + typedef std::vector Raw_data; template diff --git a/src/bootentry.cpp b/src/bootentry.cpp index 6d455d8c..a10c9f05 100644 --- a/src/bootentry.cpp +++ b/src/bootentry.cpp @@ -51,8 +51,20 @@ auto BootEntry::fromEFIBootLoadOption( return value; } +auto BootEntry::fromError(const QString &error) -> BootEntry +{ + BootEntry value; + value.is_error = true; + value.description = "Error"; + value.error = error; + return value; +} + auto BootEntry::toEFIBootLoadOption() const -> EFIBoot::Load_option { + if(is_error) + return {}; + EFIBoot::Load_option load_option; load_option.description = description.toStdU16String(); { @@ -96,6 +108,9 @@ auto BootEntry::fromJSON(const QJsonObject &obj) -> std::optional auto BootEntry::toJSON() const -> QJsonObject { + if(is_error) + return {}; + QJsonObject load_option; load_option["description"] = description; load_option["optional_data_format"] = static_cast(optional_data_format); diff --git a/src/bootentrydelegate.cpp b/src/bootentrydelegate.cpp index 72e927a0..3a2b06e2 100644 --- a/src/bootentrydelegate.cpp +++ b/src/bootentrydelegate.cpp @@ -1,5 +1,6 @@ // SPDX-License-Identifier: LGPL-3.0-or-later #include "bootentrydelegate.h" + #include "bootentry.h" #include "bootentrylistmodel.h" @@ -17,7 +18,8 @@ void BootEntryDelegate::setupWidgetFromItem(Widget &widget, const Item &item) co widget.setReadOnly(options & BootEntryListModel::ReadOnly); widget.setIndex(item->index); widget.setDescription(item->description); - widget.setData(item->optional_data); + widget.setData(!item->is_error ? item->optional_data : item->error); + widget.showDevicePath(!item->is_error); widget.setDevicePath(item->formatDevicePath(false)); widget.showBootOptions(options & BootEntryListModel::IsBoot); widget.setCurrentBoot(item->is_current_boot); diff --git a/src/bootentryform.cpp b/src/bootentryform.cpp index e3729f96..877b939a 100644 --- a/src/bootentryform.cpp +++ b/src/bootentryform.cpp @@ -36,6 +36,7 @@ void BootEntryForm::setReadOnly(bool readonly) ui->device_path->setReadOnly(readonly); ui->device_path_actions->setDisabled(readonly); ui->optional_data_format_combo->setDisabled(false); + ui->error_text->setDisabled(readonly); } void BootEntryForm::setBootEntryListModel(BootEntryListModel &model) @@ -60,6 +61,11 @@ void BootEntryForm::setItem(const QModelIndex &index, const BootEntry *item) ui->attribute_hidden->setChecked(item && (item->attributes & EFIBoot::Load_option_attribute::HIDDEN) == EFIBoot::Load_option_attribute::HIDDEN); ui->attribute_force_reconnect->setChecked(item && (item->attributes & EFIBoot::Load_option_attribute::FORCE_RECONNECT) == EFIBoot::Load_option_attribute::FORCE_RECONNECT); ui->category_combo->setCurrentIndex(item && (item->attributes & EFIBoot::Load_option_attribute::CATEGORY_APP) == EFIBoot::Load_option_attribute::CATEGORY_APP); + ui->error_text->setText(item ? item->error : ""); + + ui->form_fields->setVisible(item ? !item->is_error : true); + ui->error_text->setVisible(item ? item->is_error : false); + ui->error_note->setVisible(item ? item->is_error : false); setDisabled(!item); } diff --git a/src/bootentrywidget.cpp b/src/bootentrywidget.cpp index 1c278ac4..e9d449a2 100644 --- a/src/bootentrywidget.cpp +++ b/src/bootentrywidget.cpp @@ -28,6 +28,11 @@ void BootEntryWidget::showBootOptions(bool is_boot) ui->next_boot->setVisible(is_boot); } +void BootEntryWidget::showDevicePath(bool not_error) +{ + ui->device_path->setVisible(not_error); +} + void BootEntryWidget::setIndex(const uint32_t index) { ui->index->setText(toHex(index, 4)); diff --git a/src/efibootdata.cpp b/src/efibootdata.cpp index b52782ab..1e88f69d 100644 --- a/src/efibootdata.cpp +++ b/src/efibootdata.cpp @@ -8,7 +8,7 @@ #include #include -static bool is_bootentry(const std::tstring &name, const std::tstring &prefix) +static bool is_bootentry(const std::tstring_view &name, const std::tstring_view &prefix) { if(name.length() != prefix.length() + 4 || name.substr(0, prefix.length()) != prefix) return false; @@ -70,6 +70,10 @@ void EFIBootData::reload() int32_t current_boot = -1; int32_t next_boot = -1; QStringList errors; + auto save_error = [&](const QString &error) + { + errors.push_back(error); + }; const auto name_to_guid = EFIBoot::get_variables( [](const EFIBoot::efi_guid_t &guid, const std::tstring_view) @@ -84,13 +88,13 @@ void EFIBootData::reload() size_t step = 0; const size_t total_steps = name_to_guid.size() + 1u; - auto process_entry = [&](const auto &name, const auto &read_fn, const auto &process_fn, bool optional = false) + auto process_entry = [&](const auto &name, const auto &read_fn, const auto &process_fn, const auto &error_fn, bool optional = false) { const auto tname = QStringToStdTString(name); if(!name_to_guid.count(tname)) { if(!optional) - errors.push_back(tr("%1: not found").arg(name)); + error_fn(tr("%1: not found").arg(name)); return; } @@ -99,7 +103,7 @@ void EFIBootData::reload() const auto variable = read_fn(name_to_guid.at(tname), tname); if(!variable) { - errors.push_back(tr("%1: failed deserialization").arg(name)); + error_fn(tr("%1: failed deserialization").arg(name)); return; } @@ -110,51 +114,61 @@ void EFIBootData::reload() process_entry( "Timeout", EFIBoot::get_variable, [&](const uint16_t &value, const auto &) { setTimeout(value); }, + save_error, true); process_entry( "BootCurrent", EFIBoot::get_variable, [&](const uint16_t &value, const auto &) { current_boot = value; }, + save_error, true); process_entry( "BootNext", EFIBoot::get_variable, [&](const uint16_t &value, const auto &) { next_boot = value; }, + save_error, true); process_entry( "SecureBoot", EFIBoot::get_variable, [&](const uint8_t &value, const auto &) { setSecureBoot(value); }, + save_error, true); process_entry( "VendorKeys", EFIBoot::get_variable, [&](const uint8_t &value, const auto &) { setVendorKeys(value); }, + save_error, true); process_entry( "SetupMode", EFIBoot::get_variable, [&](const uint8_t &value, const auto &) { setSetupMode(value); }, + save_error, true); process_entry( "AuditMode", EFIBoot::get_variable, [&](const uint8_t &value, const auto &) { setAuditMode(value); }, + save_error, true); process_entry( "DeployedMode", EFIBoot::get_variable, [&](const uint8_t &value, const auto &) { setDeployedMode(value); }, + save_error, true); process_entry( "OsIndicationsSupported", EFIBoot::get_variable, [&](const uint64_t &value, const auto &) { setOsIndicationsSupported(value); }, + save_error, true); process_entry( "OsIndications", EFIBoot::get_variable, [&](const uint64_t &value, const auto &) { setOsIndications(value); }, + save_error, true); for(const auto &[prefix_, model_]: BOOT_ENTRIES) @@ -175,6 +189,7 @@ void EFIBootData::reload() for(const auto &index: order) ordered_entry.insert(index); }, + save_error, true); // Add entries not in BootOrder at the end @@ -197,7 +212,8 @@ void EFIBootData::reload() { const auto qname = toHex(index, 4, prefix); - process_entry(qname, EFIBoot::get_variable, + process_entry( + qname, EFIBoot::get_variable, [&](const EFIBoot::Load_option &value, const uint32_t &attributes) { // Translate STL to QTL @@ -210,6 +226,18 @@ void EFIBootData::reload() entry.is_next_boot = next_boot == static_cast(index); } model.appendRow(entry); + }, + [&](const QString &error) + { + errors.push_back(error); + auto entry = BootEntry::fromError(error); + entry.index = index; + if(model.options & BootEntryListModel::IsBoot) + { + entry.is_current_boot = current_boot == static_cast(index); + entry.is_next_boot = next_boot == static_cast(index); + } + model.appendRow(entry); }); } } @@ -235,9 +263,19 @@ void EFIBootData::save() int32_t next_boot = -1; auto old_entries = EFIBoot::get_variables( - [](const EFIBoot::efi_guid_t &guid, const std::tstring_view) + [&](const EFIBoot::efi_guid_t &guid, const std::tstring_view tname) { - return guid == EFIBoot::efi_guid_global; + if(guid != EFIBoot::efi_guid_global) + return false; + + for(const auto &[prefix, model]: BOOT_ENTRIES) + { + (void)model; + if(is_bootentry(tname, QStringToStdTString(prefix))) + return true; + } + + return false; }, [&](size_t step, size_t total) { @@ -283,6 +321,9 @@ void EFIBootData::save() if(auto _entry = old_entries.find(tname); _entry != old_entries.end()) old_entries.erase(_entry); + if(entry.is_error) + continue; + const auto load_option = entry.toEFIBootLoadOption(); if(!EFIBoot::set_variable(EFIBoot::efi_guid_global, tname, EFIBoot::Variable{load_option, entry.efi_attributes}, EFIBoot::EFI_VARIABLE_MODE_DEFAULTS)) { @@ -293,9 +334,6 @@ void EFIBootData::save() for(const auto &[tname, guid]: old_entries) { - if(!is_bootentry(tname, QStringToStdTString(prefix))) - continue; - emit progress(step++, total_steps, tr("Removing old EFI Boot Manager entries (%1)…").arg(QStringFromStdTString(tname))); if(!EFIBoot::del_variable(guid, tname)) { @@ -455,7 +493,8 @@ void EFIBootData::export_(const QString &file_name) } emit progress(step++, total_steps, tr("Exporting EFI Boot Manager entries (%1)…").arg(full_name)); - entries[name] = entry.toJSON(); + if(!entry.is_error) + entries[name] = entry.toJSON(); } if(!entries.isEmpty()) @@ -760,6 +799,7 @@ void EFIBootData::importJSONEFIData(const QJsonObject &input) int32_t current_boot = -1; int32_t next_boot = -1; QStringList errors; + size_t step = 0; const size_t total_steps = static_cast(input.size()) + 1u; @@ -1014,6 +1054,7 @@ void EFIBootData::importRawEFIData(const QJsonObject &input) int32_t current_boot = -1; int32_t next_boot = -1; QStringList errors; + size_t step = 0; const size_t total_steps = static_cast(input.size()) + 1u; diff --git a/src/efibooteditor.cpp b/src/efibooteditor.cpp index 66dcaa60..4d73e846 100644 --- a/src/efibooteditor.cpp +++ b/src/efibooteditor.cpp @@ -151,6 +151,10 @@ void EFIBootEditor::enableBootEntryEditor(const QModelIndex &index) const auto item = index.data().value(); ui->entry_form->setItem(index, item); + auto [name, list, model] = currentBootEntryList(); + (void)name; + (void)list; + ui->entry_form->setReadOnly((model.options & BootEntryListModel::ReadOnly) || item->is_error); } void EFIBootEditor::disableBootEntryEditor() @@ -173,7 +177,6 @@ void EFIBootEditor::switchBootEntryEditor(int index) ui->entry_form->setBootEntryListModel(model); list.setCurrentIndex(list.currentIndex()); enableBootEntryEditor(list.currentIndex()); - ui->entry_form->setReadOnly(model.options & BootEntryListModel::ReadOnly); ui->entries_actions->setDisabled(model.options & BootEntryListModel::ReadOnly); } @@ -295,9 +298,27 @@ void EFIBootEditor::reorderBootEntries() disableBootEntryEditor(); undo_stack.beginMacro(tr("Reorder %1 entries").arg(name)); + // Skip indexes with errors to not overwrite them accidentally + QSet errors; + for(int r = 0; r < model.rowCount(); ++r) + { + auto entry = model.index(r).data().value(); + if(entry->is_error) + errors.insert(entry->index); + } + uint16_t index = 0; for(int r = 0; r < model.rowCount(); ++r) - model.setEntryIndex(model.index(r), index++); + { + auto idx = model.index(r); + if(idx.data().value()->is_error) + continue; + + while(errors.contains(index)) + index++; + + model.setEntryIndex(idx, index++); + } undo_stack.endMacro(); enableBootEntryEditor(list.currentIndex()); diff --git a/src/form/bootentryform.ui b/src/form/bootentryform.ui index b1580e63..0988d97a 100644 --- a/src/form/bootentryform.ui +++ b/src/form/bootentryform.ui @@ -5,13 +5,7 @@ Boot entry form - - - QFormLayout::ExpandingFieldsGrow - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + 0 @@ -24,520 +18,567 @@ 0 - - - - Index - - - Index - - - Index - - - - - - - - Monospace - - - - Index - - - Index - - - <html><head/><body><p>Entry index.</p></body></html> - - - >\0\xHHHH;_ - - - 0x - - - - - + + - Description + Error - Description + Error - Description + - - - - - - Description - - - Description - - - <html><head/><body><p>Entry description.</p></body></html> - - - Qt::ImhLatinOnly|Qt::ImhNoPredictiveText + + Qt::AlignCenter - - + + - Path + Error note - Path + Error note - Path + This entry placeholder is shown here to indicate it's referenced in boot order. It won't be modified on save, just left as is. - - - - - - - 0 - 0 - + + Qt::AlignCenter - - - Monospace - - - - Device path - - - Device path - - - <html><head/><body><p>Device path.</p></body></html> - - - QAbstractScrollArea::AdjustToContents - - + true - - QAbstractItemView::ScrollPerPixel - - - QListView::Snap - - - QListView::Adjust - - - - - - 0 - 0 - - - - - 1 - - - 0 + + + + + QFormLayout::ExpandingFieldsGrow - - 0 + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - 1 - - - 1 - - - - - - 40 - 40 - - + + - Move file path up + Index - Move file path up - - - <html><head/><body><p>Move file path up.</p></body></html> + Index - - - - - .. + Index - - - - - 40 - 40 - + + + + + Monospace + - Move file path down + Index - Move file path down + Index - <html><head/><body><p>Move file path down.</p></body></html> + <html><head/><body><p>Entry index.</p></body></html> - - + + >\0\xHHHH;_ - - - .. + + 0x - - - - - 40 - 40 - + + + + Description + + Description + + + Description + + + + + - Remove file path + Description - Remove file path + Description - <html><head/><body><p>Remove file path.</p></body></html> + <html><head/><body><p>Entry description.</p></body></html> - - + + Qt::ImhLatinOnly|Qt::ImhNoPredictiveText - - - .. + + + + + + Path + + + Path + + + Path - - - - - 40 - 40 - + + + + + 0 + 0 + + + + + Monospace + - Edit file path + Device path - Edit file path + Device path - <html><head/><body><p>Edit file path.</p></body></html> + <html><head/><body><p>Device path.</p></body></html> + + + QAbstractScrollArea::AdjustToContents + + + true + + + QAbstractItemView::ScrollPerPixel + + + QListView::Snap + + + QListView::Adjust + + + + + + + + 0 + 0 + + + + + 1 + + + 0 + + + 0 + + + 1 + + + 1 + + + + + + 40 + 40 + + + + Move file path up + + + Move file path up + + + <html><head/><body><p>Move file path up.</p></body></html> + + + + + + + .. + + + + + + + + 40 + 40 + + + + Move file path down + + + Move file path down + + + <html><head/><body><p>Move file path down.</p></body></html> + + + + + + + .. + + + + + + + + 40 + 40 + + + + Remove file path + + + Remove file path + + + <html><head/><body><p>Remove file path.</p></body></html> + + + + + + + .. + + + + + + + + 40 + 40 + + + + Edit file path + + + Edit file path + + + <html><head/><body><p>Edit file path.</p></body></html> + + + + + + + .. + + + + + + + + 40 + 40 + + + + Add file path + + + Add file path + + + <html><head/><body><p>Add file path.</p></body></html> + + + + + + + .. + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Optional data + + + Optional data - + Optional + + + + + + + + 0 + 0 + - - - .. + + Optional data format + + + Optional data format + + <html><head/><body><p>Optional data format.</p></body></html> + + + + BASE64 + + + + + UTF-16 + + + + + UTF-8 + + + + + HEX + + - - - - - 40 - 40 - + + + + + 0 + 0 + + + + + Monospace + - Add file path + Optional data - Add file path + Optional data - <html><head/><body><p>Add file path.</p></body></html> + <html><head/><body><p>Entry optional data.</p></body></html> - - + + QAbstractScrollArea::AdjustToContents - - - .. + + false - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - Optional data - - - Optional data - - - Optional - - - - - - - - 0 - 0 - - - - Optional data format - - - Optional data format - - - <html><head/><body><p>Optional data format.</p></body></html> - - - - BASE64 - - - - - UTF-16 - - - - - UTF-8 - - - - - HEX - - - - - - - - - 0 - 0 - - - - - Monospace - - - - Optional data - - - Optional data - - - <html><head/><body><p>Entry optional data.</p></body></html> - - - QAbstractScrollArea::AdjustToContents - - - false - - - - - - - Attributes - - - Attributes - - - Attributes - - - - - - - - 0 - 0 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 9 - - - + + - Active + Attributes - Active - - - <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> + Attributes - Active + Attributes - - - - Qt::Horizontal - - - - 40 - 20 - - - + + + + + 0 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 9 + + + + + Active + + + Active + + + <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> + + + Active + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Hidden + + + Hidden + + + <html><head/><body><p>Hidden.</p></body></html> + + + Hidden + + + + + + + Force reconnect + + + Force reconnect + + + <html><head/><body><p>Force reconnect.</p></body></html> + + + Force reconnect + + + + + - - + + - Hidden + Category - Hidden - - - <html><head/><body><p>Hidden.</p></body></html> + Category - Hidden + Category - - + + + + + 0 + 0 + + - Force reconnect + Category - Force reconnect + Category - <html><head/><body><p>Force reconnect.</p></body></html> - - - Force reconnect - + <html><head/><body><p>Entry category.</p></body></html> + + + + Boot + + + + + App + + - - - - Category - - - Category - - - Category - - - - - - - - 0 - 0 - - - - Category - - - Category - - - <html><head/><body><p>Entry category.</p></body></html> - - - - Boot - - - - - App - - - - - + Qt::Vertical diff --git a/translations/efibooteditor_en.ts b/translations/efibooteditor_en.ts index 6ac26f29..f3795978 100644 --- a/translations/efibooteditor_en.ts +++ b/translations/efibooteditor_en.ts @@ -4,37 +4,37 @@ BootEntryForm - - - - - + + + + + Description Description - - - + + + Path Path - - - - + + + + Optional data Optional data - + Optional Optional - - + + Optional data format Optional data format @@ -44,189 +44,206 @@ Boot entry form - + + + Error + + + + + + Error note + + + + + This entry placeholder is shown here to indicate it's referenced in boot order. It won't be modified on save, just left as is. + + + + <html><head/><body><p>Entry description.</p></body></html> <html><head/><body><p>Entry description.</p></body></html> - - + + Device path Device path - + <html><head/><body><p>Device path.</p></body></html> <html><head/><body><p>Device path.</p></body></html> - - + + Move file path up Move file path up - + <html><head/><body><p>Move file path up.</p></body></html> <html><head/><body><p>Move file path up.</p></body></html> - - + + Move file path down Move file path down - + <html><head/><body><p>Move file path down.</p></body></html> <html><head/><body><p>Move file path down.</p></body></html> - - + + Remove file path Remove file path - + <html><head/><body><p>Remove file path.</p></body></html> <html><head/><body><p>Remove file path.</p></body></html> - - + + Edit file path Edit file path - + <html><head/><body><p>Edit file path.</p></body></html> <html><head/><body><p>Edit file path.</p></body></html> - - + + Add file path Add file path - + <html><head/><body><p>Add file path.</p></body></html> <html><head/><body><p>Add file path.</p></body></html> - + <html><head/><body><p>Optional data format.</p></body></html> <html><head/><body><p>Optional data format.</p></body></html> - + BASE64 BASE64 - + UTF-16 UTF-16 - + UTF-8 UTF-8 - + HEX HEX - + <html><head/><body><p>Entry optional data.</p></body></html> <html><head/><body><p>Entry optional data.</p></body></html> - - - + + + Attributes Attributes - + <html><head/><body><p>Entry category.</p></body></html> <html><head/><body><p>Entry category.</p></body></html> - + <html><head/><body><p>Entry index.</p></body></html> <html><head/><body><p>Entry index.</p></body></html> - + <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> - + <html><head/><body><p>Hidden.</p></body></html> <html><head/><body><p>Hidden.</p></body></html> - + <html><head/><body><p>Force reconnect.</p></body></html> <html><head/><body><p>Force reconnect.</p></body></html> - - - + + + Active Active - - - + + + Force reconnect Force reconnect - - - + + + Hidden Hidden - - - - - + + + + + Category Category - + Boot Boot - + App App - - - - - + + + + + Index Index - + Couldn't change optional data format! Couldn't change optional data format! @@ -353,28 +370,28 @@ EFIBootData - - - - - + + + + + %1: not found %1: not found - - - + + + %1: failed deserialization %1: failed deserialization - + Error loading entries Error loading entries - + Failed to load some EFI Boot Manager entries: - %1 @@ -383,79 +400,79 @@ - %1 - - + + Error saving entries Error saving entries - - + + Entry %1(%2): duplicated index! Entry %1(%2): duplicated index! - - - - - - + + + + + + Error saving %1 Error saving %1 - - - + + + Error removing %1 Error removing %1 - - - - + + + + Error importing boot configuration Error importing boot configuration - - + + Couldn't open selected file (%1). Couldn't open selected file (%1). - + Invalid _Type: %1 Invalid _Type: %1 - - + + Error exporting boot configuration Error exporting boot configuration - + Couldn't open selected file (%1): %2. Couldn't open selected file (%1): %2. - - + + Couldn't write into file (%1): %2. Couldn't write into file (%1): %2. - - - + + + Error dumping raw EFI data Error dumping raw EFI data - + Failed to dump some EFI Boot Manager entries: - %1 @@ -464,17 +481,17 @@ - %1 - + Timeout Timeout - + Apple boot-args Apple boot-args - + Firmware actions Firmware actions @@ -484,147 +501,147 @@ Loading EFI Boot Manager entries… - - + + Searching EFI Boot Manager entries… Searching EFI Boot Manager entries… - + Processing EFI Boot Manager entries (%1)… Processing EFI Boot Manager entries (%1)… - + Saving EFI Boot Manager entries… Saving EFI Boot Manager entries… - + Searching old EFI Boot Manager entries… Searching old EFI Boot Manager entries… - - - - - - + + + + + + Saving EFI Boot Manager entries (%1)… Saving EFI Boot Manager entries (%1)… - + Removing old EFI Boot Manager entries (%1)… Removing old EFI Boot Manager entries (%1)… - - + + Removing EFI Boot Manager entries (%1)… Removing EFI Boot Manager entries (%1)… - - - + + + Importing boot configuration… Importing boot configuration… - - + + Exporting boot configuration… Exporting boot configuration… - - + + Exporting EFI Boot Manager entries (%1)… Exporting EFI Boot Manager entries (%1)… - - + + Importing EFI Boot Manager entries (%1)… Importing EFI Boot Manager entries (%1)… - - - - - - - - - - + + + + + + + + + + %1: %2 expected %1: %2 expected - - - - + + + + number number - - - - - + + + + + bool bool - - - + + + array array - - - + + + string string - - + + %1: unknown os indication %1: unknown os indication - - - + + - - + + + object object - - + + hexadecimal number hexadecimal number - + %1: failed parsing %1: failed parsing - - + + Failed to import some EFI Boot Manager entries: - %1 @@ -633,7 +650,7 @@ - %1 - + object(raw_data: string, efi_attributes: number) Expected JSON structure, thrown as error description. raw_data and efi_attributes are field names in JSON file object(raw_data: string, efi_attributes: number) @@ -668,8 +685,8 @@ - - + + Boot Boot @@ -688,7 +705,7 @@ - + Driver Driver @@ -707,7 +724,7 @@ - + System Preparation System Preparation @@ -726,7 +743,7 @@ - + Platform Recovery Platform Recovery @@ -1328,7 +1345,7 @@ - + About EFI Boot Editor About EFI Boot Editor @@ -1398,51 +1415,51 @@ Are you sure you want to reorder the boot entries?<br/>All indexes will be overwritten! - + Are you sure you want to save?<br/>Your EFI configuration will be overwritten! Are you sure you want to save?<br/>Your EFI configuration will be overwritten! - + Open boot configuration dump Open boot configuration dump - - - + + + JSON documents (*.json) JSON documents (*.json) - + Save boot configuration dump Save boot configuration dump - + Save raw EFI dump Save raw EFI dump - + <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> About dialog <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> - + <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> About dialog details <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> - + Reorder %1 entries Reorder %1 entries - + Are you sure you want to quit? Are you sure you want to quit? @@ -2491,8 +2508,8 @@ <html><head/><body><p>Unknown data.</p></body></html> - - + + Couldn't change Vendor data format! Couldn't change Vendor data format! diff --git a/translations/efibooteditor_it.ts b/translations/efibooteditor_it.ts index f55f9951..c62a0731 100644 --- a/translations/efibooteditor_it.ts +++ b/translations/efibooteditor_it.ts @@ -4,37 +4,37 @@ BootEntryForm - - - - - + + + + + Description Descrizione - - - + + + Path Percorso - - - - + + + + Optional data Dati opzionali - + Optional Opzionale - - + + Optional data format Formato dati opzionali @@ -44,189 +44,206 @@ Modulo voce boot - + + + Error + + + + + + Error note + + + + + This entry placeholder is shown here to indicate it's referenced in boot order. It won't be modified on save, just left as is. + + + + <html><head/><body><p>Entry description.</p></body></html> <html><head/><body><p>Descrizione voce.</p></body></html> - - + + Device path Percorso dispositivo - + <html><head/><body><p>Device path.</p></body></html> <html><head/><body><p>Percorso dispositivo.</p></body></html> - - + + Move file path up Sposta percorso file su - + <html><head/><body><p>Move file path up.</p></body></html> <html><head/><body><p>Sposta percorso file su.</p></body></html> - - + + Move file path down Sposta percorso file giù - + <html><head/><body><p>Move file path down.</p></body></html> <html><head/><body><p>Sposta percorso file giù.</p></body></html> - - + + Remove file path Rimuovi percorso file - + <html><head/><body><p>Remove file path.</p></body></html> <html><head/><body><p>Rimuovi percorso file.</p></body></html> - - + + Edit file path Modifica percorso file - + <html><head/><body><p>Edit file path.</p></body></html> <html><head/><body><p>Modifica percorso file.</p></body></html> - - + + Add file path Aggiungi percorso file - + <html><head/><body><p>Add file path.</p></body></html> <html><head/><body><p>Aggiungi percorso file.</p></body></html> - + <html><head/><body><p>Optional data format.</p></body></html> <html><head/><body><p>Formato dati opzionali.</p></body></html> - + BASE64 BASE64 - + UTF-16 UTF-16 - + UTF-8 UTF-8 - + HEX HEX - + <html><head/><body><p>Entry optional data.</p></body></html> <html><head/><body><p>Dati opzionali voce.</p></body></html> - - - + + + Attributes Attributi - + <html><head/><body><p>Entry category.</p></body></html> <html><head/><body><p>Categoria voce.</p></body></html> - + <html><head/><body><p>Entry index.</p></body></html> <html><head/><body><p>Indice voce.</p></body></html> - + <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> <html><head/><body><p>La voce è considerata per l'avvio automatico?</p></body></html> - + <html><head/><body><p>Hidden.</p></body></html> <html><head/><body><p>Nascosto.</p></body></html> - + <html><head/><body><p>Force reconnect.</p></body></html> <html><head/><body><p>Forza riconnessione.</p></body></html> - - - + + + Active Attivo - - - + + + Force reconnect Forza riconnessione - - - + + + Hidden Nascosto - - - - - + + + + + Category Categoria - + Boot Boot - + App App - - - - - + + + + + Index Indice - + Couldn't change optional data format! Impossibile modificare il formato dei dati opzionali! @@ -353,28 +370,28 @@ EFIBootData - - - - - + + + + + %1: not found %1: non trovato - - - + + + %1: failed deserialization %1: deserializzazione fallita - + Error loading entries Errore durante il caricamento delle voci - + Failed to load some EFI Boot Manager entries: - %1 @@ -383,79 +400,79 @@ - %1 - - + + Error saving entries Errore durante il salvataggio delle voci - - + + Entry %1(%2): duplicated index! Voce %1(%2): indice duplicato! - - - - - - + + + + + + Error saving %1 Errore durante il salvataggio di '%1' - - - + + + Error removing %1 Errore durante la rimozione di '%1' - - - - + + + + Error importing boot configuration Errore durante l'importazione della configurazione di boot - - + + Couldn't open selected file (%1). Impossibile aprire il file selezionato (%1). - + Invalid _Type: %1 _Tipo non valido: %1 - - + + Error exporting boot configuration Errore durante l'esportazione della configurazione di boot - + Couldn't open selected file (%1): %2. Impossibile aprire il file selezionato (%1): %2. - - + + Couldn't write into file (%1): %2. Impossibile scrivere nel file (%1): %2. - - - + + + Error dumping raw EFI data Errore durante il dump dei dati EFI non elaborati - + Failed to dump some EFI Boot Manager entries: - %1 @@ -464,17 +481,17 @@ - %1 - + Timeout Timeout - + Apple boot-args Argomenti boot Apple - + Firmware actions Azioni firmware @@ -484,147 +501,147 @@ Caricamento voci EFI Boot Manager… - - + + Searching EFI Boot Manager entries… Ricerca voci EFI Boot Manager… - + Processing EFI Boot Manager entries (%1)… Elaborazione voci EFI Boot Manager (%1)… - + Saving EFI Boot Manager entries… Salvataggio voci EFI Boot Manager… - + Searching old EFI Boot Manager entries… Ricerca vecchie voci EFI Boot Manager… - - - - - - + + + + + + Saving EFI Boot Manager entries (%1)… Salvataggio voci EFI Boot Manager (%1)… - + Removing old EFI Boot Manager entries (%1)… Rimozione vecchie voci EFI Boot Manager (%1)… - - + + Removing EFI Boot Manager entries (%1)… Rimozione voci EFI Boot Manager (%1)… - - - + + + Importing boot configuration… Importazione configurazione di boot… - - + + Exporting boot configuration… Esportazione configurazione di boot… - - + + Exporting EFI Boot Manager entries (%1)… Esportazione voci EFI Boot Manager (%1)… - - + + Importing EFI Boot Manager entries (%1)… Importazione voci EFI Boot Manager (%1)… - - - - - - - - - - + + + + + + + + + + %1: %2 expected %1: previsto %2 - - - - + + + + number numero - - - - - + + + + + bool bool - - - + + + array matrice - - - + + + string stringa - - + + %1: unknown os indication %1: indicazione s.o. sconosciuto - - - + + - - + + + object oggetto - - + + hexadecimal number numero esadecimale - + %1: failed parsing %1: analisi fallita - - + + Failed to import some EFI Boot Manager entries: - %1 @@ -633,7 +650,7 @@ - %1 - + object(raw_data: string, efi_attributes: number) Expected JSON structure, thrown as error description. raw_data and efi_attributes are field names in JSON file object(raw_data: string, efi_attributes: number) @@ -668,8 +685,8 @@ - - + + Boot Boot @@ -688,7 +705,7 @@ - + Driver Driver @@ -707,7 +724,7 @@ - + System Preparation Preparazione sistema @@ -726,7 +743,7 @@ - + Platform Recovery Ripristino piattaforma @@ -1323,7 +1340,7 @@ - + About EFI Boot Editor Info su EFI Boot Editor @@ -1393,45 +1410,45 @@ Sei sicuro di voler riordinare le voci di boot?<br/>Tutti gli indici verranno sovrascritti! - + Are you sure you want to save?<br/>Your EFI configuration will be overwritten! Sei sicuro di voler salvare?<br/>La configurazione EFI verrà sovrascritta! - + Open boot configuration dump Apri dump configurazione di boot - - - + + + JSON documents (*.json) Documenti JSON (*.json) - + Save boot configuration dump Salva dump configurazione di boot - + Save raw EFI dump Salva dump configurazione EFI grezza - + <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> About dialog details <p><a href='%1'>Website</a></p><p>Il programma è fornito COSÌ COM'È SENZA GARANZIE DI ALCUN TIPO, COMPRESA LA GARANZIA DI DESIGN, COMMERCIABILITÀ E IDONEITÀ PER UNO SCOPO PARTICOLARE.</p><p>Licenza: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Versione 3</a></p><p>Per l'accesso alle variabili EFI In Linux usa <a href='https://github.com/rhboot/efivar'>efivar</a>.</p><p>Usa le icone di Tango come icone di riserva.</p> - + Reorder %1 entries Riordina '%1' voci - + Are you sure you want to quit? Sei sicuro di voler uscire? @@ -1441,7 +1458,7 @@ È richiesto il supporto EFI - + <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> About dialog <h1>EFI Boot Editor</h1><p>Versione <b>%1</b></p><p>Boot Editor per sistemi basati su (U)EFI.</p> @@ -2491,8 +2508,8 @@ <html><head/><body><p>Dati sconosciuti.</p></body></html> - - + + Couldn't change Vendor data format! Impossibile modificare il formato dei dati del produttore! diff --git a/translations/efibooteditor_nb_NO.ts b/translations/efibooteditor_nb_NO.ts index 2703bb10..04c5bba0 100644 --- a/translations/efibooteditor_nb_NO.ts +++ b/translations/efibooteditor_nb_NO.ts @@ -4,37 +4,37 @@ BootEntryForm - - - - - + + + + + Description Beskrivelse - - - + + + Path Sti - - - - + + + + Optional data Valgfri data - + Optional Valgfritt - - + + Optional data format Valgfritt datoformat @@ -44,189 +44,206 @@ Oppstartsoppføringsskjema - + + + Error + + + + + + Error note + + + + + This entry placeholder is shown here to indicate it's referenced in boot order. It won't be modified on save, just left as is. + + + + <html><head/><body><p>Entry description.</p></body></html> <html><head/><body><p>Oppføringsbeskrivelse.</p></body></html> - - + + Device path Enhetssti - + <html><head/><body><p>Device path.</p></body></html> <html><head/><body><p>Enhetssti.</p></body></html> - - + + Move file path up Flytt filsti oppover - + <html><head/><body><p>Move file path up.</p></body></html> <html><head/><body><p>Flytt filsti oppover.</p></body></html> - - + + Move file path down Flytt filsti nedover - + <html><head/><body><p>Move file path down.</p></body></html> <html><head/><body><p>Flytt filsti nedover.</p></body></html> - - + + Remove file path Fjern filsti - + <html><head/><body><p>Remove file path.</p></body></html> <html><head/><body><p>Fjern filsti.</p></body></html> - - + + Edit file path Rediger filsti - + <html><head/><body><p>Edit file path.</p></body></html> <html><head/><body><p>Rediger filsti.</p></body></html> - - + + Add file path Legg til filsti - + <html><head/><body><p>Add file path.</p></body></html> <html><head/><body><p>Legg til filsti.</p></body></html> - + <html><head/><body><p>Optional data format.</p></body></html> <html><head/><body><p>Valgfritt datoformat.</p></body></html> - + BASE64 BASE64 - + UTF-16 UTF-16 - + UTF-8 UTF-8 - + HEX HEX - + <html><head/><body><p>Entry optional data.</p></body></html> <html><head/><body><p>Entry optional data.</p></body></html> - - - + + + Attributes Attributes - + <html><head/><body><p>Entry category.</p></body></html> <html><head/><body><p>Entry category.</p></body></html> - + <html><head/><body><p>Entry index.</p></body></html> <html><head/><body><p>Entry index.</p></body></html> - + <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> - + <html><head/><body><p>Hidden.</p></body></html> <html><head/><body><p>Hidden.</p></body></html> - + <html><head/><body><p>Force reconnect.</p></body></html> <html><head/><body><p>Force reconnect.</p></body></html> - - - + + + Active Active - - - + + + Force reconnect Force reconnect - - - + + + Hidden Hidden - - - - - + + + + + Category Category - + Boot Boot - + App App - - - - - + + + + + Index Index - + Couldn't change optional data format! Couldn't change optional data format! @@ -353,28 +370,28 @@ EFIBootData - - - - - + + + + + %1: not found %1: not found - - - + + + %1: failed deserialization %1: failed deserialization - + Error loading entries Error loading entries - + Failed to load some EFI Boot Manager entries: - %1 @@ -383,79 +400,79 @@ - %1 - - + + Error saving entries Error saving entries - - + + Entry %1(%2): duplicated index! Entry %1(%2): duplicated index! - - - - - - + + + + + + Error saving %1 Error saving %1 - - - + + + Error removing %1 Error removing %1 - - - - + + + + Error importing boot configuration Error importing boot configuration - - + + Couldn't open selected file (%1). Couldn't open selected file (%1). - + Invalid _Type: %1 Invalid _Type: %1 - - + + Error exporting boot configuration Error exporting boot configuration - + Couldn't open selected file (%1): %2. Couldn't open selected file (%1): %2. - - + + Couldn't write into file (%1): %2. Couldn't write into file (%1): %2. - - - + + + Error dumping raw EFI data Error dumping raw EFI data - + Failed to dump some EFI Boot Manager entries: - %1 @@ -464,17 +481,17 @@ - %1 - + Timeout Timeout - + Apple boot-args Apple boot-args - + Firmware actions Firmware actions @@ -484,147 +501,147 @@ Loading EFI Boot Manager entries… - - + + Searching EFI Boot Manager entries… Searching EFI Boot Manager entries… - + Processing EFI Boot Manager entries (%1)… Processing EFI Boot Manager entries (%1)… - + Saving EFI Boot Manager entries… Saving EFI Boot Manager entries… - + Searching old EFI Boot Manager entries… Searching old EFI Boot Manager entries… - - - - - - + + + + + + Saving EFI Boot Manager entries (%1)… Saving EFI Boot Manager entries (%1)… - + Removing old EFI Boot Manager entries (%1)… Removing old EFI Boot Manager entries (%1)… - - + + Removing EFI Boot Manager entries (%1)… Removing EFI Boot Manager entries (%1)… - - - + + + Importing boot configuration… Importing boot configuration… - - + + Exporting boot configuration… Exporting boot configuration… - - + + Exporting EFI Boot Manager entries (%1)… Exporting EFI Boot Manager entries (%1)… - - + + Importing EFI Boot Manager entries (%1)… Importing EFI Boot Manager entries (%1)… - - - - - - - - - - + + + + + + + + + + %1: %2 expected %1: %2 expected - - - - + + + + number number - - - - - + + + + + bool bool - - - + + + array array - - - + + + string string - - + + %1: unknown os indication %1: unknown os indication - - - + + - - + + + object object - - + + hexadecimal number hexadecimal number - + %1: failed parsing %1: failed parsing - - + + Failed to import some EFI Boot Manager entries: - %1 @@ -633,7 +650,7 @@ - %1 - + object(raw_data: string, efi_attributes: number) Expected JSON structure, thrown as error description. raw_data and efi_attributes are field names in JSON file object(raw_data: string, efi_attributes: number) @@ -668,8 +685,8 @@ - - + + Boot Boot @@ -688,7 +705,7 @@ - + Driver Driver @@ -707,7 +724,7 @@ - + System Preparation System Preparation @@ -726,7 +743,7 @@ - + Platform Recovery Platform Recovery @@ -1328,7 +1345,7 @@ - + About EFI Boot Editor About EFI Boot Editor @@ -1398,56 +1415,56 @@ Are you sure you want to reorder the boot entries?<br/>All indexes will be overwritten! - + Are you sure you want to save?<br/>Your EFI configuration will be overwritten! Are you sure you want to save?<br/>Your EFI configuration will be overwritten! - + Open boot configuration dump Open boot configuration dump - - - + + + JSON documents (*.json) JSON documents (*.json) - + Save boot configuration dump Save boot configuration dump - + Save raw EFI dump Save raw EFI dump - + <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> About dialog <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> - + <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> About dialog details <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> - + Reorder %1 entries Reorder %1 entries - + Are you sure you want to quit? Are you sure you want to quit? - + EFI support required EFI support required @@ -2491,8 +2508,8 @@ <html><head/><body><p>Unknown data.</p></body></html> - - + + Couldn't change Vendor data format! Couldn't change Vendor data format! diff --git a/translations/efibooteditor_pl.ts b/translations/efibooteditor_pl.ts index 8b702d3f..1b2df1a3 100644 --- a/translations/efibooteditor_pl.ts +++ b/translations/efibooteditor_pl.ts @@ -4,37 +4,37 @@ BootEntryForm - - - - - + + + + + Description Opis - - - + + + Path Ścieżka - - - - + + + + Optional data Dodatkowe dane - + Optional Dodatkowe - - + + Optional data format Format danych dodatkowych @@ -44,189 +44,206 @@ Formularz wpisu rozruchu - + + + Error + + + + + + Error note + + + + + This entry placeholder is shown here to indicate it's referenced in boot order. It won't be modified on save, just left as is. + + + + <html><head/><body><p>Entry description.</p></body></html> <html><head/><body><p>Opis wpisu.</p></body></html> - - + + Device path Ścieżka urządzenia - + <html><head/><body><p>Device path.</p></body></html> <html><head/><body><p>Ścieżka urządzenia.</p></body></html> - - + + Move file path up Przenieś ścieżkę w górę - + <html><head/><body><p>Move file path up.</p></body></html> <html><head/><body><p>Przenieś ścieżkę w górę.</p></body></html> - - + + Move file path down Przenieś ścieżkę w dół - + <html><head/><body><p>Move file path down.</p></body></html> <html><head/><body><p>Przenieś ścieżkę w dół.</p></body></html> - - + + Remove file path Usuń ścieżkę - + <html><head/><body><p>Remove file path.</p></body></html> <html><head/><body><p>Usuń ścieżkę.</p></body></html> - - + + Edit file path Edytuj ścieżkę - + <html><head/><body><p>Edit file path.</p></body></html> <html><head/><body><p>Edytuj ścieżkę.</p></body></html> - - + + Add file path Dodaj ścieżkę - + <html><head/><body><p>Add file path.</p></body></html> <html><head/><body><p>Dodaj ścieżkę.</p></body></html> - + <html><head/><body><p>Optional data format.</p></body></html> <html><head/><body><p>Format danych dodatkowych.</p></body></html> - + BASE64 BASE64 - + UTF-16 UTF-16 - + UTF-8 UTF-8 - + HEX HEX - + <html><head/><body><p>Entry optional data.</p></body></html> <html><head/><body><p>Dodatkowe dane wpisu.</p></body></html> - - - + + + Attributes Atrybuty - + <html><head/><body><p>Entry category.</p></body></html> <html><head/><body><p>Kategoria wpisu.</p></body></html> - + <html><head/><body><p>Entry index.</p></body></html> <html><head/><body><p>Indeks wpisu.</p></body></html> - + <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> <html><head/><body><p>Czy wpis jest brany pod uwagę przy automatycznym uruchamianiu?</p></body></html> - + <html><head/><body><p>Hidden.</p></body></html> <html><head/><body><p>Ukryty.</p></body></html> - + <html><head/><body><p>Force reconnect.</p></body></html> <html><head/><body><p>Wymuś ponowne połączenie.</p></body></html> - - - + + + Active Aktywny - - - + + + Force reconnect Wymuś ponowne połączenie - - - + + + Hidden Ukryty - - - - - + + + + + Category Kategoria - + Boot Rozruch - + App Aplikacja - - - - - + + + + + Index Indeks - + Couldn't change optional data format! Nie można zmienić formatu danych dodatkowych! @@ -236,7 +253,7 @@ Set Next boot to "%1" - Ustaw następny rozruch na „% 1” + Ustaw następny rozruch na „%1” @@ -353,28 +370,28 @@ EFIBootData - - - - - + + + + + %1: not found %1: nie znaleziono - - - + + + %1: failed deserialization %1: deserializacja nie powiodła się - + Error loading entries Błąd ładowania wpisów - + Failed to load some EFI Boot Manager entries: - %1 @@ -383,79 +400,79 @@ - %1 - - + + Error saving entries Błąd podczas zapisywania wpisów - - + + Entry %1(%2): duplicated index! Wpis %1(%2): zduplikowany indeks! - - - - - - + + + + + + Error saving %1 Błąd podczas zapisywania %1 - - - + + + Error removing %1 Błąd podczas usuwania %1 - - - - + + + + Error importing boot configuration Błąd podczas importowania konfiguracji rozruchu - - + + Couldn't open selected file (%1). Nie można otworzyć wybranego pliku (%1). - + Invalid _Type: %1 Niepoprawny _Typ: %1 - - + + Error exporting boot configuration Error exporting boot configuration - + Couldn't open selected file (%1): %2. Couldn't open selected file (%1): %2. - - + + Couldn't write into file (%1): %2. Couldn't write into file (%1): %2. - - - + + + Error dumping raw EFI data Error dumping raw EFI data - + Failed to dump some EFI Boot Manager entries: - %1 @@ -464,17 +481,17 @@ - %1 - + Timeout Timeout - + Apple boot-args Apple boot-args - + Firmware actions Firmware actions @@ -484,147 +501,147 @@ Loading EFI Boot Manager entries… - - + + Searching EFI Boot Manager entries… Searching EFI Boot Manager entries… - + Processing EFI Boot Manager entries (%1)… Processing EFI Boot Manager entries (%1)… - + Saving EFI Boot Manager entries… Saving EFI Boot Manager entries… - + Searching old EFI Boot Manager entries… Searching old EFI Boot Manager entries… - - - - - - + + + + + + Saving EFI Boot Manager entries (%1)… Saving EFI Boot Manager entries (%1)… - + Removing old EFI Boot Manager entries (%1)… Removing old EFI Boot Manager entries (%1)… - - + + Removing EFI Boot Manager entries (%1)… Removing EFI Boot Manager entries (%1)… - - - + + + Importing boot configuration… Importing boot configuration… - - + + Exporting boot configuration… Exporting boot configuration… - - + + Exporting EFI Boot Manager entries (%1)… Exporting EFI Boot Manager entries (%1)… - - + + Importing EFI Boot Manager entries (%1)… Importing EFI Boot Manager entries (%1)… - - - - - - - - - - + + + + + + + + + + %1: %2 expected %1: %2 expected - - - - + + + + number number - - - - - + + + + + bool bool - - - + + + array array - - - + + + string string - - + + %1: unknown os indication %1: unknown os indication - - - + + - - + + + object object - - + + hexadecimal number hexadecimal number - + %1: failed parsing %1: failed parsing - - + + Failed to import some EFI Boot Manager entries: - %1 @@ -633,7 +650,7 @@ - %1 - + object(raw_data: string, efi_attributes: number) Expected JSON structure, thrown as error description. raw_data and efi_attributes are field names in JSON file object(raw_data: string, efi_attributes: number) @@ -668,8 +685,8 @@ - - + + Boot Rozruch @@ -688,7 +705,7 @@ - + Driver Sterownik @@ -707,7 +724,7 @@ - + System Preparation System Preparation @@ -726,7 +743,7 @@ - + Platform Recovery Platform Recovery @@ -1328,7 +1345,7 @@ - + About EFI Boot Editor Informajce o EFI Boot Editor @@ -1398,51 +1415,51 @@ Are you sure you want to reorder the boot entries?<br/>All indexes will be overwritten! - + Are you sure you want to save?<br/>Your EFI configuration will be overwritten! Are you sure you want to save?<br/>Your EFI configuration will be overwritten! - + Open boot configuration dump Open boot configuration dump - - - + + + JSON documents (*.json) JSON documents (*.json) - + Save boot configuration dump Save boot configuration dump - + Save raw EFI dump Save raw EFI dump - + <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> About dialog <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> - + <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> About dialog details <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> - + Reorder %1 entries Reorder %1 entries - + Are you sure you want to quit? Are you sure you want to quit? @@ -2491,8 +2508,8 @@ <html><head/><body><p>Unknown data.</p></body></html> - - + + Couldn't change Vendor data format! Couldn't change Vendor data format! diff --git a/translations/efibooteditor_sk.ts b/translations/efibooteditor_sk.ts index 9e6b25f7..78acfcda 100644 --- a/translations/efibooteditor_sk.ts +++ b/translations/efibooteditor_sk.ts @@ -4,37 +4,37 @@ BootEntryForm - - - - - + + + + + Description Popis - - - + + + Path Cesta - - - - + + + + Optional data Nepovinné údaje - + Optional Voliteľné - - + + Optional data format Voliteľný formát údajov @@ -44,189 +44,206 @@ Bootovací formulár - + + + Error + + + + + + Error note + + + + + This entry placeholder is shown here to indicate it's referenced in boot order. It won't be modified on save, just left as is. + + + + <html><head/><body><p>Entry description.</p></body></html> <html><head/><body><p>Zadať popis.</p></body></html> - - + + Device path Cesta k zariadeniu - + <html><head/><body><p>Device path.</p></body></html> <html><head/><body><p>Cesta k zariadeniu.</p></body></html> - - + + Move file path up Presunúť cestu k súboru hore - + <html><head/><body><p>Move file path up.</p></body></html> <html><head/><body><p>Presunúť cestu k súboru hore.</p></body></html> - - + + Move file path down Presunúť cestu k súboru dole - + <html><head/><body><p>Move file path down.</p></body></html> <html><head/><body><p>Presunúť cestu k súboru dole.</p></body></html> - - + + Remove file path Odstrániť cestu k súboru - + <html><head/><body><p>Remove file path.</p></body></html> <html><head/><body><p>Odstrániť cestu k súboru.</p></body></html> - - + + Edit file path Upraviť cestu k súboru - + <html><head/><body><p>Edit file path.</p></body></html> <html><head/><body><p>Upraviť cestu k súboru.</p></body></html> - - + + Add file path Pridať cestu k súboru - + <html><head/><body><p>Add file path.</p></body></html> <html><head/><body><p>Pridať cestu k súboru.</p></body></html> - + <html><head/><body><p>Optional data format.</p></body></html> <html><head/><body><p>Voliteľný formát údajov.</p></body></html> - + BASE64 BASE64 - + UTF-16 UTF-16 - + UTF-8 UTF-8 - + HEX HEX - + <html><head/><body><p>Entry optional data.</p></body></html> <html><head/><body><p>Zadať nepovinné údaje.</p></body></html> - - - + + + Attributes Atribúty - + <html><head/><body><p>Entry category.</p></body></html> <html><head/><body><p>Zadať kategóriu.</p></body></html> - + <html><head/><body><p>Entry index.</p></body></html> <html><head/><body><p>Zadať index.</p></body></html> - + <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> <html><head/><body><p>Zvažuje sa automatické spustenie?</p></body></html> - + <html><head/><body><p>Hidden.</p></body></html> <html><head/><body><p>Skryté.</p></body></html> - + <html><head/><body><p>Force reconnect.</p></body></html> <html><head/><body><p>Vynútiť opätovné pripojenie.</p></body></html> - - - + + + Active Aktívne - - - + + + Force reconnect Vynútiť opätovné pripojenie - - - + + + Hidden Skryté - - - - - + + + + + Category Kategória - + Boot Spúšťacie - + App Aplikácia - - - - - + + + + + Index Index - + Couldn't change optional data format! Nepodarilo sa zmeniť voliteľný formát údajov! @@ -353,28 +370,28 @@ EFIBootData - - - - - + + + + + %1: not found %1: nenájdené - - - + + + %1: failed deserialization %1: neúspešná deserializácia - + Error loading entries Chyba pri načítaní záznamov - + Failed to load some EFI Boot Manager entries: - %1 @@ -383,79 +400,79 @@ - %1 - - + + Error saving entries Chyba pri ukladaní záznamov - - + + Entry %1(%2): duplicated index! Záznam %1(%2): duplikovaný index! - - - - - - + + + + + + Error saving %1 Chyba pri ukladaní %1 - - - + + + Error removing %1 Chyba pri odstraňovaní %1 - - - - + + + + Error importing boot configuration Chyba pri importovaní spúšťacej konfigurácie - - + + Couldn't open selected file (%1). Vybraný súbor sa nepodarilo otvoriť (%1). - + Invalid _Type: %1 Neplatný _Type: %1 - - + + Error exporting boot configuration Chyba pri exportovaní spúšťacej konfigurácie - + Couldn't open selected file (%1): %2. Vybraný súbor sa nepodarilo otvoriť (%1): %2. - - + + Couldn't write into file (%1): %2. Nepodaril sa zápis do súboru (%1): %2. - - - + + + Error dumping raw EFI data Chyba výpisu nespracovaných dát EFI - + Failed to dump some EFI Boot Manager entries: - %1 @@ -464,17 +481,17 @@ - %1 - + Timeout Časový limit - + Apple boot-args Argumenty spúšťania Apple - + Firmware actions Akcie firmvéru @@ -484,147 +501,147 @@ Načítanie položiek EFI Boot Manager… - - + + Searching EFI Boot Manager entries… Vyhľadávanie položiek EFI Boot Manager… - + Processing EFI Boot Manager entries (%1)… Spracovanie položiek EFI Boot Manager (%1)… - + Saving EFI Boot Manager entries… Ukladanie položiek EFI Boot Manager… - + Searching old EFI Boot Manager entries… Vyhľadávanie starých položiek EFI Boot Manager… - - - - - - + + + + + + Saving EFI Boot Manager entries (%1)… Ukladanie položiek EFI Boot Manager (%1)… - + Removing old EFI Boot Manager entries (%1)… Odstraňovanie starých položiek EFI Boot Manager (%1)… - - + + Removing EFI Boot Manager entries (%1)… Odstraňovanie položiek EFI Boot Manager (%1)… - - - + + + Importing boot configuration… Importovanie spúšťacej konfigurácie… - - + + Exporting boot configuration… Exportovanie spúšťacej konfigurácie… - - + + Exporting EFI Boot Manager entries (%1)… Exportovanie položiek EFI Boot Manager (%1)… - - + + Importing EFI Boot Manager entries (%1)… Importovanie položiek EFI Boot Manager (%1)… - - - - - - - - - - + + + + + + + + + + %1: %2 expected %1: očakáva sa %2 - - - - + + + + number číslo - - - - - + + + + + bool bool - - - + + + array pole - - - + + + string reťazec - - + + %1: unknown os indication %1: neznáma indikácia os - - - + + - - + + + object objekt - - + + hexadecimal number hexadecimálne číslo - + %1: failed parsing %1: neúspešná analýza - - + + Failed to import some EFI Boot Manager entries: - %1 @@ -633,7 +650,7 @@ - %1 - + object(raw_data: string, efi_attributes: number) Expected JSON structure, thrown as error description. raw_data and efi_attributes are field names in JSON file object(raw_data: string, efi_attributes: number) @@ -668,8 +685,8 @@ - - + + Boot Boot @@ -688,7 +705,7 @@ - + Driver Ovládač @@ -707,7 +724,7 @@ - + System Preparation Príprava systému @@ -726,7 +743,7 @@ - + Platform Recovery Obnova platformy @@ -1328,7 +1345,7 @@ - + About EFI Boot Editor O aplikácii EFI Boot Editor @@ -1398,51 +1415,51 @@ Chcete zmeniť poradie spúšťacích položiek?<br/>Všetky indexy budú prepísané! - + Are you sure you want to save?<br/>Your EFI configuration will be overwritten! Chcete uložiť zmeny?<br/>Vaša konfigurácia EFI bude prepísaná! - + Open boot configuration dump Otvoriť výpis konfigurácie spúšťania - - - + + + JSON documents (*.json) Dokumenty JSON (*.json) - + Save boot configuration dump Uloženie výpisu konfigurácie spúšťania - + Save raw EFI dump Uložiť nespracované údaje EFI - + <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> About dialog <h1>EFI Boot Editor</h1><p>Verzia <b>%1</b></p><p>Boot Editor pre systémy založené na (U)EFI.</p> - + <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> About dialog details <p><a href='%1'>Webstránka</a></p><p>Program sa poskytuje TAK AKO JE, bez ŽIADNEJ ZÁRUKY, VRÁTANE ZÁRUKY NA DIZAJN, PREDAJNOSTI A VHODNOSTI NA KONKRÉTNY ÚČEL.</p><p>Licencia: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL verzia 3</a></p><p>Pre systém Linux používa <a href='https://github.com/rhboot/efivar'>efivar</a> pre prístup k premenným EFI.</p><p>Použité ikony Tango ako rezervné ikony.</p> - + Reorder %1 entries Zmena poradia položiek %1 - + Are you sure you want to quit? Ste si istý, že chcete skončiť? @@ -2491,8 +2508,8 @@ <html><head/><body><p>Neznáme údaje.</p></body></html> - - + + Couldn't change Vendor data format! Nepodarilo sa zmeniť formát dát predajcu! diff --git a/translations/efibooteditor_sl.ts b/translations/efibooteditor_sl.ts index 1acc25bb..955c8a0a 100644 --- a/translations/efibooteditor_sl.ts +++ b/translations/efibooteditor_sl.ts @@ -4,37 +4,37 @@ BootEntryForm - - - - - + + + + + Description Opis - - - + + + Path Pot - - - - + + + + Optional data Neobvezni podatki - + Optional Neobvezno - - + + Optional data format Format neobveznih podatkov @@ -44,189 +44,206 @@ Obrazec zagonskega vnosa - + + + Error + + + + + + Error note + + + + + This entry placeholder is shown here to indicate it's referenced in boot order. It won't be modified on save, just left as is. + + + + <html><head/><body><p>Entry description.</p></body></html> <html><head/><body><p>Opis vnosa.</p></body></html> - - + + Device path Pot naprave - + <html><head/><body><p>Device path.</p></body></html> <html><head/><body><p>Pot naprave.</p></body></html> - - + + Move file path up Premakni pot datoteke navzgor - + <html><head/><body><p>Move file path up.</p></body></html> <html><head/><body><p>Premakni pot datoteke navzgor.</p></body></html> - - + + Move file path down Premakni pot datoteke navzdol - + <html><head/><body><p>Move file path down.</p></body></html> <html><head/><body><p>Premakni pot datoteke navzdol.</p></body></html> - - + + Remove file path Odstrani pot datoteke - + <html><head/><body><p>Remove file path.</p></body></html> <html><head/><body><p>Odstrani pot datoteke.</p></body></html> - - + + Edit file path Uredi pot datoteke - + <html><head/><body><p>Edit file path.</p></body></html> <html><head/><body><p>Uredi pot datoteke.</p></body></html> - - + + Add file path Dodaj pot datoteke - + <html><head/><body><p>Add file path.</p></body></html> <html><head/><body><p>Dodaj pot datoteke.</p></body></html> - + <html><head/><body><p>Optional data format.</p></body></html> <html><head/><body><p>Format neobveznih podatkov.</p></body></html> - + BASE64 BASE64 - + UTF-16 UTF-16 - + UTF-8 UTF-8 - + HEX 16-tiško - + <html><head/><body><p>Entry optional data.</p></body></html> <html><head/><body><p>Vnos neobveznih podatkov.</p></body></html> - - - + + + Attributes Atributi - + <html><head/><body><p>Entry category.</p></body></html> <html><head/><body><p>Kategorija vnosa.</p></body></html> - + <html><head/><body><p>Entry index.</p></body></html> <html><head/><body><p>Indeks vnosa.</p></body></html> - + <html><head/><body><p>Is entry considered for automatic boot?</p></body></html> <html><head/><body><p>Ali se vnos upošteva za samodejni zagon?</p></body></html> - + <html><head/><body><p>Hidden.</p></body></html> <html><head/><body><p>Skrit.</p></body></html> - + <html><head/><body><p>Force reconnect.</p></body></html> <html><head/><body><p>Prisilno znova poveži.</p></body></html> - - - + + + Active Aktiven - - - + + + Force reconnect Prisilno znova poveži - - - + + + Hidden Skrit - - - - - + + + + + Category Kategorija - + Boot Zagon - + App Aplikacija - - - - - + + + + + Index Indeks - + Couldn't change optional data format! Formata neobveznih podatkov ni bilo mogoče spremeniti! @@ -353,28 +370,28 @@ EFIBootData - - - - - + + + + + %1: not found %1: ni bilo mogoče najti - - - + + + %1: failed deserialization %1: neuspešna deserializacija - + Error loading entries Napaka pri nalaganju vnosov - + Failed to load some EFI Boot Manager entries: - %1 @@ -383,79 +400,79 @@ - %1 - - + + Error saving entries Napaka pri shranjevanju vnosov - - + + Entry %1(%2): duplicated index! Napaka %1(%2): podvojen indeks! - - - - - - + + + + + + Error saving %1 Napaka pri shranjevanju %1 - - - + + + Error removing %1 Napaka pri odstranjevanju %1 - - - - + + + + Error importing boot configuration Napaka pri uvozu zagonskih nastavitev - - + + Couldn't open selected file (%1). Izbrane datoteke (%1) ni bilo mogoče odpreti. - + Invalid _Type: %1 Neveljavna_vrsta: %1 - - + + Error exporting boot configuration Napaka pri izvozu zagonskih nastavitev - + Couldn't open selected file (%1): %2. Ni bilo mogoče odpreti izbrane datoteke (%1): %2. - - + + Couldn't write into file (%1): %2. Ni bilo mogoče pisati v datoteko (%1): %2. - - - + + + Error dumping raw EFI data Napaka pri izpisu surovih podatkov EFI - + Failed to dump some EFI Boot Manager entries: - %1 @@ -464,17 +481,17 @@ - %1 - + Timeout Odmor - + Apple boot-args Apple zagonski argumenti - + Firmware actions Akcije vdelane programske opreme @@ -484,147 +501,147 @@ Nalaganje vnosov EFI Boot Managerja… - - + + Searching EFI Boot Manager entries… Iskanje vnosov EFI Boot Managerja… - + Processing EFI Boot Manager entries (%1)… Obdelava vnosov EFI Boot Managerja (%1)… - + Saving EFI Boot Manager entries… Shranjevanje vnosov EFI Boot Managerja… - + Searching old EFI Boot Manager entries… Iskanje starih vnosov EFI Boot Managerja… - - - - - - + + + + + + Saving EFI Boot Manager entries (%1)… Shranjevanje vnosov EFI Boot Managerja (%1)… - + Removing old EFI Boot Manager entries (%1)… Odstranjevanje starih vnosov EFI Boot Managerja (%1)… - - + + Removing EFI Boot Manager entries (%1)… Odstranjevanje vnosov EFI Boot Managerja (%1)… - - - + + + Importing boot configuration… Uvažanje nastavitev zagona… - - + + Exporting boot configuration… Izvažanje nastavitev zagona… - - + + Exporting EFI Boot Manager entries (%1)… Izvažanje vnosov EFI Boot Managerja (%1)… - - + + Importing EFI Boot Manager entries (%1)… Uvažanje vnosov EFI Boot Managerja (%1)… - - - - - - - - - - + + + + + + + + + + %1: %2 expected %1: %2 je pričakovano - - - - + + + + number število - - - - - + + + + + bool bool - - - + + + array array - - - + + + string string - - + + %1: unknown os indication %1: unknown os indication - - - + + - - + + + object object - - + + hexadecimal number hexadecimal number - + %1: failed parsing %1: failed parsing - - + + Failed to import some EFI Boot Manager entries: - %1 @@ -633,7 +650,7 @@ - %1 - + object(raw_data: string, efi_attributes: number) Expected JSON structure, thrown as error description. raw_data and efi_attributes are field names in JSON file object(raw_data: string, efi_attributes: number) @@ -668,8 +685,8 @@ - - + + Boot Boot @@ -688,7 +705,7 @@ - + Driver Driver @@ -707,7 +724,7 @@ - + System Preparation System Preparation @@ -726,7 +743,7 @@ - + Platform Recovery Platform Recovery @@ -1328,7 +1345,7 @@ - + About EFI Boot Editor About EFI Boot Editor @@ -1398,51 +1415,51 @@ Are you sure you want to reorder the boot entries?<br/>All indexes will be overwritten! - + Are you sure you want to save?<br/>Your EFI configuration will be overwritten! Are you sure you want to save?<br/>Your EFI configuration will be overwritten! - + Open boot configuration dump Open boot configuration dump - - - + + + JSON documents (*.json) JSON documents (*.json) - + Save boot configuration dump Save boot configuration dump - + Save raw EFI dump Save raw EFI dump - + <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> About dialog <h1>EFI Boot Editor</h1><p>Version <b>%1</b></p><p>Boot Editor for (U)EFI based systems.</p> - + <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> About dialog details <p><a href='%1'>Website</a></p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p><p>License: <a href='https://www.gnu.org/licenses/lgpl.html'>GNU LGPL Version 3</a></p><p>On Linux uses <a href='https://github.com/rhboot/efivar'>efivar</a> for EFI variables access.</p><p>Uses Tango Icons as fallback icons.</p> - + Reorder %1 entries Reorder %1 entries - + Are you sure you want to quit? Are you sure you want to quit? @@ -2491,8 +2508,8 @@ <html><head/><body><p>Unknown data.</p></body></html> - - + + Couldn't change Vendor data format! Couldn't change Vendor data format!