diff --git a/desktop/lxqt/lxqt-archiver/files/489912eee0b99d566010a898005158fda8315e8e.patch b/desktop/lxqt/lxqt-archiver/files/489912eee0b99d566010a898005158fda8315e8e.patch new file mode 100644 index 0000000000..1c4406d77b --- /dev/null +++ b/desktop/lxqt/lxqt-archiver/files/489912eee0b99d566010a898005158fda8315e8e.patch @@ -0,0 +1,23564 @@ +diff -Nuar a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2018-07-05 21:33:32.000000000 +0300 ++++ b/CMakeLists.txt 2020-04-02 13:56:22.000000000 +0300 +@@ -1,11 +1,18 @@ +-cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) ++cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) ++# CMP0000: Call the cmake_minimum_required() command at the beginning of the top-level ++# CMakeLists.txt file even before calling the project() command. ++# The cmake_minimum_required(VERSION) command implicitly invokes the cmake_policy(VERSION) ++# command to specify that the current project code is written for the given range of CMake ++# versions. + project(lxqt-archiver) + + option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" OFF) + +-set(LXQTBT_MINIMUM_VERSION "0.5.0") +-set(LIBFM_QT_MINIMUM_VERSION "0.14.0") + ++set(GLIB_MINIMUM_VERSION "2.50.0") ++set(LIBFMQT_MINIMUM_VERSION "0.14.0") ++set(LXQTBT_MINIMUM_VERSION "0.6.0") ++set(QT_MINIMUM_VERSION "5.7.1") + + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +@@ -16,29 +23,22 @@ + + include(GNUInstallDirs) + +-find_package(Qt5Widgets REQUIRED) +-find_package(Qt5LinguistTools REQUIRED) +-find_package(Qt5DBus REQUIRED) +- +-find_package(Qt5X11Extras REQUIRED) # seems to be required by fm-qt? +-find_package(fm-qt ${LIBFM_QT_MINIMUM_VERSION} REQUIRED) + ++find_package(Qt5DBus ${QT_MINIMUM_VERSION} REQUIRED) ++find_package(Qt5LinguistTools ${QT_MINIMUM_VERSION} REQUIRED) ++find_package(Qt5Widgets ${QT_MINIMUM_VERSION} REQUIRED) ++find_package(Qt5X11Extras ${QT_MINIMUM_VERSION} REQUIRED) # seems to be required by fm-qt? ++find_package(fm-qt ${LIBFMQT_MINIMUM_VERSION} REQUIRED) + find_package(lxqt-build-tools ${LXQTBT_MINIMUM_VERSION} REQUIRED) + ++find_package(GLIB ${GLIB_MINIMUM_VERSION} REQUIRED) + find_package(PkgConfig REQUIRED) + + pkg_check_modules( +- GLIB REQUIRED +- glib-2.0 +- gio-2.0 +- gio-unix-2.0 ++ GLIB_JSON + json-glib-1.0 # what's this? + ) + +-if(NOT CMAKE_BUILD_TYPE) +- set(CMAKE_BUILD_TYPE Release) +-endif() +- + set(LXQT_ARCHIVER_MAJOR_VERSION 0) + set(LXQT_ARCHIVER_MINOR_VERSION 1) + set(LXQT_ARCHIVER_PATCH_VERSION 0) +diff -Nuar a/src/archiver.cpp b/src/archiver.cpp +--- a/src/archiver.cpp 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/archiver.cpp 2020-04-02 13:56:22.000000000 +0300 +@@ -220,22 +220,22 @@ + QStringList Archiver::supportedCreateMimeTypes() { + QStringList types; + for(auto p = create_type; *p != -1; ++p) { +- types << mime_type_desc[*p].mime_type; ++ types << QString::fromUtf8(mime_type_desc[*p].mime_type); + } + return types; + } + + static QString suffixesToNameFilter(QString name, const QStringList& suffixes) { + QString filter = std::move(name); +- filter += " ("; ++ filter += QLatin1String(" ("); + for(const auto& suffix: suffixes) { +- if(filter[filter.length() - 1] != '(') { +- filter += ' '; ++ if(filter[filter.length() - 1] != QLatin1Char('(')) { ++ filter += QLatin1Char(' '); + } +- filter += "*."; ++ filter += QLatin1String("*."); + filter += suffix; + } +- filter += ")"; ++ filter += QLatin1String(")"); + return filter; + } + +@@ -253,18 +253,18 @@ + QStringList allSuffixes; + QMimeDatabase mimeDb; + for(auto p = mimeDescIndexes; *p != -1; ++p) { +- auto mimeType = mimeDb.mimeTypeForName(mime_type_desc[*p].mime_type); ++ auto mimeType = mimeDb.mimeTypeForName(QString::fromUtf8(mime_type_desc[*p].mime_type)); + QString filter; + if(mimeType.isValid()) { + auto suffixes = mimeType.suffixes(); + if(suffixes.empty()) { +- suffixes.append(mime_type_desc[*p].default_ext); ++ suffixes.append(QString::fromUtf8(mime_type_desc[*p].default_ext)); + } + filter = suffixesToNameFilter(mimeType.comment(), suffixes); + allSuffixes += suffixes; + } + else { +- filter = tr("*%1 files (*%1)").arg(mime_type_desc[*p].default_ext); ++ filter = tr("*%1 files (*%1)").arg(QString::fromUtf8(mime_type_desc[*p].default_ext)); + } + filters << filter; + } +@@ -279,7 +279,7 @@ + QStringList Archiver::supportedOpenMimeTypes() { + QStringList types; + for(auto p = open_type; *p != -1; ++p) { +- types << mime_type_desc[*p].mime_type; ++ types << QString::fromUtf8(mime_type_desc[*p].mime_type); + } + return types; + +@@ -292,7 +292,7 @@ + QStringList Archiver::supportedSaveMimeTypes() { + QStringList types; + for(auto p = save_type; *p != -1; ++p) { +- types << mime_type_desc[*p].mime_type; ++ types << QString::fromUtf8(mime_type_desc[*p].mime_type); + } + return types; + } +@@ -330,7 +330,7 @@ + + // create one ArchiverItem per file and build dir_path => ArchiverItem mappings + items_.reserve(n_files); +- for(int i = 0; i < n_files; ++i) { ++ for(unsigned int i = 0; i < n_files; ++i) { + auto fileData = reinterpret_cast(g_ptr_array_index(frArchive_->command->files, i)); + items_.emplace_back(new ArchiverItem{fileData, false}); // do not take ownership of the existing FileData object + auto item = items_.back().get(); +@@ -338,7 +338,7 @@ + std::string dirName = stripTrailingSlash(item->fullPath()); + dirMap_[dirName] = item; + } +- ++ + if(fileData->encrypted) { + isEncrypted_ = true; + } +@@ -355,7 +355,7 @@ + // So we create the missing items by ourselves :-( + + // for each item, ensure all its parent dirs exist and setup the parent-child links +- for(int i = 0; i < n_files; ++i) { ++ for(unsigned int i = 0; i < n_files; ++i) { + auto item = items_[i].get(); + while(strcmp(item->fullPath(), "/")) { + ArchiverItem* parent = nullptr; +@@ -385,8 +385,8 @@ + g_free(tmp); + } + +- qDebug("op: %s, %s", fileData->original_path, item->originalPath()); +- qDebug("fp: %s, %s", fileData->full_path, item->fullPath()); ++ //qDebug("op: %s, %s", fileData->original_path, item->originalPath()); ++ //qDebug("fp: %s, %s", fileData->full_path, item->fullPath()); + fileData->name = g_path_get_basename(dirName.c_str()); + fileData->dir = 1; + file_data_update_content_type(fileData); +@@ -419,9 +419,9 @@ + } + rootItem_ = dirMap_["/"]; + +- for(auto& kv: dirMap_) { ++ /*for(auto& kv: dirMap_) { + qDebug("dir: %s: %d", kv.first.c_str(), kv.second->children().size()); +- } ++ }*/ + } + + void Archiver::stopCurrentAction() { +@@ -519,14 +519,14 @@ + // We use the workaround provided here: https://bugreports.qt.io/browse/QTBUG-18434 + + void Archiver::onStart(FrArchive*, FrAction action, Archiver* _this) { +- qDebug("start"); ++ //qDebug("start"); + + _this->busy_ = true; + QMetaObject::invokeMethod(_this, "start", Qt::QueuedConnection, QGenericReturnArgument(), Q_ARG(FrAction, action)); + } + + void Archiver::onDone(FrArchive*, FrAction action, FrProcError* error, Archiver* _this) { +- qDebug("done: %s", error && error->gerror ? error->gerror->message : ""); ++ //qDebug("done: %s", error && error->gerror ? error->gerror->message : ""); + // FIXME: error might become dangling pointer for queued connections. :-( + + switch(action) { +@@ -546,11 +546,11 @@ + + void Archiver::onProgress(FrArchive*, double fraction, Archiver* _this) { + QMetaObject::invokeMethod(_this, "progress", Qt::QueuedConnection, QGenericReturnArgument(), Q_ARG(double, fraction)); +- qDebug("progress: %lf", fraction); ++ //qDebug("progress: %lf", fraction); + } + + void Archiver::onMessage(FrArchive*, const char* msg, Archiver* _this) { +- qDebug("message: %s", msg); ++ //qDebug("message: %s", msg); + QMetaObject::invokeMethod(_this, "message", Qt::QueuedConnection, QGenericReturnArgument(), Q_ARG(QString, QString::fromUtf8(msg))); + } + +@@ -560,6 +560,6 @@ + + void Archiver::onWorkingArchive(FrCommand* comm, const char* filename, Archiver* _this) { + // FIXME: why the first param is comm? +- qDebug("working: %s", filename); +- Q_EMIT _this->workingArchive(filename); ++ //qDebug("working: %s", filename); ++ Q_EMIT _this->workingArchive(QString::fromUtf8(filename)); + } +diff -Nuar a/src/archivererror.cpp b/src/archivererror.cpp +--- a/src/archivererror.cpp 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/archivererror.cpp 2020-04-02 13:56:22.000000000 +0300 +@@ -22,7 +22,7 @@ + switch(type_) { + case FR_PROC_ERROR_COMMAND_ERROR: + case FR_PROC_ERROR_SPAWN: +- message_ = QCoreApplication::translate("ArchiverError", "Fail to execute the command."); ++ message_ = QCoreApplication::translate("ArchiverError", "Failed to execute the command."); + break; + case FR_PROC_ERROR_COMMAND_NOT_FOUND: + message_ = QCoreApplication::translate("ArchiverError", "Command is not found."); +diff -Nuar a/src/archiveritem.cpp b/src/archiveritem.cpp +--- a/src/archiveritem.cpp 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/archiveritem.cpp 2020-04-02 13:56:22.000000000 +0300 +@@ -38,8 +38,8 @@ + } + + +-time_t ArchiverItem::modifiedTime() const { +- return data_ ? data_->modified : 0; ++qint64 ArchiverItem::modifiedTime() const { ++ return data_ ? static_cast(data_->modified) : 0LL; // data_->modified is time_t + } + + size_t ArchiverItem::size() const { +diff -Nuar a/src/archiveritem.h b/src/archiveritem.h +--- a/src/archiveritem.h 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/archiveritem.h 2020-04-02 13:56:22.000000000 +0300 +@@ -25,7 +25,7 @@ + + const char* fullPath() const; + +- time_t modifiedTime() const; ++ qint64 modifiedTime() const; + + size_t size() const; + +diff -Nuar a/src/archiverproxymodel.cpp b/src/archiverproxymodel.cpp +--- a/src/archiverproxymodel.cpp 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/archiverproxymodel.cpp 2020-04-02 13:56:22.000000000 +0300 +@@ -16,10 +16,9 @@ + if(leftFirstCol.isValid() && rightFirstCol.isValid()) { + auto leftItem = leftFirstCol.data(MainWindow::ArchiverItemRole).value(); + auto rightItem = rightFirstCol.data(MainWindow::ArchiverItemRole).value(); +- // qDebug("left: %s, right: %s", leftItem->name(), rightItem->name()); + if(leftItem) { + if(leftItem->isDir()) { +- if(folderFirst_ && rightItem && !rightItem->isDir()) { ++ if(folderFirst_ && !(rightItem && rightItem->isDir())) { + // put folder before non-folder items + return (sortOrder() == Qt::AscendingOrder); + } +@@ -29,10 +28,45 @@ + } + } + } ++ if(rightItem) { ++ if(rightItem->isDir()) { ++ if(folderFirst_ && !(leftItem && leftItem->isDir())) { ++ return (sortOrder() != Qt::AscendingOrder); ++ } ++ else if(rightFirstCol.data().toString() == QStringLiteral("..")) { ++ return (sortOrder() != Qt::AscendingOrder); ++ } ++ } ++ } + } + return QSortFilterProxyModel::lessThan(source_left, source_right); + } + ++bool ArchiverProxyModel::filterAcceptsRow(int source_row, const QModelIndex& source_parent) const { ++ if(filterStr_.isEmpty()) { ++ return true; ++ } ++ if(auto model = sourceModel()) { ++ auto indx = model->index(source_row, 0, source_parent); ++ if(indx.isValid()) { ++ auto firstCol = indx.sibling(source_row, 0); ++ if(const ArchiverItem* item = firstCol.data(MainWindow::ArchiverItemRole).value()) { ++ if(QString::fromUtf8(item->name()).contains(filterStr_, Qt::CaseInsensitive)) { ++ return true; ++ } ++ } ++ } ++ } ++ return false; ++} ++ ++void ArchiverProxyModel::setFilterStr(QString str) { ++ if(filterStr_ != str) { ++ filterStr_ = str; ++ invalidate(); ++ } ++} ++ + bool ArchiverProxyModel::folderFirst() const { + return folderFirst_; + } +diff -Nuar a/src/archiverproxymodel.h b/src/archiverproxymodel.h +--- a/src/archiverproxymodel.h 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/archiverproxymodel.h 2020-04-02 13:56:22.000000000 +0300 +@@ -12,11 +12,15 @@ + + void setFolderFirst(bool folderFirst); + ++ void setFilterStr(QString str); ++ + protected: + bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override; ++ bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const override; + + private: + bool folderFirst_; ++ QString filterStr_; + }; + + #endif // ARCHIVERPROXYMODEL_H +diff -Nuar a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/CMakeLists.txt 2020-04-02 13:56:22.000000000 +0300 +@@ -3,6 +3,7 @@ + include_directories( + core + ${GLIB_INCLUDE_DIRS} ++ ${GLIB_JSON_INCLUDE_DIRS} + ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ) +@@ -18,6 +19,7 @@ + passworddialog.cpp + createfiledialog.cpp + extractfiledialog.cpp ++ filetreeView.cpp + ) + + set(lxqt-archiver_UI +@@ -66,7 +68,8 @@ + Qt5::DBus + fm-qt + lxqt-archiver-core +- ${GLIB_LDFLAGS} ++ ${GLIB_LIBRARIES} ++ ${GLIB_JSON_LDFLAGS} + ) + + install(TARGETS +diff -Nuar a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +--- a/src/core/CMakeLists.txt 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/CMakeLists.txt 2020-04-02 13:56:22.000000000 +0300 +@@ -1,11 +1,12 @@ + include_directories( + ${GLIB_INCLUDE_DIRS} ++ ${GLIB_JSON_INCLUDE_DIRS} + ${CMAKE_BINARY_DIR} + ) + + add_definitions( +- -DSHDIR=\"${CMAKE_INSTALL_FULL_LIBEXECDIR}/lxqt-archiver\" +- -DPRIVEXECDIR=\"${CMAKE_INSTALL_FULL_LIBEXECDIR}/lxqt-archiver\" ++ -DSHDIR=\"${CMAKE_INSTALL_LIBDIR}/lxqt-archiver\" ++ -DPRIVEXECDIR=\"${CMAKE_INSTALL_LIBDIR}/lxqt-archiver\" + ) + + add_library(lxqt-archiver-core STATIC +@@ -46,18 +47,20 @@ + ) + + target_link_libraries(lxqt-archiver-core +- ${GLIB_LDFLAGS} ++ ${GLIB_LIBRARIES} ++ ${GLIB_JSON_LDFLAGS} + ) + + add_executable(rpm2cpio + commands/rpm2cpio.c + ) + target_link_libraries(rpm2cpio +- ${GLIB_LDFLAGS} ++ ${GLIB_LIBRARIES} ++ ${GLIB_JSON_LDFLAGS} + ) + install(TARGETS + rpm2cpio +- DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/lxqt-archiver" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/lxqt-archiver" + COMPONENT Runtime + ) + +@@ -68,6 +71,6 @@ + + install(FILES + ${SCRIPT_FILES} +- DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/lxqt-archiver" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/lxqt-archiver" + COMPONENT Runtime + ) +diff -Nuar a/src/core/commands/rpm2cpio.c b/src/core/commands/rpm2cpio.c +--- a/src/core/commands/rpm2cpio.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/commands/rpm2cpio.c 2020-04-02 13:56:22.000000000 +0300 +@@ -37,7 +37,7 @@ + int len; + } sniffer_data [] = { + { "application/x-bzip2", "BZh", 0, 3 }, +- { "application/x-gzip", "\037\213", 0, 2 }, ++ { "application/gzip", "\037\213", 0, 2 }, + { "application/x-xz", "\3757zXZ\000", 0, 6 }, + { NULL, NULL, 0 } + }; +@@ -122,7 +122,7 @@ + archive_command = "lzma -dc"; + else if (strcmp (mime_type, "application/x-xz") == 0) + archive_command = "xz -dc"; +- else if (strcmp (mime_type, "application/x-gzip") == 0) ++ else if (strcmp (mime_type, "application/gzip") == 0) + archive_command = "gzip -dc"; + else + archive_command = "bzip2 -dc"; +diff -Nuar a/src/core/file-utils.c b/src/core/file-utils.c +--- a/src/core/file-utils.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/file-utils.c 2020-04-02 13:56:22.000000000 +0300 +@@ -944,7 +944,9 @@ + g_free (template); + result = NULL; + } +- ++ ++ g_free(best_folder); ++ + return result; + } + +diff -Nuar a/src/core/fr-archive.c b/src/core/fr-archive.c +--- a/src/core/fr-archive.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/fr-archive.c 2020-04-02 13:56:22.000000000 +0300 +@@ -553,12 +553,13 @@ + { 7, 7, "**ACE**", "application/x-ace" }, + { 0, 2, "\x60\xea", "application/x-arj" }, + { 0, 3, "BZh", "application/x-bzip2" }, +- { 0, 2, "\037\213", "application/x-gzip" }, ++ { 0, 2, "\037\213", "application/gzip" }, + { 0, 4, "LZIP", "application/x-lzip" }, + { 0, 9, "\x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a", "application/x-lzop", }, + { 0, 4, "Rar!", "application/x-rar" }, + { 0, 4, "RZIP", "application/x-rzip" }, + { 0, 6, "\3757zXZ\000", "application/x-xz" }, ++ { 0, 4, "\x28\xB5\x2F\xFD", "application/zstd" }, + { 20, 4, "\xdc\xa7\xc4\xfd", "application/x-zoo", }, + { 0, 4, "PK\003\004", "application/zip" }, + { 0, 8, "PK00PK\003\004", "application/zip" }, +@@ -1576,7 +1577,7 @@ + for (scan = file_list; scan != NULL; scan = scan->next) { + char *filename = scan->data; + new_file_list = g_list_prepend (new_file_list, g_build_filename (rel_dest_dir, filename, NULL)); +- g_print(" dst_fn: %s\n", new_file_list->data); ++ g_print(" dst_fn: %s\n", (char*)new_file_list->data); + } + } + else { +@@ -1753,7 +1754,7 @@ + fr_process_add_arg (archive->process, tmp_archive_filename); + fr_process_add_arg (archive->process, archive_filename); + fr_process_end_command (archive->process); +-return; ++ + /* remove the temp sub-directory */ + + fr_process_begin_command (archive->process, "rm"); +@@ -3192,6 +3193,11 @@ + + if (extract_all) + path_list_free (file_list); ++ ++ fr_archive_action_completed (archive, ++ FR_ACTION_EXTRACTING_FILES, ++ FR_PROC_ERROR_NONE, ++ NULL); + return; + } + +diff -Nuar a/src/core/fr-command-cfile.c b/src/core/fr-command-cfile.c +--- a/src/core/fr-command-cfile.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/fr-command-cfile.c 2020-04-02 13:56:22.000000000 +0300 +@@ -49,7 +49,7 @@ + GInputStream *stream; + char *filename = NULL; + +- if (! is_mime_type (comm->mime_type, "application/x-gzip")) ++ if (! is_mime_type (comm->mime_type, "application/gzip")) + return NULL; + + file = g_file_new_for_path (archive); +@@ -140,7 +140,7 @@ + { + FrCommandCFile *comm_cfile = FR_COMMAND_CFILE (comm); + +- if (is_mime_type (comm->mime_type, "application/x-gzip")) { ++ if (is_mime_type (comm->mime_type, "application/gzip")) { + /* gzip let us known the uncompressed size */ + + fr_process_set_out_line_func (FR_COMMAND (comm)->process, +@@ -225,7 +225,7 @@ + + /**/ + +- if (is_mime_type (comm->mime_type, "application/x-gzip")) { ++ if (is_mime_type (comm->mime_type, "application/gzip")) { + fr_process_begin_command (comm->process, "gzip"); + fr_process_set_working_dir (comm->process, temp_dir); + fr_process_add_arg (comm->process, "--"); +@@ -273,6 +273,14 @@ + fr_process_end_command (comm->process); + compressed_filename = g_strconcat (filename, ".xz", NULL); + } ++ else if (is_mime_type (comm->mime_type, "application/x-zstd")) { ++ fr_process_begin_command (comm->process, "zstd"); ++ fr_process_set_working_dir (comm->process, temp_dir); ++ fr_process_add_arg (comm->process, "--"); ++ fr_process_add_arg (comm->process, filename); ++ fr_process_end_command (comm->process); ++ compressed_filename = g_strconcat (filename, ".zst", NULL); ++ } + else if (is_mime_type (comm->mime_type, "application/x-lzop")) { + fr_process_begin_command (comm->process, "lzop"); + fr_process_set_working_dir (comm->process, temp_dir); +@@ -356,7 +364,7 @@ + + /* uncompress the file */ + +- if (is_mime_type (comm->mime_type, "application/x-gzip")) { ++ if (is_mime_type (comm->mime_type, "application/gzip")) { + fr_process_begin_command (comm->process, "gzip"); + fr_process_add_arg (comm->process, "-f"); + fr_process_add_arg (comm->process, "-d"); +@@ -404,6 +412,13 @@ + fr_process_add_arg (comm->process, temp_file); + fr_process_end_command (comm->process); + } ++ else if (is_mime_type (comm->mime_type, "application/x-zstd")) { ++ fr_process_begin_command (comm->process, "zstd"); ++ fr_process_add_arg (comm->process, "-f"); ++ fr_process_add_arg (comm->process, "-d"); ++ fr_process_add_arg (comm->process, temp_file); ++ fr_process_end_command (comm->process); ++ } + else if (is_mime_type (comm->mime_type, "application/x-lzop")) { + fr_process_begin_command (comm->process, "lzop"); + fr_process_set_working_dir (comm->process, temp_dir); +@@ -455,7 +470,7 @@ + } + + +-const char *cfile_mime_type[] = { "application/x-gzip", ++const char *cfile_mime_type[] = { "application/gzip", + "application/x-bzip", + "application/x-compress", + "application/x-lzip", +@@ -463,6 +478,7 @@ + "application/x-lzop", + "application/x-rzip", + "application/x-xz", ++ "application/x-zstd", + NULL }; + + +@@ -481,7 +497,7 @@ + FrCommandCap capabilities; + + capabilities = FR_COMMAND_CAN_DO_NOTHING; +- if (is_mime_type (mime_type, "application/x-gzip")) { ++ if (is_mime_type (mime_type, "application/gzip")) { + if (is_program_available ("gzip", check_command)) + capabilities |= FR_COMMAND_CAN_READ_WRITE; + } +@@ -507,6 +523,10 @@ + if (is_program_available ("xz", check_command)) + capabilities |= FR_COMMAND_CAN_READ_WRITE; + } ++ else if (is_mime_type (mime_type, "application/x-zstd")) { ++ if (is_program_available ("zstd", check_command)) ++ capabilities |= FR_COMMAND_CAN_READ_WRITE; ++ } + else if (is_mime_type (mime_type, "application/x-lzop")) { + if (is_program_available ("lzop", check_command)) + capabilities |= FR_COMMAND_CAN_READ_WRITE; +@@ -536,7 +556,7 @@ + fr_command_cfile_get_packages (FrCommand *comm, + const char *mime_type) + { +- if (is_mime_type (mime_type, "application/x-gzip")) ++ if (is_mime_type (mime_type, "application/gzip")) + return PACKAGES ("gzip"); + else if (is_mime_type (mime_type, "application/x-bzip")) + return PACKAGES ("bzip2"); +@@ -548,6 +568,8 @@ + return PACKAGES ("lzma"); + else if (is_mime_type (mime_type, "application/x-xz")) + return PACKAGES ("xz"); ++ else if (is_mime_type (mime_type, "application/x-zstd")) ++ return PACKAGES ("zstd"); + else if (is_mime_type (mime_type, "application/x-lzop")) + return PACKAGES ("lzop"); + else if (is_mime_type (mime_type, "application/x-rzip")) +diff -Nuar a/src/core/fr-command-dpkg.c b/src/core/fr-command-dpkg.c +--- a/src/core/fr-command-dpkg.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/fr-command-dpkg.c 2020-04-02 13:56:22.000000000 +0300 +@@ -71,10 +71,12 @@ + fdata->original_path = fdata->full_path + 1; + + g_strfreev (fields); +- g_free (name); + + fdata->name = g_strdup (name); + fdata->path = g_strdup ("DEBIAN"); ++ ++ g_free (name); ++ + fr_command_add_file (comm, fdata); + } + +diff -Nuar a/src/core/fr-command-tar.c b/src/core/fr-command-tar.c +--- a/src/core/fr-command-tar.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/fr-command-tar.c 2020-04-02 13:56:22.000000000 +0300 +@@ -224,6 +224,9 @@ + else + fr_process_add_arg (comm->process, "--use-compress-program=xz"); + ++ else if (is_mime_type (comm->mime_type, "application/x-zstd-compressed-tar")) ++ fr_process_add_arg (comm->process, "--use-compress-program=zstd"); ++ + else if (is_mime_type (comm->mime_type, "application/x-lzop-compressed-tar")) + fr_process_add_arg (comm->process, "--use-compress-program=lzop"); + +@@ -648,6 +651,27 @@ + + new_name = g_strconcat (c_tar->uncomp_filename, ".xz", NULL); + } ++ else if (is_mime_type (comm->mime_type, "application/x-zstd-compressed-tar")) { ++ fr_process_begin_command (comm->process, "zstd"); ++ fr_process_set_begin_func (comm->process, begin_func__recompress, comm); ++ switch (comm->compression) { ++ case FR_COMPRESSION_VERY_FAST: ++ fr_process_add_arg (comm->process, "-1"); break; ++ case FR_COMPRESSION_FAST: ++ fr_process_add_arg (comm->process, "-2"); break; ++ case FR_COMPRESSION_NORMAL: ++ fr_process_add_arg (comm->process, "-3"); break; ++ case FR_COMPRESSION_MAXIMUM: ++ fr_process_add_arg (comm->process, "--ultra"); ++ fr_process_add_arg (comm->process, "-22"); ++ break; ++ } ++ fr_process_add_arg (comm->process, "-f"); ++ fr_process_add_arg (comm->process, c_tar->uncomp_filename); ++ fr_process_end_command (comm->process); ++ ++ new_name = g_strconcat (c_tar->uncomp_filename, ".zst", NULL); ++ } + else if (is_mime_type (comm->mime_type, "application/x-lzop-compressed-tar")) { + fr_process_begin_command (comm->process, "lzop"); + fr_process_set_begin_func (comm->process, begin_func__recompress, comm); +@@ -813,6 +837,17 @@ + else if (file_extension_is (e_filename, ".tar.xz")) + new_name[l - 3] = 0; + } ++ else if (is_mime_type (comm->mime_type, "application/x-zstd-compressed-tar")) { ++ /* X.tzst --> X.tar ++ * X.tar.zst --> X.tar */ ++ if (file_extension_is (e_filename, ".tzst")) { ++ new_name[l - 3] = 'a'; ++ new_name[l - 2] = 'r'; ++ new_name[l - 1] = 0; ++ } ++ else if (file_extension_is (e_filename, ".tar.zst")) ++ new_name[l - 4] = 0; ++ } + else if (is_mime_type (comm->mime_type, "application/x-lzop-compressed-tar")) { + /* X.tzo --> X.tar + * X.tar.lzo --> X.tar */ +@@ -947,6 +982,14 @@ + fr_process_add_arg (comm->process, tmp_name); + fr_process_end_command (comm->process); + } ++ else if (is_mime_type (comm->mime_type, "application/x-zstd-compressed-tar")) { ++ fr_process_begin_command (comm->process, "zstd"); ++ fr_process_set_begin_func (comm->process, begin_func__uncompress, comm); ++ fr_process_add_arg (comm->process, "-f"); ++ fr_process_add_arg (comm->process, "-d"); ++ fr_process_add_arg (comm->process, tmp_name); ++ fr_process_end_command (comm->process); ++ } + else if (is_mime_type (comm->mime_type, "application/x-lzop-compressed-tar")) { + fr_process_begin_command (comm->process, "lzop"); + fr_process_set_begin_func (comm->process, begin_func__uncompress, comm); +@@ -1001,6 +1044,7 @@ + "application/x-lzop-compressed-tar", + "application/x-tarz", + "application/x-xz-compressed-tar", ++ "application/x-zstd-compressed-tar", + NULL }; + + +@@ -1057,6 +1101,10 @@ + if (is_program_available ("xz", check_command)) + capabilities |= FR_COMMAND_CAN_READ_WRITE; + } ++ else if (is_mime_type (mime_type, "application/x-zstd-compressed-tar")) { ++ if (is_program_available ("zstd", check_command)) ++ capabilities |= FR_COMMAND_CAN_READ_WRITE; ++ } + else if (is_mime_type (mime_type, "application/x-lzop-compressed-tar")) { + if (is_program_available ("lzop", check_command)) + capabilities |= FR_COMMAND_CAN_READ_WRITE; +@@ -1119,6 +1167,8 @@ + return PACKAGES ("tar,lzma"); + else if (is_mime_type (mime_type, "application/x-xz-compressed-tar")) + return PACKAGES ("tar,xz"); ++ else if (is_mime_type (mime_type, "application/x-zstd-compressed-tar")) ++ return PACKAGES ("tar,zstd"); + else if (is_mime_type (mime_type, "application/x-lzop-compressed-tar")) + return PACKAGES ("tar,lzop"); + else if (is_mime_type (mime_type, "application/x-7z-compressed-tar")) +diff -Nuar a/src/core/fr-init.c b/src/core/fr-init.c +--- a/src/core/fr-init.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/fr-init.c 2020-04-02 13:56:22.000000000 +0300 +@@ -57,6 +57,7 @@ + /* The capabilities are computed automatically in + * compute_supported_archive_types() so it's correct to initialize to 0 here. */ + FrMimeTypeDescription mime_type_desc[] = { ++ { "application/gzip", ".gz", NULL, 0 }, + { "application/x-7z-compressed", ".7z", N_("7-Zip (.7z)"), 0 }, + { "application/x-7z-compressed-tar", ".tar.7z", N_("Tar compressed with 7z (.tar.7z)"), 0 }, + { "application/x-ace", ".ace", N_("Ace (.ace)"), 0 }, +@@ -78,7 +79,6 @@ + { "application/x-deb", ".deb", NULL, 0 }, + { "application/x-ear", ".ear", N_("Ear (.ear)"), 0 }, + { "application/x-ms-dos-executable", ".exe", N_("Self-extracting zip (.exe)"), 0 }, +- { "application/x-gzip", ".gz", NULL, 0 }, + { "application/x-java-archive", ".jar", N_("Jar (.jar)"), 0 }, + { "application/x-lha", ".lzh", N_("Lha (.lzh)"), 0 }, + { "application/x-lrzip", ".lrz", N_("Lrzip (.lrz)"), 0}, +@@ -99,6 +99,8 @@ + { "application/x-war", ".war", N_("War (.war)"), 0 }, + { "application/x-xz", ".xz", N_("Xz (.xz)"), 0 }, + { "application/x-xz-compressed-tar", ".tar.xz", N_("Tar compressed with xz (.tar.xz)"), 0 }, ++ { "application/x-zstd", ".zst", N_("Zstandard compressed file"), 0 }, ++ { "application/x-zstd-compressed-tar", ".tar.zst", N_("Tar compressed with zstd"), 0 }, + { "application/x-zoo", ".zoo", N_("Zoo (.zoo)"), 0 }, + { "application/zip", ".zip", N_("Zip (.zip)"), 0 }, + { NULL, NULL, NULL, 0 } +@@ -121,7 +123,7 @@ + { ".deb", "application/x-deb" }, + { ".ear", "application/x-ear" }, + { ".exe", "application/x-ms-dos-executable" }, +- { ".gz", "application/x-gzip" }, ++ { ".gz", "application/gzip" }, + { ".iso", "application/x-cd-image" }, + { ".jar", "application/x-java-archive" }, + { ".lha", "application/x-lha" }, +@@ -146,18 +148,21 @@ + { ".tar.7z", "application/x-7z-compressed-tar" }, + { ".tar.xz", "application/x-xz-compressed-tar" }, + { ".tar.Z", "application/x-tarz" }, ++ { ".tar.zst", "application/x-zstd-compressed-tar" }, + { ".taz", "application/x-tarz" }, + { ".tbz", "application/x-bzip-compressed-tar" }, + { ".tbz2", "application/x-bzip-compressed-tar" }, + { ".tgz", "application/x-compressed-tar" }, + { ".txz", "application/x-xz-compressed-tar" }, ++ { ".tzst", "application/x-zstd-compressed-tar" }, + { ".tlz", "application/x-lzip-compressed-tar" }, + { ".tzma", "application/x-lzma-compressed-tar" }, + { ".tzo", "application/x-lzop-compressed-tar" }, + { ".war", "application/x-war" }, + { ".wim", "application/x-ms-wim" }, + { ".xz", "application/x-xz" }, +- { ".z", "application/x-gzip" }, ++ { ".zst", "application/x-zstd" }, ++ { ".z", "application/gzip" }, + { ".Z", "application/x-compress" }, + { ".zip", "application/zip" }, + { ".zoo", "application/x-zoo" }, +diff -Nuar a/src/core/gio-utils.c b/src/core/gio-utils.c +--- a/src/core/gio-utils.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/gio-utils.c 2020-04-02 13:56:22.000000000 +0300 +@@ -1056,7 +1056,7 @@ + } + + +-void ++/*void + g_copy_uris_async (GList *sources, + GList *destinations, + GFileCopyFlags flags, +@@ -1116,7 +1116,7 @@ + + g_list_free (source_list); + g_list_free (destination_list); +-} ++}*/ + + + /* -- g_directory_copy_async -- */ +diff -Nuar a/src/core/gio-utils.h b/src/core/gio-utils.h +--- a/src/core/gio-utils.h 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/gio-utils.h 2020-04-02 13:56:22.000000000 +0300 +@@ -96,7 +96,7 @@ + gpointer progress_callback_data, + CopyDoneCallback callback, + gpointer user_data); +-void g_copy_uris_async (GList *sources, ++/*void g_copy_uris_async (GList *sources, + GList *destinations, + GFileCopyFlags flags, + int io_priority, +@@ -104,7 +104,7 @@ + CopyProgressCallback progress_callback, + gpointer progress_callback_data, + CopyDoneCallback callback, +- gpointer user_data); ++ gpointer user_data);*/ + void g_copy_file_async (GFile *source, + GFile *destination, + GFileCopyFlags flags, +@@ -114,7 +114,7 @@ + gpointer progress_callback_data, + CopyDoneCallback callback, + gpointer user_data); +-void g_copy_uri_async (const char *source, ++/*void g_copy_uri_async (const char *source, + const char *destination, + GFileCopyFlags flags, + int io_priority, +@@ -122,7 +122,7 @@ + CopyProgressCallback progress_callback, + gpointer progress_callback_data, + CopyDoneCallback callback, +- gpointer user_data); ++ gpointer user_data);*/ + void g_directory_copy_async (const char *source, + const char *destination, + GFileCopyFlags flags, +diff -Nuar a/src/core/glib-utils.c b/src/core/glib-utils.c +--- a/src/core/glib-utils.c 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/glib-utils.c 2020-04-02 13:56:22.000000000 +0300 +@@ -326,20 +326,20 @@ + { + gboolean matched; + int i; +- ++ + if ((regexps == NULL) || (regexps[0] == NULL)) + return TRUE; + + if (string == NULL) + return FALSE; +- ++ + matched = FALSE; + for (i = 0; regexps[i] != NULL; i++) + if (g_regex_match (regexps[i], string, match_options, NULL)) { + matched = TRUE; + break; + } +- ++ + return matched; + } + +@@ -348,10 +348,10 @@ + free_regexps (GRegex **regexps) + { + int i; +- +- if (regexps == NULL) ++ ++ if (regexps == NULL) + return; +- ++ + for (i = 0; regexps[i] != NULL; i++) + g_regex_unref (regexps[i]); + g_free (regexps); +@@ -370,11 +370,11 @@ + patterns = g_utf8_strsplit (pattern_string, ";", MAX_PATTERNS); + for (i = 0; patterns[i] != NULL; i++) { + char *p1, *p2; +- ++ + p1 = g_utf8_strstrip (patterns[i]); + p2 = str_substitute (p1, ".", "\\."); + patterns[i] = str_substitute (p2, "*", ".*"); +- ++ + g_free (p2); + g_free (p1); + } +@@ -390,24 +390,24 @@ + char **patterns; + GRegex **regexps; + int i; +- ++ + patterns = search_util_get_patterns (pattern_string); + if (patterns == NULL) + return NULL; +- ++ + regexps = g_new0 (GRegex*, n_fields (patterns) + 1); +- for (i = 0; patterns[i] != NULL; i++) +- regexps[i] = g_regex_new (patterns[i], +- G_REGEX_OPTIMIZE | compile_options, +- G_REGEX_MATCH_NOTEMPTY, ++ for (i = 0; patterns[i] != NULL; i++) ++ regexps[i] = g_regex_new (patterns[i], ++ G_REGEX_OPTIMIZE | compile_options, ++ G_REGEX_MATCH_NOTEMPTY, + NULL); + g_strfreev (patterns); +- ++ + return regexps; + } + + +-char * ++/*char * + _g_strdup_with_max_size (const char *s, + int max_size) + { +@@ -432,7 +432,7 @@ + result = g_strdup (s); + + return result; +-} ++}*/ + + + const char * +@@ -557,7 +557,7 @@ + + tm = localtime (&time); + /* This is the time format used in the "Date Modified" column and +- * in the Properties dialog. See the man page of strftime for an ++ * in the Properties dialog. See the man page of strftime for an + * explanation of the values. */ + locale_format = g_locale_from_utf8 (_("%d %B %Y, %H:%M"), -1, NULL, NULL, NULL); + strftime (s_time, sizeof (s_time) - 1, locale_format, tm); +@@ -568,20 +568,20 @@ + } + + +-GPtrArray * ++/*GPtrArray * + g_ptr_array_copy (GPtrArray *array) + { + GPtrArray *new_array; +- ++ + if (array == NULL) + return NULL; +- ++ + new_array = g_ptr_array_sized_new (array->len); +- memcpy (new_array->pdata, array->pdata, array->len * sizeof (gpointer)); ++ memcpy (new_array->pdata, array->pdata, array->len * sizeof (gpointer)); + new_array->len = array->len; +- ++ + return new_array; +-} ++}*/ + + + void +@@ -594,12 +594,12 @@ + } + + +-void ++/*void + g_ptr_array_reverse (GPtrArray *array) + { + int i, j; + gpointer tmp; +- ++ + for (i = 0; i < array->len / 2; i++) { + j = array->len - i - 1; + tmp = g_ptr_array_index (array, i); +@@ -615,22 +615,22 @@ + GCompareFunc func) + { + int l, r, p, cmp = -1; +- ++ + l = 0; + r = array->len; + while (l < r) { + p = l + ((r - l) / 2); + cmp = func(value, &g_ptr_array_index (array, p)); + if (cmp == 0) +- return p; ++ return p; + else if (cmp < 0) + r = p; +- else ++ else + l = p + 1; + } +- ++ + return -1; +-} ++}*/ + + + GHashTable *static_strings = NULL; +@@ -658,15 +658,15 @@ + } + + +-char* ++/*char* + g_uri_display_basename (const char *uri) + { + char *e_name, *name; +- ++ + e_name = g_filename_display_basename (uri); + name = g_uri_unescape_string (e_name, ""); + g_free (e_name); +- ++ + return name; + } + +@@ -759,5 +759,5 @@ + base_path -= 1; + + return base_path; +-} ++}*/ + +diff -Nuar a/src/core/glib-utils.h b/src/core/glib-utils.h +--- a/src/core/glib-utils.h 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/core/glib-utils.h 2020-04-02 13:56:22.000000000 +0300 +@@ -56,8 +56,8 @@ + GRegex ** search_util_get_regexps (const char *pattern_string, + GRegexCompileFlags compile_options); + void free_regexps (GRegex **regexps); +-char * _g_strdup_with_max_size (const char *s, +- int max_size); ++/*char * _g_strdup_with_max_size (const char *s, ++ int max_size);*/ + const char * eat_spaces (const char *line); + const char * eat_void_chars (const char *line); + char ** split_line (const char *line, +@@ -66,27 +66,27 @@ + int last_field); + int n_fields (char **str_array); + char * get_time_string (time_t time); +-GPtrArray * g_ptr_array_copy (GPtrArray *array); ++/*GPtrArray * g_ptr_array_copy (GPtrArray *array);*/ + void g_ptr_array_free_full (GPtrArray *array, + GFunc func, + gpointer user_data); +-void g_ptr_array_reverse (GPtrArray *array); ++/*void g_ptr_array_reverse (GPtrArray *array); + int g_ptr_array_binary_search (GPtrArray *array, + gpointer value, +- GCompareFunc func); ++ GCompareFunc func);*/ + const char * get_static_string (const char *s); +-char* g_uri_display_basename (const char *uri); ++/*char* g_uri_display_basename (const char *uri); + char ** _g_strv_prepend (char **str_array, + const char *str); + gboolean _g_strv_remove (char **str_array, +- const char *str); ++ const char *str);*/ + + /* path filename */ + +-const char * _g_path_get_file_name (const char *path); ++/*const char * _g_path_get_file_name (const char *path); + const char * _g_path_get_base_name (const char *path, + const char *base_dir, +- gboolean junk_paths); ++ gboolean junk_paths);*/ + + /**/ + +diff -Nuar a/src/corestrs.h b/src/corestrs.h +--- a/src/corestrs.h 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/corestrs.h 2020-04-02 13:56:22.000000000 +0300 +@@ -31,6 +31,7 @@ + QObject::tr("War (.war)"); + QObject::tr("Xz (.xz)"); + QObject::tr("Tar compressed with xz (.tar.xz)"); ++QObject::tr("Tar compressed with zstd (.tar.zst)"); + QObject::tr("Zoo (.zoo)"); + QObject::tr("Zip (.zip)"); + +diff -Nuar a/src/filetreeView.cpp b/src/filetreeView.cpp +--- a/src/filetreeView.cpp 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/filetreeView.cpp 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,57 @@ ++#include ++#include ++#include ++ ++#include "filetreeView.h" ++ ++FileTreeView::FileTreeView(QWidget* parent) : QTreeView(parent) { ++ dragStarted_ = false; ++ setSelectionMode(QAbstractItemView::ExtendedSelection); ++ setIconSize(QSize(24, 24)); ++ setRootIsDecorated(false); ++ setDragDropMode(QAbstractItemView::DragOnly); ++ header()->setSortIndicatorShown(true); ++ header()->setStretchLastSection(false); ++ header()->setSortIndicatorShown(true); ++ header()->setSortIndicator(0, Qt::AscendingOrder); ++} ++ ++void FileTreeView::mousePressEvent(QMouseEvent* event) { ++ QTreeView::mousePressEvent(event); ++ if (event->button() == Qt::LeftButton && indexAt(event->pos()).isValid()) { ++ dragStartPosition_ = event->pos(); ++ } ++ else { ++ dragStartPosition_ = QPoint(); ++ } ++ dragStarted_ = false; ++} ++ ++void FileTreeView::mouseMoveEvent(QMouseEvent* event) { ++ if(dragStartPosition_.isNull()) { ++ QTreeView::mouseMoveEvent(event); ++ return; ++ } ++ if(!dragStarted_ ++ && (event->buttons() & Qt::LeftButton) ++ && (event->pos() - dragStartPosition_).manhattanLength() >= qMax(16, QApplication::startDragDistance())) { ++ dragStarted_ = true; ++ if(selectionModel() && !selectionModel()->selectedRows().isEmpty()) { ++ Q_EMIT dragStarted(); ++ } ++ event->accept(); ++ } ++} ++ ++void FileTreeView::keyPressEvent(QKeyEvent* event) { ++ if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) { ++ if(currentIndex().isValid()) { ++ // instead of AbstractItemView::activated(), emit our signal, ++ // which works with Enter and Return alike ++ Q_EMIT enterPressed(); ++ event->accept(); ++ return; ++ } ++ } ++ QTreeView::keyPressEvent(event); ++} +diff -Nuar a/src/filetreeView.h b/src/filetreeView.h +--- a/src/filetreeView.h 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/filetreeView.h 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,26 @@ ++#ifndef FILETREEVIEW_H ++#define FILETREEVIEW_H ++ ++#include ++ ++class FileTreeView : public QTreeView { ++ Q_OBJECT ++ ++public: ++ explicit FileTreeView(QWidget* parent = nullptr); ++ ++Q_SIGNALS: ++ void dragStarted(); ++ void enterPressed(); ++ ++protected: ++ virtual void mousePressEvent(QMouseEvent* event) override; ++ virtual void mouseMoveEvent(QMouseEvent* event) override; ++ virtual void keyPressEvent(QKeyEvent* event) override; ++ ++private: ++ QPoint dragStartPosition_; ++ bool dragStarted_; ++}; ++ ++#endif // FILETREEVIEW_H +diff -Nuar a/src/lxqt-archiver.desktop.in b/src/lxqt-archiver.desktop.in +--- a/src/lxqt-archiver.desktop.in 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/lxqt-archiver.desktop.in 2020-04-02 13:56:22.000000000 +0300 +@@ -8,5 +8,5 @@ + StartupNotify=true + Type=Application + Categories=Qt;Utility;Archiving;Compression; +-MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-deb;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;application/x-archive;application/vnd.ms-cab-compressed; ++MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-deb;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/zstd;application/x-zstd-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;application/x-archive;application/vnd.ms-cab-compressed; + Keywords=archive;manager;compression; +diff -Nuar a/src/main.cpp b/src/main.cpp +--- a/src/main.cpp 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/main.cpp 2020-04-02 13:56:22.000000000 +0300 +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -54,15 +55,15 @@ + gint ForceDirectoryCreation; + + static char** remaining_args; +-static char* add_to = NULL; ++static char* add_to = nullptr; + static int add; +-static char* extract_to = NULL; ++static char* extract_to = nullptr; + static int extract; + static int extract_here; +-static char* default_url = NULL; ++static char* default_url = nullptr; + + /* argv[0] from main(); used as the command to restart the program */ +-static const char* program_argv0 = NULL; ++static const char* program_argv0 = nullptr; + static std::unordered_map gettextCache; + + static const GOptionEntry options[] = { +@@ -75,7 +76,7 @@ + { + "add", 'd', 0, G_OPTION_ARG_NONE, &add, + N_("Add files asking the name of the archive and quit the program"), +- NULL ++ nullptr + }, + + { +@@ -87,13 +88,13 @@ + { + "extract", 'f', 0, G_OPTION_ARG_NONE, &extract, + N_("Extract archives asking the destination folder and quit the program"), +- NULL ++ nullptr + }, + + { + "extract-here", 'h', 0, G_OPTION_ARG_NONE, &extract_here, + N_("Extract the contents of the archives in the archive folder and quit the program"), +- NULL ++ nullptr + }, + + { +@@ -105,16 +106,16 @@ + { + "force", '\0', 0, G_OPTION_ARG_NONE, &ForceDirectoryCreation, + N_("Create destination folder without asking confirmation"), +- NULL ++ nullptr + }, + + { + G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_STRING_ARRAY, &remaining_args, +- NULL, +- NULL ++ nullptr, ++ nullptr + }, + +- { NULL } ++ { nullptr } + }; + + +@@ -130,12 +131,12 @@ + } + + static int runApp(QApplication& app) { +- char* extract_to_uri = NULL; +- char* add_to_uri = NULL; ++ char* extract_to_uri = nullptr; ++ char* add_to_uri = nullptr; + + // handle command line options + +- if(remaining_args == NULL) { /* No archive specified. */ ++ if(remaining_args == nullptr) { /* No archive specified. */ + auto mainWin = new MainWindow(); + mainWin->show(); + return app.exec(); +@@ -145,7 +146,7 @@ + bool extractOverwrite = false; + bool extractReCreateFolders = false; + +- if(extract_to != NULL) { ++ if(extract_to != nullptr) { + extract_to_uri = get_uri_from_command_line(extract_to); + } + else { +@@ -159,7 +160,7 @@ + return 1; + } + +- QUrl dirUrl = dlg.selectedFiles()[0]; ++ const QUrl dirUrl = dlg.selectedFiles().at(0); + extract_to_uri = g_strdup(dirUrl.toEncoded().constData()); + + extractSkipOlder = dlg.skipOlder(); +@@ -174,7 +175,7 @@ + bool addSplitVolumes = false; + unsigned int addVolumeSize = 0; + +- if(add_to != NULL) { ++ if(add_to != nullptr) { + add_to_uri = get_uri_from_command_line(add_to); + } + else { +@@ -184,8 +185,33 @@ + if(default_url) { + dlg.setDirectory(QUrl::fromEncoded(default_url)); + } ++ else { ++ // set the directory to the parent of the first file ++ // and make the archive name out of its name ++ const char* firstFile = remaining_args[0]; ++ if(firstFile != nullptr) { ++ auto path = Fm::FilePath::fromPathStr(firstFile); ++ if(path.hasParent()) { ++ auto target = path.parent(); ++ auto name = QString::fromUtf8(path.baseName().get()); ++ const auto mimeTypes = Archiver::supportedCreateMimeTypes(); ++ if(!mimeTypes.isEmpty()) { ++ QMimeDatabase mimeDb; ++ auto mimeType = mimeDb.mimeTypeForName(mimeTypes.at(0)); ++ if(mimeType.isValid()) { ++ auto suffixes = mimeType.suffixes(); ++ if(!suffixes.isEmpty()) { ++ name += QStringLiteral(".") + suffixes.at(0); ++ target = target.child(name.toLocal8Bit().constData()); ++ dlg.selectFile(QUrl::fromEncoded(QByteArray(target.uri().get()))); ++ } ++ } ++ } ++ } ++ } ++ } + if(dlg.exec() == QDialog::Accepted) { +- auto url = dlg.selectedFiles()[0]; ++ const auto url = dlg.selectedFiles().at(0); + if(url.isEmpty()) { + return 1; + } +@@ -201,13 +227,13 @@ + } + } + +- if((add_to != NULL) || (add == 1)) { ++ if((add_to != nullptr) || (add == 1)) { + /* Add files to an archive */ +- const char* filename = NULL; ++ const char* filename = nullptr; + int i = 0; + + Fm::FilePathList filePaths; +- while((filename = remaining_args[i++]) != NULL) { ++ while((filename = remaining_args[i++]) != nullptr) { + filePaths.emplace_back(Fm::FilePath::fromPathStr(filename)); + } + +@@ -244,11 +270,11 @@ + dlg.exec(); + return 0; + } +- else if((extract_to != NULL) || (extract == 1) || (extract_here == 1)) { +- const char* filename = NULL; ++ else if((extract_to != nullptr) || (extract == 1) || (extract_here == 1)) { ++ const char* filename = nullptr; + int i = 0; + /* Extract all archives. */ +- while((filename = remaining_args[i++]) != NULL) { ++ while((filename = remaining_args[i++]) != nullptr) { + auto archive_uri = Fm::CStrPtr{get_uri_from_command_line(filename)}; + + Archiver archiver; +@@ -300,9 +326,9 @@ + } + } + else { /* Open each archive in a window */ +- const char* filename = NULL; ++ const char* filename = nullptr; + int i = 0; +- while((filename = remaining_args[i++]) != NULL) { ++ while((filename = remaining_args[i++]) != nullptr) { + auto mainWindow = new MainWindow(); + auto file = Fm::FilePath::fromPathStr(filename); + mainWindow->loadFile(file); +@@ -325,25 +351,26 @@ + } + + int main(int argc, char** argv) { +- GOptionContext* context = NULL; +- GError* error = NULL; ++ GOptionContext* context = nullptr; ++ GError* error = nullptr; + int status; + + program_argv0 = argv[0]; + + QApplication app(argc, argv); +- app.setApplicationVersion(LXQT_ARCHIVER_VERSION); ++ app.setApplicationVersion(QStringLiteral(LXQT_ARCHIVER_VERSION)); + app.setQuitOnLastWindowClosed(true); ++ app.setAttribute(Qt::AA_UseHighDpiPixmaps); + + // load translations + // install the translations built-into Qt itself + QTranslator qtTranslator; +- qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); ++ qtTranslator.load(QStringLiteral("qt_") + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); + app.installTranslator(&qtTranslator); + + // install our own tranlations + QTranslator translator; +- translator.load("lxqt-archiver_" + QLocale::system().name(), LXQT_ARCHIVER_DATA_DIR "/translations"); ++ translator.load(QStringLiteral("lxqt-archiver_") + QLocale::system().name(), QStringLiteral(LXQT_ARCHIVER_DATA_DIR) + QStringLiteral("/translations")); + app.installTranslator(&translator); + + // initialize libfm-qt +diff -Nuar a/src/mainwindow.cpp b/src/mainwindow.cpp +--- a/src/mainwindow.cpp 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/mainwindow.cpp 2020-04-02 13:56:22.000000000 +0300 +@@ -31,6 +31,11 @@ + #include + #include + #include ++#include ++#include ++#include ++#include ++#include + + #include + +@@ -41,6 +46,7 @@ + #include + #include + #include ++#include + // #include + + #include +@@ -52,7 +58,8 @@ + archiver_{std::make_shared()}, + viewMode_{ViewMode::DirTree}, + currentDirItem_{nullptr}, +- encryptHeader_{false} { ++ encryptHeader_{false}, ++ splitterPos_{200} { + + ui_->setupUi(this); + +@@ -60,6 +67,25 @@ + ui_->splitter->setStretchFactor(0, 0); + ui_->splitter->setStretchFactor(1, 1); + ++ QSettings settings(QSettings::UserScope, QStringLiteral("lxqt"), QStringLiteral("archiver")); ++ // window size ++ settings.beginGroup (QStringLiteral("Sizes")); ++ QSize winSize = settings.value(QStringLiteral("WindowSize"), QSize(700, 500)).toSize(); ++ QSize ag; ++ if (QScreen *pScreen = QApplication::primaryScreen()) { ++ ag = pScreen->availableVirtualGeometry().size(); ++ } ++ if (!ag.isEmpty()) { ++ winSize = winSize.boundedTo (ag); ++ } ++ resize(winSize); ++ // splitter position ++ QList sizes; ++ sizes.append(settings.value(QStringLiteral("SplitterPos"), splitterPos_).toInt()); ++ settings.endGroup(); ++ sizes.append(400); ++ ui_->splitter->setSizes(sizes); ++ + // create a progress bar in the status bar + progressBar_ = new QProgressBar{ui_->statusBar}; + ui_->statusBar->addPermanentWidget(progressBar_); +@@ -76,12 +102,15 @@ + pathBar->setPath(Fm::FilePath::fromLocalPath("/")); + ui_->toolBar->addWidget(pathBar); + #endif ++ ui_->toolBar->addSeparator(); + currentPathEdit_ = new QLineEdit(this); + ui_->toolBar->addWidget(currentPathEdit_); + + popupMenu_ = new QMenu{this}; + popupMenu_->addAction(ui_->actionExtract); + popupMenu_->addAction(ui_->actionDelete); ++ popupMenu_->addSeparator(); ++ popupMenu_->addAction(ui_->actionView); + + // proxy model used to filter and sort the items + proxyModel_ = new ArchiverProxyModel{this}; +@@ -92,12 +121,22 @@ + proxyModel_->sort(0, Qt::AscendingOrder); + + ui_->fileListView->setModel(proxyModel_); ++ connect(ui_->fileListView, &FileTreeView::dragStarted, this, &MainWindow::onDragStarted); + connect(ui_->fileListView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &MainWindow::onFileListSelectionChanged); ++ // NOTE: QAbstractItemView::activated() is only for single/double clicking a directory. ++ // FileTreeView does not emit it with Enter or Return because it may not cover both of them. ++ // Instead, FileTreeView::enterPressed() is emitted on pressing Enter and Return alike. + connect(ui_->fileListView, &QAbstractItemView::activated, this, &MainWindow::onFileListActivated); ++ connect(ui_->fileListView, &FileTreeView::enterPressed, this, &MainWindow::onFileListEnterPressed); + + // show context menu + ui_->fileListView->setContextMenuPolicy(Qt::CustomContextMenu); + connect(ui_->fileListView, &QAbstractItemView::customContextMenuRequested, this, &MainWindow::onFileListContextMenu); ++ connect(ui_->fileListView, &QAbstractItemView::doubleClicked, this, &MainWindow::onFileListDoubleClicked); ++ ++ // filtering ++ ui_->filterLineEdit->setVisible(false); ++ connect(ui_->filterLineEdit, &QLineEdit::textChanged, this, &MainWindow::filter); + + connect(archiver_.get(), &Archiver::invalidateContent, this, &MainWindow::onInvalidateContent); + connect(archiver_.get(), &Archiver::start, this, &MainWindow::onActionStarted); +@@ -115,9 +154,31 @@ + ui_->actionPaste->deleteLater(); + ui_->actionRename->deleteLater(); + ui_->actionFind->deleteLater(); ++ ++ lasrDir_ = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)); ++ ++ setAttribute(Qt::WA_DeleteOnClose, true); ++ ++ // support file dropping into the window ++ setAcceptDrops(true); + } + + MainWindow::~MainWindow() { ++ QSettings settings(QSettings::UserScope, QStringLiteral("lxqt"), QStringLiteral("archiver")); ++ settings.beginGroup (QStringLiteral("Sizes")); ++ QSize windowSize = size(); ++ if(settings.value(QStringLiteral("WindowSize")).toSize() != windowSize) { ++ settings.setValue(QStringLiteral("WindowSize"), windowSize); ++ } ++ int splitterPos = viewMode_ == ViewMode::FlatList ? splitterPos_ : ui_->splitter->sizes().at(0); ++ if(settings.value(QStringLiteral("SplitterPos")).toInt() != splitterPos) { ++ settings.setValue(QStringLiteral("SplitterPos"), splitterPos); ++ } ++ settings.endGroup(); ++ ++ if(!tempDir_.isEmpty()) { // remove the temp dir if any ++ QDir(tempDir_).removeRecursively(); ++ } + } + + void MainWindow::loadFile(const Fm::FilePath &file) { +@@ -127,44 +188,113 @@ + splitVolumes_ = false; + volumeSize_ = 0; + ++ // find the name of temporary extraction directory (used for viewing files) ++ if(!tempDir_.isEmpty()) { // remove the last temp dir ++ QDir(tempDir_).removeRecursively(); ++ } ++ QString tmp = QStandardPaths::writableLocation(QStandardPaths::TempLocation); ++ if(!tmp.isEmpty()) { ++ if(QDir(tmp).exists()) { ++ tempDir_ = tmp + QStringLiteral("/lxqt-archiver-") ++ + QDateTime::currentDateTime().toString(QStringLiteral("yyyyMMddhhmmss")); ++ } ++ } ++ ++ // set the work directory to the containing folder ++ if(file.hasParent()) { ++ lasrDir_ = QUrl::fromEncoded(QByteArray(file.parent().uri().get())); ++ } ++ ++ // first remove filtering ++ ui_->filterLineEdit->clear(); ++ ui_->filterLineEdit->setVisible(false); ++ + archiver_->openArchive(file.uri().get(), nullptr); + } + ++void MainWindow::dragEnterEvent(QDragEnterEvent *event) { ++ // If the drag is originated in this window, ignore it. ++ // This is needed when an archive contains another archive, as with deb packages. ++ if(event->source()) { ++ event->ignore(); ++ return; ++ } ++ if(event->mimeData()->hasUrls()) { ++ const auto urlList = event->mimeData()->urls(); ++ if(!urlList.isEmpty()) { ++ auto url = urlList.at(0); ++ if(!url.isEmpty()) { ++ const auto mimeType = Fm::MimeType::guessFromFileName(url.toEncoded().constData())->name(); ++ if(archiver_->supportedOpenMimeTypes().contains(QString::fromUtf8(mimeType))) { ++ event->acceptProposedAction(); ++ return; ++ } ++ } ++ } ++ } ++ event->ignore(); ++} ++ ++void MainWindow::dropEvent(QDropEvent* event) { ++ if(event->mimeData()->hasUrls()) { ++ const auto urlList = event->mimeData()->urls(); ++ if(!urlList.isEmpty()) { ++ auto url = urlList.at(0); ++ if(!url.isEmpty()) { ++ auto path = Fm::FilePath::fromUri(url.toEncoded().constData()); ++ if(path.hasParent()) { ++ lasrDir_ = QUrl::fromEncoded(QByteArray(path.parent().uri().get())); ++ } ++ loadFile(path); ++ raise(); ++ activateWindow(); ++ } ++ } ++ } ++ event->acceptProposedAction(); ++} ++ + void MainWindow::setFileName(const QString &fileName) { + QString title = tr("File Archiver"); + if(!fileName.isEmpty()) { +- title = fileName + " - " + title; ++ title = fileName + QStringLiteral(" - ") + title; + } + setWindowTitle(title); + } + + void MainWindow::on_actionCreateNew_triggered(bool /*checked*/) { + CreateFileDialog dlg{this}; +- ++ dlg.setDirectory(lasrDir_); + if(dlg.exec() == QDialog::Accepted) { ++ if(!tempDir_.isEmpty()) { // remove the last temp dir ++ QDir(tempDir_).removeRecursively(); ++ } + password_ = dlg.password().toStdString(); + encryptHeader_ = dlg.encryptFileList(); + splitVolumes_ = dlg.splitVolumes(); + volumeSize_ = dlg.volumeSize(); + +- auto url = dlg.selectedFiles()[0]; ++ const auto url = dlg.selectedFiles().at(0); + if(!url.isEmpty()) { ++ lasrDir_ = dlg.directory(); + archiver_->createNewArchive(url); + } + } + } + + void MainWindow::on_actionOpen_triggered(bool /*checked*/) { +- qDebug("open"); ++ //qDebug("open"); + Fm::FileDialog dlg{this}; + dlg.setFileMode(QFileDialog::ExistingFile); + dlg.setNameFilters(Archiver::supportedOpenNameFilters() << tr("All files (*)")); +- qDebug() << Archiver::supportedOpenMimeTypes(); ++ //qDebug() << Archiver::supportedOpenMimeTypes(); + dlg.setAcceptMode(QFileDialog::AcceptOpen); ++ dlg.setDirectory(lasrDir_); + if(dlg.exec() == QDialog::Accepted) { +- auto url = dlg.selectedFiles()[0]; ++ const auto url = dlg.selectedFiles().at(0); + if(!url.isEmpty()) { +- loadFile(Fm::FilePath::fromUri(url.toEncoded())); ++ lasrDir_ = dlg.directory(); ++ loadFile(Fm::FilePath::fromUri(url.toEncoded().constData())); + } + } + } +@@ -187,6 +317,7 @@ + dlg.setFileMode(QFileDialog::ExistingFiles); + dlg.setNameFilters(QStringList{} << tr("All files (*)")); + dlg.setAcceptMode(QFileDialog::AcceptOpen); ++ dlg.setDirectory(lasrDir_); + + // only add the files if they are newer + auto onlyIfNewerCheckbox = new QCheckBox{tr("Add only if &newer"), &dlg}; +@@ -199,8 +330,9 @@ + return; + + auto fileUrls = dlg.selectedFiles(); +- qDebug() << "selected:" << fileUrls; ++ //qDebug() << "selected:" << fileUrls; + if(!fileUrls.isEmpty()) { ++ lasrDir_ = dlg.directory(); + auto srcPaths = Fm::pathListFromQUrls(fileUrls); + archiver_->addFiles(srcPaths, + currentDirPath_.c_str(), +@@ -218,6 +350,7 @@ + dlg.setFileMode(QFileDialog::Directory); + dlg.setNameFilters(QStringList{} << tr("All files (*)")); + dlg.setAcceptMode(QFileDialog::AcceptOpen); ++ dlg.setDirectory(lasrDir_); + + // only add the files if they are newer + auto onlyIfNewerCheckbox = new QCheckBox{tr("Add only if &newer"), &dlg}; +@@ -230,8 +363,9 @@ + return; + } + +- QUrl dirUrl = dlg.selectedFiles()[0]; ++ const QUrl dirUrl = dlg.selectedFiles().at(0); + if(!dirUrl.isEmpty()) { ++ lasrDir_ = dlg.directory(); + auto path = Fm::FilePath::fromUri(dirUrl.toEncoded().constData()); + archiver_->addDirectory(path, + currentDirPath_.c_str(), +@@ -247,7 +381,7 @@ + if(QMessageBox::question(this, tr("Confirm"), tr("Are you sure you want to delete selected files?"), QMessageBox::Yes|QMessageBox::No) != QMessageBox::Yes) { + return; + } +- qDebug("delete"); ++ //qDebug("delete"); + auto files = selectedFiles(true); + if(!files.empty()) { + archiver_->removeFiles(files, FR_COMPRESSION_NORMAL); +@@ -259,7 +393,7 @@ + } + + void MainWindow::on_actionExtract_triggered(bool /*checked*/) { +- qDebug("extract"); ++ //qDebug("extract"); + ExtractFileDialog dlg{this}; + + auto files = selectedFiles(true); +@@ -275,12 +409,14 @@ + dlg.setExtractSelected(true); + } + ++ dlg.setDirectory(lasrDir_); + if(dlg.exec() != QDialog::Accepted) { + return; + } + +- QUrl dirUrl = dlg.selectedFiles()[0]; ++ const QUrl dirUrl = dlg.selectedFiles().at(0); + if(!dirUrl.isEmpty()) { ++ lasrDir_ = dlg.directory(); + if(archiver_->isEncrypted() && password_.empty()) { + password_ = PasswordDialog::askPassword(this).toStdString(); + } +@@ -312,6 +448,177 @@ + } + } + ++void MainWindow::viewSelectedFiles() { ++ launchPaths_.clear(); ++ if(tempDir_.isEmpty()) { ++ return; ++ } ++ if(auto selModel = ui_->fileListView->selectionModel()) { ++ std::vector files; ++ const QModelIndexList indexes = selModel->selectedRows(); ++ for(const auto index : indexes) { ++ auto item = itemFromIndex(index); ++ if(item && !item->isDir()) { ++ const QString fileName = tempDir_ + QString::fromUtf8(item->fullPath()); ++ launchPaths_ << fileName; ++ if(!QFile::exists(fileName)) { ++ if(archiver_->isEncrypted() && password_.empty()) { ++ password_ = PasswordDialog::askPassword(this).toStdString(); ++ } ++ files.emplace_back(item->data()); ++ } ++ } ++ } ++ ++ if(files.empty()) { // all files are already extracted; launch them together ++ if(!launchPaths_.empty()) { ++ Fm::FilePathList paths; ++ for(auto& launchPath : launchPaths_) { ++ paths.push_back(Fm::FilePath::fromLocalPath(launchPath.toLocal8Bit().constData())); ++ } ++ Fm::FileLauncher().launchPaths(this, std::move(paths)); ++ launchPaths_.clear(); ++ } ++ } ++ else { ++ QString dest = tempDir_; ++ QDir dir(tempDir_); ++ const QString curDirPath = QString::fromStdString(currentDirPath_); ++ if(curDirPath.contains(QLatin1String("/"))) { ++ dest = tempDir_ + QLatin1String("/") + curDirPath.section(QLatin1String("/"), 0, -2); ++ dir.mkpath(dest); // also creates "dir" if needed ++ } ++ else if(!dir.exists()) { ++ dir.mkpath(tempDir_); ++ } ++ ++ if(archiver_->isEncrypted() && password_.empty()) { ++ password_ = PasswordDialog::askPassword(this).toStdString(); ++ } ++ auto destDir = Fm::FilePath::fromLocalPath(dest.toLocal8Bit().constData()); ++ ++ archiver_->extractFiles(files, ++ destDir, ++ currentDirPath_.c_str(), ++ false, ++ false, ++ false, ++ password_.empty() ? nullptr : password_.c_str() ++ ); ++ } ++ } ++} ++ ++bool MainWindow::isExtracted(const ArchiverItem* item) { ++ if(item->isDir()) { ++ std::vector children; ++ item->allChildren(children); ++ if(children.empty()) { ++ const QString fileName = tempDir_ + QString::fromUtf8(item->fullPath()); ++ return QFile::exists(fileName); ++ } ++ for(auto child : children) { ++ if(child->isDir()) { ++ if(!isExtracted(child)) { ++ return false; ++ } ++ } ++ else { ++ const QString fileName = tempDir_ + QString::fromUtf8(child->fullPath()); ++ if(!QFile::exists(fileName)) { ++ return false; ++ } ++ } ++ } ++ } ++ else { ++ const QString fileName = tempDir_ + QString::fromUtf8(item->fullPath()); ++ return QFile::exists(fileName); ++ } ++ return true; ++} ++ ++void MainWindow::onDragStarted() { ++ if(tempDir_.isEmpty()) { ++ return; ++ } ++ if(auto selModel = ui_->fileListView->selectionModel()) { ++ const QString curDirPath = QString::fromStdString(currentDirPath_); ++ QStringList fileNames; ++ std::vector files; ++ const QModelIndexList indexes = selModel->selectedRows(); ++ for(const auto idx : indexes) { ++ if(const auto item = itemFromIndex(idx)) { ++ const QString fullPath = QString::fromUtf8(item->fullPath()); ++ // only children of the current directory (not "..") ++ if(fullPath.startsWith(curDirPath)) { ++ const QString fileName = tempDir_ ++ // without the ending "/" ++ + (fullPath.endsWith(QLatin1String("/")) ++ ? fullPath.left(fullPath.size() - 1) ++ : fullPath); ++ fileNames << fileName; ++ if(!isExtracted(item)) { ++ if(archiver_->isEncrypted() && password_.empty()) { ++ password_ = PasswordDialog::askPassword(this).toStdString(); ++ } ++ files.emplace_back(item->data()); ++ } ++ } ++ } ++ } ++ ++ if(!fileNames.isEmpty()) { ++ QPointer drag = new QDrag(this); ++ QMimeData* mimeData = new QMimeData; ++ QList urlList; ++ for(auto& file : fileNames) { ++ urlList << QUrl::fromLocalFile(file); ++ } ++ mimeData->setUrls(urlList); ++ drag->setMimeData(mimeData); ++ if(files.empty()) { // all files are already extracted ++ if(drag->exec(Qt::CopyAction) == Qt::IgnoreAction) { ++ drag->deleteLater(); ++ } ++ } ++ else { // wait until all files are extracted ++ connect(archiver_.get(), &Archiver::finish, this, [drag]() { ++ if(drag && drag->exec(Qt::CopyAction) == Qt::IgnoreAction) { ++ drag->deleteLater(); ++ } ++ }); ++ } ++ ++ if(!files.empty()) { ++ QString dest = tempDir_; ++ QDir dir(tempDir_); ++ if(curDirPath.contains(QLatin1String("/"))) { ++ dest = tempDir_ + QLatin1String("/") + curDirPath.section(QLatin1String("/"), 0, -2); ++ dir.mkpath(dest); // also creates "dir" if needed ++ } ++ else if(!dir.exists()) { ++ dir.mkpath(tempDir_); ++ } ++ auto destDir = Fm::FilePath::fromLocalPath(dest.toLocal8Bit().constData()); ++ ++ archiver_->extractFiles(files, ++ destDir, ++ currentDirPath_.c_str(), ++ false, ++ true, // overwrite because a dir may have been only partly extracted ++ false, ++ password_.empty() ? nullptr : password_.c_str() ++ ); ++ } ++ } ++ } ++} ++ ++void MainWindow::on_actionView_triggered(bool /*checked*/) { ++ viewSelectedFiles(); ++} ++ + void MainWindow::on_actionTest_triggered(bool /*checked*/) { + if(archiver_->isLoaded()) { + archiver_->testArchiveIntegrity(nullptr); +@@ -343,6 +650,9 @@ + + void MainWindow::on_actionReload_triggered(bool /*checked*/) { + if(archiver_->isLoaded()) { ++ if(!tempDir_.isEmpty()) { // remove the last temp dir ++ QDir(tempDir_).removeRecursively(); ++ } + archiver_->reloadArchive(nullptr); + } + } +@@ -356,7 +666,7 @@ + QDialog dlg{this}; + Ui::AboutDialog ui; + ui.setupUi(&dlg); +- ui.version->setText(tr("Version: %1").arg(LXQT_ARCHIVER_VERSION)); ++ ui.version->setText(tr("Version: %1").arg(QStringLiteral(LXQT_ARCHIVER_VERSION))); + dlg.exec(); + } + +@@ -379,18 +689,55 @@ + } + + void MainWindow::onFileListContextMenu(const QPoint &pos) { ++ if(auto selModel = ui_->fileListView->selectionModel()) { ++ QModelIndex idx = selModel->currentIndex(); ++ auto item = itemFromIndex(idx); ++ ui_->actionView->setVisible(item && !item->isDir()); ++ } + // QAbstractScrollArea and its subclasses map the context menu event to coordinates of the viewport(). + auto globalPos = ui_->fileListView->viewport()->mapToGlobal(pos); + popupMenu_->popup(globalPos); + } + ++void MainWindow::onFileListDoubleClicked(const QModelIndex & /*index*/) { ++ viewSelectedFiles(); ++} ++ + void MainWindow::onFileListActivated(const QModelIndex &index) { +- auto item = itemFromIndex(index); +- if(item && item->isDir()) { +- chdir(item); ++ // This is only for clicking directories because QAbstractItemView::activated() may not ++ // cover Enter and Return alike. But onFileListEnterPressed() works with both of them. ++ if(QApplication::keyboardModifiers() == Qt::NoModifier) { ++ auto item = itemFromIndex(index); ++ if(item && item->isDir()) { ++ chdir(item); ++ } + } + } + ++void MainWindow::onFileListEnterPressed() { ++ if(auto selModel = ui_->fileListView->selectionModel()){ ++ const QModelIndexList indexes = selModel->selectedRows(); ++ if(indexes.size() == 1) { ++ // change directory if a single directory item is selected ++ auto item = itemFromIndex(indexes.at(0)); ++ if(item && item->isDir()) { ++ chdir(item); ++ return; ++ } ++ } ++ else if (indexes.isEmpty()) { ++ // select the current row if there is no selection ++ auto indx = selModel->currentIndex(); ++ if(indx.isValid()) { ++ selModel->select(indx, QItemSelectionModel::Select | QItemSelectionModel::Rows); ++ return; ++ } ++ } ++ } ++ // otherwise, view the selected files ++ viewSelectedFiles(); ++} ++ + void MainWindow::onInvalidateContent() { + // clear all models and make sure we don't cache any FileData pointers + auto oldModel = proxyModel_->sourceModel(); +@@ -408,11 +755,11 @@ + progressBar_->show(); + progressBar_->setFormat(tr("%p %")); + +- qDebug("action start: %d", action); ++ //qDebug("action start: %d", action); + + switch(action) { + case FR_ACTION_CREATING_NEW_ARCHIVE: +- qDebug("new archive"); ++ //qDebug("new archive"); + setFileName(archiver_->archiveDisplayName()); + break; + case FR_ACTION_LOADING_ARCHIVE: /* loading the archive from a remote location */ +@@ -463,16 +810,24 @@ + setBusyState(false); + progressBar_->hide(); + +- qDebug("action finished: %d", action); ++ //qDebug("action finished: %d", action); + + switch(action) { + case FR_ACTION_LOADING_ARCHIVE: /* loading the archive from a remote location */ +- qDebug("finish! %d", action); ++ //qDebug("finish! %d", action); + break; + case FR_ACTION_CREATING_NEW_ARCHIVE: // same as listing empty content + case FR_ACTION_CREATING_ARCHIVE: /* creating a local archive */ + case FR_ACTION_LISTING_CONTENT: /* listing the content of the archive */ +- qDebug("content listed"); ++ if(err.hasError()) { ++ // there has been a trouble with archive creation or listing; clear the tree ++ if(auto model = qobject_cast(ui_->dirTreeView->model())) { ++ model->clear(); ++ } ++ QMessageBox::critical(this, tr("Error"), err.message()); ++ return; ++ } ++ //qDebug("content listed"); + // content dir list of the archive is fully loaded + updateDirTree(); + +@@ -481,7 +836,9 @@ + if(!currentDirItem_) { + currentDirItem_ = archiver_->dirTreeRoot(); + } +- chdir(currentDirItem_); ++ if(currentDirItem_) { ++ chdir(currentDirItem_); ++ } + + break; + case FR_ACTION_DELETING_FILES: /* deleting files from the archive */ +@@ -489,7 +846,7 @@ + break; + case FR_ACTION_TESTING_ARCHIVE: /* testing the archive integrity */ + if(!err.hasError()) { +- QMessageBox::information(this, tr("Success"), tr("No errors are found.")); ++ QMessageBox::information(this, tr("Success"), tr("No errors have been found.")); + } + break; + case FR_ACTION_GETTING_FILE_LIST: /* getting the file list (when fr_archive_add_with_wildcard or +@@ -504,6 +861,16 @@ + archiver_->reloadArchive(nullptr); + break; + case FR_ACTION_EXTRACTING_FILES: /* extracting files */ ++ if(!err.hasError()) { ++ Fm::FilePathList paths; ++ for(auto& launchPath : launchPaths_) { ++ if(QFile::exists(launchPath)) { ++ paths.push_back(Fm::FilePath::fromLocalPath(launchPath.toLocal8Bit().constData())); ++ } ++ } ++ Fm::FileLauncher().launchPaths(this, std::move(paths)); ++ } ++ launchPaths_.clear(); + break; + case FR_ACTION_COPYING_FILES_TO_REMOTE: /* copying extracted files to a remote location */ + break; +@@ -533,7 +900,7 @@ + auto dlg = new Fm::FilePropsDialog{infos, this}; + // FIXME: this relies on libfm-qt internals. + // We need to add APIs to libfm-qt to let callers customize the file properties dialog. +- QWidget* generalPage = dlg->findChild("generalPage"); ++ QWidget* generalPage = dlg->findChild(QStringLiteral("generalPage")); + if(generalPage) { + auto fullSize = archiver_->uncompressedSize(); // actual uncompressed file size + auto compSize = infos[0]->size(); // compressed file size +@@ -575,7 +942,7 @@ + auto mtime = QDateTime::fromMSecsSinceEpoch(file->modifiedTime() * 1000); + + // FIXME: filename might not be UTF-8 +- QString name = viewMode_ == ViewMode::FlatList ? file->fullPath() : file->name(); ++ QString name = viewMode_ == ViewMode::FlatList ? QString::fromUtf8(file->fullPath()) : QString::fromUtf8(file->name()); + auto nameItem = new QStandardItem{icon, name}; + nameItem->setData(QVariant::fromValue(file), ArchiverItemRole); // store the item pointer on the first column + nameItem->setEditable(false); +@@ -613,9 +980,9 @@ + if(currentDirItem_) { + auto parent = archiver_->parentDir(currentDirItem_); + if(parent) { +- qDebug("parent: %s", parent ? parent->fullPath() : "null"); ++ //qDebug("parent: %s", parent ? parent->fullPath() : "null"); + auto parentRow = createFileListRow(parent); +- parentRow[0]->setText(".."); ++ parentRow[0]->setText(QStringLiteral("..")); + model->appendRow(parentRow); + } + } +@@ -636,8 +1003,17 @@ + proxyModel_->setSourceModel(model); + + ui_->statusBar->showMessage(tr("%1 files").arg(files.size())); +- // ui_->fileListView->header()->setSectionResizeMode(0, QHeaderView::Stretch); +- ui_->fileListView->resizeColumnToContents(0); ++ ++ //ui_->fileListView->header()->setSectionResizeMode(0, QHeaderView::Stretch); ++ QTimer::singleShot(0, this, [this] { ++ // remove filtering and reapply it after resizing columns to avoid ellipses ++ filter(QString()); ++ const int n = ui_->fileListView->header()->count(); ++ for(int i = 0; i < n; ++i) { ++ ui_->fileListView->resizeColumnToContents(i); ++ } ++ filter(ui_->filterLineEdit->text()); ++ }); + } + + void MainWindow::showFlatFileList() { +@@ -672,6 +1048,8 @@ + bool canEdit = hasArchive && !inProgress; + currentPathEdit_->setEnabled(canEdit); + ui_->fileListView->setEnabled(canEdit); ++ ui_->actionFilter->setEnabled(canEdit); ++ ui_->filterLineEdit->setEnabled(canEdit); + ui_->dirTreeView->setEnabled(canEdit); + // FIXME support this later + // ui_->actionSaveAs->setEnabled(canEdit); +@@ -697,7 +1075,7 @@ + // FIXME: use ArchiverItem instead of FileData + auto selModel = ui_->fileListView->selectionModel(); + if(selModel) { +- auto selIndexes = selModel->selectedRows(); ++ const auto selIndexes = selModel->selectedRows(); + for(const auto& idx: selIndexes) { + auto item = itemFromIndex(idx); + if(item) { +@@ -711,7 +1089,7 @@ + // FIXME: the old code uses FileData here. Later we should all use ArchiveItem instead. + for(auto& item: items) { + if(item->data()) { +- qDebug("SEL: %s", item->fullPath()); ++ //qDebug("SEL: %s", item->fullPath()); + results.emplace_back(item->data()); + } + } +@@ -774,11 +1152,13 @@ + auto archivePath = archiver_->currentArchivePath(); + auto contentType = archiver_->currentArchiveContentType(); + auto rootItem = model->item(0, 0); +- rootItem->setText(archivePath.baseName().get()); +- if(contentType) { +- auto mimeType = Fm::MimeType::fromName(contentType); +- if(mimeType && mimeType->icon()) { +- rootItem->setIcon(mimeType->icon()->qicon()); ++ if(rootItem) { ++ rootItem->setText(QString::fromUtf8(archivePath.baseName().get())); ++ if(contentType) { ++ auto mimeType = Fm::MimeType::fromName(contentType); ++ if(mimeType && mimeType->icon()) { ++ rootItem->setIcon(mimeType->icon()->qicon()); ++ } + } + } + connect(ui_->dirTreeView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &MainWindow::onDirTreeSelectionChanged); +@@ -791,7 +1171,7 @@ + QIcon qicon = iconInfo ? iconInfo->qicon() : QIcon(); + + // FIXME: root->name() might not be UTF-8 +- auto item = new QStandardItem{qicon, root->name()}; ++ auto item = new QStandardItem{qicon, QString::fromUtf8(root->name())}; + + item->setEditable(false); + item->setData(QVariant::fromValue(root), ArchiverItemRole); +@@ -821,8 +1201,12 @@ + } + + void MainWindow::chdir(const ArchiverItem *dir) { ++ // first remove filtering ++ ui_->filterLineEdit->clear(); ++ ui_->filterLineEdit->setVisible(false); ++ + currentDirPath_ = dir->fullPath(); +- currentPathEdit_->setText(dir->fullPath()); ++ currentPathEdit_->setText(QString::fromUtf8(dir->fullPath())); + currentDirItem_ = dir; + if(viewMode_ == ViewMode::DirTree) { + showCurrentDirList(); +@@ -856,7 +1240,8 @@ + showCurrentDirList(); + break; + case ViewMode::FlatList: +- // always hide dir tree view in flast list mode ++ // always hide dir tree view in flat list mode but remember splitter position first ++ splitterPos_ = ui_->splitter->sizes().at(0); + ui_->dirTreeView->hide(); + showFlatFileList(); + break; +@@ -864,6 +1249,24 @@ + } + } + ++void MainWindow::filter(const QString& text) { ++ if(proxyModel_) { ++ proxyModel_->setFilterStr(text); ++ } ++} ++ ++void MainWindow::on_actionFilter_triggered(bool /*checked*/) { ++ ui_->filterLineEdit->clear(); ++ if(!ui_->filterLineEdit->isVisible()) { ++ ui_->filterLineEdit->setVisible(true); ++ ui_->filterLineEdit->setFocus(); ++ } ++ else { ++ ui_->fileListView->setFocus(); ++ ui_->filterLineEdit->setVisible(false); ++ } ++} ++ + std::shared_ptr MainWindow::archiver() const { + return archiver_; + } +diff -Nuar a/src/mainwindow.h b/src/mainwindow.h +--- a/src/mainwindow.h 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/mainwindow.h 2020-04-02 13:56:22.000000000 +0300 +@@ -54,6 +54,10 @@ + + void chdir(const ArchiverItem* dir); + ++protected: ++ virtual void dropEvent(QDropEvent* event) override; ++ virtual void dragEnterEvent(QDragEnterEvent* event) override; ++ + private Q_SLOTS: + // action slots + void on_actionCreateNew_triggered(bool checked); +@@ -72,10 +76,12 @@ + + void on_actionExtract_triggered(bool checked); + ++ void on_actionView_triggered(bool checked); ++ + void on_actionTest_triggered(bool checked); + + void on_actionPassword_triggered(bool checked); +- ++ + void on_actionDirTree_toggled(bool checked); + + void on_actionDirTreeMode_toggled(bool checked); +@@ -88,14 +94,22 @@ + + void on_actionAbout_triggered(bool checked); + ++ void on_actionFilter_triggered(bool checked); ++ + void onDirTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); + + void onFileListSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); + + void onFileListContextMenu(const QPoint &pos); + ++ void onFileListDoubleClicked(const QModelIndex &index); ++ + void onFileListActivated(const QModelIndex &index); + ++ void onFileListEnterPressed(); ++ ++ void filter(const QString& text); ++ + private Q_SLOTS: + // Archiver slots + +@@ -113,6 +127,8 @@ + + void onPropertiesFileInfoJobFinished(); + ++ void onDragStarted(); ++ + private: + void setFileName(const QString& fileName); + +@@ -137,7 +153,11 @@ + const ArchiverItem* itemFromIndex(const QModelIndex& index); + + QModelIndex indexFromItem(const QModelIndex& parent, const ArchiverItem* item); +- ++ ++ void viewSelectedFiles(); ++ ++ bool isExtracted(const ArchiverItem* item); ++ + private: + std::unique_ptr ui_; + std::shared_ptr archiver_; +@@ -153,6 +173,12 @@ + bool encryptHeader_; + bool splitVolumes_; + unsigned int volumeSize_; ++ ++ QString tempDir_; ++ QStringList launchPaths_; ++ QUrl lasrDir_; ++ ++ int splitterPos_; + }; + + #endif // MAINWINDOW_H +diff -Nuar a/src/mainwindow.ui b/src/mainwindow.ui +--- a/src/mainwindow.ui 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/mainwindow.ui 2020-04-02 13:56:22.000000000 +0300 +@@ -49,36 +49,37 @@ + + QAbstractScrollArea::AdjustIgnored + +- +- false +- +- +- 0 +- +- +- +- +- false +- +- +- QAbstractItemView::ExtendedSelection +- + + + 24 + 24 + + +- ++ + false +- +- +- true + +- +- false ++ ++ 0 + + ++ ++ ++ ++ ++ ++ false ++ ++ ++ ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ + + + +@@ -140,6 +141,8 @@ + + + ++ ++ + + + +@@ -154,7 +157,10 @@ + + + +- toolBar ++ Main Toolbar ++ ++ ++ false + + + TopToolBarArea +@@ -215,6 +221,10 @@ + + + ++ ++ ++ .. ++ + + &Extract + +@@ -319,11 +329,19 @@ + + + ++ ++ ++ .. ++ + + &Add Files + + + ++ ++ ++ .. ++ + + Add F&older + +@@ -410,7 +428,28 @@ + Filename &Encoding + + ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ Ctrl+F ++ ++ + ++ ++ ++ FileTreeView ++ QTreeview ++
filetreeView.h
++ 1 ++
++
+ + + +diff -Nuar a/src/progressdialog.cpp b/src/progressdialog.cpp +--- a/src/progressdialog.cpp 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/progressdialog.cpp 2020-04-02 13:56:22.000000000 +0300 +@@ -45,7 +45,7 @@ + } + + void ProgressDialog::onProgress(double fraction) { +- qDebug("progress: %lf", fraction); ++ //qDebug("progress: %lf", fraction); + if(fraction < 0.0) { + // negative progress indicates that progress is unknown + ui_->progressBar->setRange(0, 0); // set it to undertermined state +@@ -60,7 +60,7 @@ + } + + void ProgressDialog::onMessage(QString msg) { +- qDebug("progress: %s", msg.toUtf8().constData()); ++ //qDebug("progress: %s", msg.toUtf8().constData()); + ui_->message->setText(msg); + } + +@@ -69,7 +69,7 @@ + } + + void ProgressDialog::onWorkingArchive(QString filename) { +- qDebug("progress: %s", filename.toUtf8().constData()); ++ //qDebug("progress: %s", filename.toUtf8().constData()); + ui_->currentFile->setText(filename); + } + +diff -Nuar a/src/translations/lxqt-archiver_arn.ts b/src/translations/lxqt-archiver_arn.ts +--- a/src/translations/lxqt-archiver_arn.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_arn.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,825 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ ++ ++ ++ ++ License ++ ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ *%1 files (*%1) ++ ++ ++ ++ ++ All supported formats ++ ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ ++ ++ ++ ++ Command is not found. ++ ++ ++ ++ ++ The command exited abnormally. ++ ++ ++ ++ ++ Password is required. ++ ++ ++ ++ ++ Missing volume. ++ ++ ++ ++ ++ Bad charset. ++ ++ ++ ++ ++ Unsupported file format. ++ ++ ++ ++ ++ Unknown errors happened. ++ ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ ++ ++ ++ ++ Password: ++ ++ ++ ++ ++ Encrypt the file list too ++ ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ ++ ++ ++ ++ E&xtract all files ++ ++ ++ ++ ++ Ex&tract selected files ++ ++ ++ ++ ++ Actions ++ ++ ++ ++ ++ Re-create folders ++ ++ ++ ++ ++ Overwrite existing files ++ ++ ++ ++ ++ Do not extract older files ++ ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ &File ++ ++ ++ ++ ++ &Edit ++ ++ ++ ++ ++ &View ++ ++ ++ ++ ++ &Help ++ ++ ++ ++ ++ Main Toolbar ++ ++ ++ ++ ++ &About ++ ++ ++ ++ ++ &New ++ ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ ++ ++ ++ ++ &Extract ++ ++ ++ ++ ++ &Test ++ ++ ++ ++ ++ &Properties ++ ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ ++ ++ ++ ++ Add F&older ++ ++ ++ ++ ++ Pass&word ++ ++ ++ ++ ++ &Toolbar ++ ++ ++ ++ ++ &Statusbar ++ ++ ++ ++ ++ &Directory Tree ++ ++ ++ ++ ++ S&how as Folder ++ ++ ++ ++ ++ Show &All Files ++ ++ ++ ++ ++ St&op ++ ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ++ Add only if &newer ++ ++ ++ ++ ++ Confirm ++ ++ ++ ++ ++ Are you sure you want to delete selected files? ++ ++ ++ ++ ++ Version: %1 ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ ++ ++ ++ ++ No errors have been found. ++ ++ ++ ++ ++ ++ Error ++ ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ ++ ++ ++ ++ Compression Ratio: ++ ++ ++ ++ ++ File name ++ ++ ++ ++ ++ File Type ++ ++ ++ ++ ++ File Size ++ ++ ++ ++ ++ Modified ++ ++ ++ ++ ++ Encrypted ++ ++ ++ ++ ++ %1 files ++ ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ ++ ++ ++ ++ Encrypt the file list ++ ++ ++ ++ ++ Show password ++ ++ ++ ++ ++ ++ Password: ++ ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ ++ ++ ++ ++ Deleting files from archive ++ ++ ++ ++ ++ Recompressing archive ++ ++ ++ ++ ++ Decompressing archive ++ ++ ++ ++ ++ File not found. ++ ++ ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ Archive not found ++ ++ ++ ++ ++ You don't have the right permissions. ++ ++ ++ ++ ++ This archive type cannot be modified ++ ++ ++ ++ ++ You can't add an archive to itself. ++ ++ ++ ++ ++ Could not find the volume: %s ++ ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_ar.ts b/src/translations/lxqt-archiver_ar.ts +--- a/src/translations/lxqt-archiver_ar.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_ar.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,831 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ عن ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <span style=" font-size:16pt; font-weight:600;">مؤرشف لكسكيوت</span> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ مؤرشف ملفات بسيط لا يأبه لسطح المكتب لديك، مبنيّ على كيوت ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ المؤلفون ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ البرمجة: ++* Hong Jen Yee ‏(PCMan) ‏<pcman.tw@gmail.com> ++ ++اشتُّق «مؤرشف لكسكيوت» من البرامج الآتية: ++* «إنغرمبا» لسطح المكتب متّة ++* «ضاغط الملفات» لسطح المكتب جنوم ++ ++ ++ ++ ++ License ++ الرخصة ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ نوع الأرشيف غير مدعوم. ++ ++ ++ ++ *%1 files (*%1) ++ *ملفات %1 (*%1) ++ ++ ++ ++ All supported formats ++ كل النسق المدعومة ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ فشل تنفيذ الأمر. ++ ++ ++ ++ Command is not found. ++ لم يوجد الأمر. ++ ++ ++ ++ The command exited abnormally. ++ لم يخرج الأمر كما ينبغي. ++ ++ ++ ++ Password is required. ++ كلمة السر مطلوبة. ++ ++ ++ ++ Missing volume. ++ ثمّة قسم ناقص. ++ ++ ++ ++ Bad charset. ++ طقم المحارف سيّئ. ++ ++ ++ ++ Unsupported file format. ++ نسق الملفات غير مدعوم. ++ ++ ++ ++ Unknown errors happened. ++ حدثت أخطاء مجهولة. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ميبي.بايت ++ ++ ++ ++ Split into volumes of ++ افصل إلى أقسام بحجم ++ ++ ++ ++ Password: ++ كلمة السر: ++ ++ ++ ++ Encrypt the file list too ++ عمِّ قائمة الملفات أيضًا ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ كل الملفات (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ استخرج ++ ++ ++ ++ E&xtract all files ++ ا&ستخرج كل الملفات ++ ++ ++ ++ Ex&tract selected files ++ اس&تخرج الملفات المحدّدة ++ ++ ++ ++ Actions ++ إجراءات ++ ++ ++ ++ Re-create folders ++ أعِد إنشاء المجلدات ++ ++ ++ ++ Overwrite existing files ++ عوّض الملفات الموجودة ++ ++ ++ ++ Do not extract older files ++ لا تستخرج الملفات القديمة ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ كل الملفات (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ مؤرشف الملفات ++ ++ ++ ++ Filter Files... ++ رشّح الملفات… ++ ++ ++ ++ &File ++ &ملف ++ ++ ++ ++ &Edit ++ ت&حرير ++ ++ ++ ++ &View ++ من&ظور ++ ++ ++ ++ &Help ++ م&ساعدة ++ ++ ++ ++ Main Toolbar ++ شريط الأدوات الرئيسي ++ ++ ++ ++ &About ++ &عن ++ ++ ++ ++ &New ++ &جديد ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ ا&فتح ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ احفظ &كَ‍ ++ ++ ++ ++ &Extract ++ ا&ستخرج ++ ++ ++ ++ &Test ++ ا&ختبر ++ ++ ++ ++ &Properties ++ ال&خصائص ++ ++ ++ ++ Alt+Return ++ Alt+Enter ++ ++ ++ ++ &Close ++ أ&غلِق ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ &قصّ ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ ا&نسخ ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ أل&صِق ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &غيّر الاسم ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ ا&حذف ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ &حدّد الكل ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ اب&حث ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ أ&ضِف ملفات ++ ++ ++ ++ Add F&older ++ أضِف مجل&دًا ++ ++ ++ ++ Pass&word ++ &كلمة السر ++ ++ ++ ++ &Toolbar ++ &شريط الأدوات ++ ++ ++ ++ &Statusbar ++ شريط ال&حالة ++ ++ ++ ++ &Directory Tree ++ شجرة الأ&دلة ++ ++ ++ ++ S&how as Folder ++ ا&عرض كمجلد ++ ++ ++ ++ Show &All Files ++ اعر&ض كل الملفات ++ ++ ++ ++ St&op ++ أو&قِف ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ أ&عِد التحميل ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ &ترميز اسم الملف ++ ++ ++ ++ &View Selected Items ++ ا&عرض العناصر المحدّدة ++ ++ ++ ++ &Filter ++ ر&شّح ++ ++ ++ ++ ++ ++ All files (*) ++ كل الملفات (*) ++ ++ ++ ++ ++ Add only if &newer ++ أضِف لو كانت أجدد فقط ++ ++ ++ ++ Confirm ++ تأكيد ++ ++ ++ ++ Are you sure you want to delete selected files? ++ أمتأكّد من حذف الملفات المحدّدة؟ ++ ++ ++ ++ Version: %1 ++ الإصدارة: %L1 ++ ++ ++ ++ %p % ++ %p ‏٪ ++ ++ ++ ++ Success ++ نجح ++ ++ ++ ++ No errors have been found. ++ لم توجد أيّ أخطاء. ++ ++ ++ ++ ++ Error ++ خطأ ++ ++ ++ ++ N/A ++ غير مُتاحة ++ ++ ++ ++ Uncompressed Size: ++ الحجم بلا ضغط: ++ ++ ++ ++ Compression Ratio: ++ نسبة الضغط: ++ ++ ++ ++ File name ++ اسم الملف ++ ++ ++ ++ File Type ++ نوع الملف ++ ++ ++ ++ File Size ++ حجم الملف ++ ++ ++ ++ Modified ++ تاريخ التعديل ++ ++ ++ ++ Encrypted ++ التعمية ++ ++ ++ ++ %1 files ++ ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ كلمة السر ++ ++ ++ ++ Encrypt the file list ++ عمِّ قائمة الملفات أيضًا ++ ++ ++ ++ Show password ++ اعرض كلمة السر ++ ++ ++ ++ ++ Password: ++ كلمة السر: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <b>ملاحظة:</b> ستُستعمل كلمة السر لتعمية الملفات حين تُضيفها إلى الأرشيف الحالي، ولفكّ تعمية الملفات التي تستخرجها من الأرشيف الحالي. متى أغلقت الأرشيف ستُحذف كلمة السر. ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ التقدّم ++ ++ ++ ++ %p % ++ %p ‏٪ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ خطأ ++ ++ ++ ++ 7-Zip (.7z) ++ 7‎-Zip ‏(.7z) ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ ++ ++ ++ ++ Ace (.ace) ++ Ace ‏(.ace) ++ ++ ++ ++ Ar (.a) ++ Ar ‏(.a) ++ ++ ++ ++ Ar (.ar) ++ Ar ‏(.ar) ++ ++ ++ ++ Arj (.arj) ++ Arj ‏(.arj) ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ ++ ++ ++ ++ Cabinet (.cab) ++ Cabinet ‏(.cab) ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ ++ ++ ++ ++ Ear (.ear) ++ Ear ‏(.ear) ++ ++ ++ ++ Self-extracting zip (.exe) ++ ملف zip يستخرج نفسه بنفسه (.exe) ++ ++ ++ ++ Jar (.jar) ++ Jar ‏(.jar) ++ ++ ++ ++ Lha (.lzh) ++ Lha ‏(.lzh) ++ ++ ++ ++ Lrzip (.lrz) ++ Lrzip ‏(.lrz) ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ ++ ++ ++ ++ Windows Imaging Format (.wim) ++ نسق صور وِندوز (.wim) ++ ++ ++ ++ Rar (.rar) ++ Rar ‏(.rar) ++ ++ ++ ++ Tar uncompressed (.tar) ++ ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ ++ ++ ++ ++ War (.war) ++ War ‏(.war) ++ ++ ++ ++ Xz (.xz) ++ Xz ‏(.xz) ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ ++ ++ ++ ++ Zoo (.zoo) ++ Zoo ‏(.zoo) ++ ++ ++ ++ Zip (.zip) ++ Zip ‏(.zip) ++ ++ ++ ++ ++ ++ ++ Adding file: ++ يُضيف الملف: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ يستخرج الملف: ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ يُزيل الملف: ++ ++ ++ ++ Deleting files from archive ++ يحذف الملفات من الأرشيف ++ ++ ++ ++ Recompressing archive ++ يُعيد ضغط الأرشيف ++ ++ ++ ++ Decompressing archive ++ يفكّ ضغط الأرشيف ++ ++ ++ ++ File not found. ++ لم يوجد الملف. ++ ++ ++ ++ Archive type not supported. ++ نوع الأرشيف غير مدعوم. ++ ++ ++ ++ Archive not found ++ لم يوجد الأرشيف ++ ++ ++ ++ You don't have the right permissions. ++ ++ ++ ++ ++ This archive type cannot be modified ++ لا يمكن تعديل نوع هذا الأرشيف ++ ++ ++ ++ You can't add an archive to itself. ++ لا يمكنك إضافة أرشيف داخل نفسه. ++ ++ ++ ++ Could not find the volume: %s ++ تعذّر العثور على القسم: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_ast.ts b/src/translations/lxqt-archiver_ast.ts +--- a/src/translations/lxqt-archiver_ast.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_ast.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,825 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ ++ ++ ++ ++ License ++ ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ *%1 files (*%1) ++ ++ ++ ++ ++ All supported formats ++ ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ ++ ++ ++ ++ Command is not found. ++ ++ ++ ++ ++ The command exited abnormally. ++ ++ ++ ++ ++ Password is required. ++ ++ ++ ++ ++ Missing volume. ++ ++ ++ ++ ++ Bad charset. ++ ++ ++ ++ ++ Unsupported file format. ++ ++ ++ ++ ++ Unknown errors happened. ++ ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ ++ ++ ++ ++ Password: ++ ++ ++ ++ ++ Encrypt the file list too ++ ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ ++ ++ ++ ++ E&xtract all files ++ ++ ++ ++ ++ Ex&tract selected files ++ ++ ++ ++ ++ Actions ++ ++ ++ ++ ++ Re-create folders ++ ++ ++ ++ ++ Overwrite existing files ++ ++ ++ ++ ++ Do not extract older files ++ ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ &File ++ ++ ++ ++ ++ &Edit ++ ++ ++ ++ ++ &View ++ ++ ++ ++ ++ &Help ++ ++ ++ ++ ++ Main Toolbar ++ ++ ++ ++ ++ &About ++ ++ ++ ++ ++ &New ++ ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ ++ ++ ++ ++ &Extract ++ ++ ++ ++ ++ &Test ++ ++ ++ ++ ++ &Properties ++ ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ ++ ++ ++ ++ Add F&older ++ ++ ++ ++ ++ Pass&word ++ ++ ++ ++ ++ &Toolbar ++ ++ ++ ++ ++ &Statusbar ++ ++ ++ ++ ++ &Directory Tree ++ ++ ++ ++ ++ S&how as Folder ++ ++ ++ ++ ++ Show &All Files ++ ++ ++ ++ ++ St&op ++ ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ++ Add only if &newer ++ ++ ++ ++ ++ Confirm ++ ++ ++ ++ ++ Are you sure you want to delete selected files? ++ ++ ++ ++ ++ Version: %1 ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ ++ ++ ++ ++ No errors have been found. ++ ++ ++ ++ ++ ++ Error ++ ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ ++ ++ ++ ++ Compression Ratio: ++ ++ ++ ++ ++ File name ++ ++ ++ ++ ++ File Type ++ ++ ++ ++ ++ File Size ++ ++ ++ ++ ++ Modified ++ ++ ++ ++ ++ Encrypted ++ ++ ++ ++ ++ %1 files ++ ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ ++ ++ ++ ++ Encrypt the file list ++ ++ ++ ++ ++ Show password ++ ++ ++ ++ ++ ++ Password: ++ ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ ++ ++ ++ ++ Deleting files from archive ++ ++ ++ ++ ++ Recompressing archive ++ ++ ++ ++ ++ Decompressing archive ++ ++ ++ ++ ++ File not found. ++ ++ ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ Archive not found ++ ++ ++ ++ ++ You don't have the right permissions. ++ ++ ++ ++ ++ This archive type cannot be modified ++ ++ ++ ++ ++ You can't add an archive to itself. ++ ++ ++ ++ ++ Could not find the volume: %s ++ ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_ca.ts b/src/translations/lxqt-archiver_ca.ts +--- a/src/translations/lxqt-archiver_ca.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_ca.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,848 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Quant a ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Arxivador de LXQt</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Un arxivador de fitxers Qt senzill i d'escriptori agnòstic ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ Autors ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programació: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++L'arxivador de LXQt deriva dels següents programes: ++* Engrampa de l'escriptori MATE ++* File Roller de l'escriptori Gnome ++ ++ ++ ++ ++ License ++ Llicència ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ Arxivador de LXQt ++ ++Drets d'autor (C) 2018 l'equip de LXQt ++ ++Aquest programa és programari lliure; podeu redistribuir-lo i/o ++modificar-lo d'acord amb els termes de la llicència pública general ++de GNU tal com la publica la Free Software Foundation, ja sigui la ++versió 2 de la llicència, o bé, si així ho voleu, qualsevol altra versió ++posterior. ++ ++Aquest programa es distribueix amb l'esperança que serà útil, però ++SENSE CAP GARANTIA; ni tan sols amb la garantia de ++COMERCIALITZACIÓ o APTITUD PER A PROPÒSITS DETERMINATS. ++Vegeu la Llicència general pública de GNU per a més detalls. ++ ++Hauríeu d'haver rebut una còpia de la Llicència Pública General de ++GNU; si no és així, escriviu a la Free Software Foundation, Inc., 51 ++Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ El tipus d'arxiu no és compatible. ++ ++ ++ ++ *%1 files (*%1) ++ Fitxers *%1 (*%1) ++ ++ ++ ++ All supported formats ++ Tots els formats admesos ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Ha fallat l'execució de l'ordre. ++ ++ ++ ++ Command is not found. ++ No s'ha trobat l'ordre. ++ ++ ++ ++ The command exited abnormally. ++ L'ordre va sortir de forma no normal. ++ ++ ++ ++ Password is required. ++ Es requereix la contrasenya. ++ ++ ++ ++ Missing volume. ++ Hi falta el volum. ++ ++ ++ ++ Bad charset. ++ Conjunt de caràcters incorrecte. ++ ++ ++ ++ Unsupported file format. ++ Format de fitxer no admés. ++ ++ ++ ++ Unknown errors happened. ++ S'han produït errors desconeguts. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ Divideix en volums de ++ ++ ++ ++ Password: ++ Contrasenya: ++ ++ ++ ++ Encrypt the file list too ++ Xifra també la llista de fitxers ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Tots els fitxers (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Extreu ++ ++ ++ ++ E&xtract all files ++ E&xtreu tots els fitxers ++ ++ ++ ++ Ex&tract selected files ++ Ex&treu els fitxers seleccionats ++ ++ ++ ++ Actions ++ Accions ++ ++ ++ ++ Re-create folders ++ Torna a crear les carpetes ++ ++ ++ ++ Overwrite existing files ++ Sobreescriu els fitxers existents ++ ++ ++ ++ Do not extract older files ++ No extraguis els fitxers més antics ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Tots els fitxers (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Arxivador de fitxers ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ &File ++ &Fitxer ++ ++ ++ ++ &Edit ++ &Edita ++ ++ ++ ++ &View ++ &Visualitza ++ ++ ++ ++ &Help ++ &Ajuda ++ ++ ++ ++ Main Toolbar ++ ++ ++ ++ ++ &About ++ &Quant a ++ ++ ++ ++ &New ++ &Nou ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ &Obre ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ &Anomena i desa ++ ++ ++ ++ &Extract ++ &Extreu ++ ++ ++ ++ &Test ++ Pro&va ++ ++ ++ ++ &Properties ++ &Propietats ++ ++ ++ ++ Alt+Return ++ Alt+Retorn ++ ++ ++ ++ &Close ++ Tan&ca ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ Re&talla ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ &Copia ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ Engan&xa ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &Reanomena ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ &Elimina ++ ++ ++ ++ Del ++ Supr ++ ++ ++ ++ &Select All ++ &Selecciona-ho tot ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ &Troba ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ &Afegeix fitxers ++ ++ ++ ++ Add F&older ++ Afegeix la car&peta ++ ++ ++ ++ Pass&word ++ Contrasen&ya ++ ++ ++ ++ &Toolbar ++ &Barra d'eines ++ ++ ++ ++ &Statusbar ++ Barra d'e&stat ++ ++ ++ ++ &Directory Tree ++ Arbre de &directoris ++ ++ ++ ++ S&how as Folder ++ M&ostra com a carpeta ++ ++ ++ ++ Show &All Files ++ Mostr&a tots els fitxers ++ ++ ++ ++ St&op ++ At&ura ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ To&rna a carregar ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ Codificació del nom de fitx&er ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ Tots els fitxers (*) ++ ++ ++ ++ ++ Add only if &newer ++ Afegeix només si és més rece&nt ++ ++ ++ ++ Confirm ++ Confirma ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Esteu segur que voleu eliminar els fitxers seleccionats? ++ ++ ++ ++ Version: %1 ++ Versió: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Reeixit ++ ++ ++ ++ No errors have been found. ++ No s'ha trobat cap error. ++ ++ ++ ++ ++ Error ++ ++ ++ ++ ++ N/A ++ N/D ++ ++ ++ ++ Uncompressed Size: ++ Mida descomprimit: ++ ++ ++ ++ Compression Ratio: ++ Relació de compressió: ++ ++ ++ ++ File name ++ Nom de fitxer ++ ++ ++ ++ File Type ++ Tipus de fitxer ++ ++ ++ ++ File Size ++ Mida del fitxer ++ ++ ++ ++ Modified ++ Modificat ++ ++ ++ ++ Encrypted ++ Xifrat ++ ++ ++ ++ %1 files ++ %1 fitxers ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Contrasenya ++ ++ ++ ++ Encrypt the file list ++ Xifra la llista de fitxers ++ ++ ++ ++ Show password ++ Mostra la contrasenya ++ ++ ++ ++ ++ Password: ++ Contrasenya: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Nota:</b>la contrasenya s'utilitzarà per xifrar els fitxers que afegiu a l'arxiu actual i per desxifrar els fitxers que extraieu de l'arxiu actual. Quan es tanqui l'arxiu, s'eliminarà la contrasenya.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Progrés ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar comprimit amb 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar comprimit amb bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar comprimit amb bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar comprimit amb gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Zio autoextraïble (.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar comprimit amb lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar comprimit amb lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar comprimit amb lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar comprimit amb lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar sense comprimir (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar comprimit amb compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar comprimit amb xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Addició del fitxer: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Extracció del fitxer: ++ ++ ++ ++ %d %B %Y, %H:%M ++ %d %B de %Y, %H:%M ++ ++ ++ ++ ++ Removing file: ++ Supressió del fitxer: ++ ++ ++ ++ Deleting files from archive ++ Eliminació dels fitxers de l'arxiu ++ ++ ++ ++ Recompressing archive ++ Recompressió de l'arxiu ++ ++ ++ ++ Decompressing archive ++ Descompressió de l'arxiu ++ ++ ++ ++ File not found. ++ Fitxer no trobat. ++ ++ ++ ++ Archive type not supported. ++ Tipus d'arxiu no admés. ++ ++ ++ ++ Archive not found ++ Arxiu no trobat ++ ++ ++ ++ You don't have the right permissions. ++ No teniu els permisos adequats. ++ ++ ++ ++ This archive type cannot be modified ++ Aquest tipus d'arxiu no es pot modificar ++ ++ ++ ++ You can't add an archive to itself. ++ No podeu afegir un arxiu a si mateix. ++ ++ ++ ++ Could not find the volume: %s ++ No s'ha pogut trobar el volum: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_cs.desktop b/src/translations/lxqt-archiver_cs.desktop +--- a/src/translations/lxqt-archiver_cs.desktop 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_cs.desktop 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,3 @@ ++Name[cs]=LXQt správce archivů ++GenericName[cs]=Správce archivů ++Comment[cs]=Správce archivů +diff -Nuar a/src/translations/lxqt-archiver_cs.ts b/src/translations/lxqt-archiver_cs.ts +--- a/src/translations/lxqt-archiver_cs.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_cs.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ O aplikaci ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt správce archivů</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Jednoduchý a na prostředí nezávislý nástroj pro správu archivů založený na Qt ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ Autoři ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programování: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++Archivátor LXQt je odvozen od následujících aplikací: ++* Engrampa z prostředí MATE ++* File Roller z prostředí Gnome ++ ++ ++ ++ ++ License ++ Licence ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt správce archivů ++ ++Autorské právo © 2018 vývojáři LXQt ++ ++Tato aplikace je svobodný software, můžete ji šířit dále a/nebo ++upravovat za podmínek GNU obecné veřejné licence ++jak je vydaná nadací Free Software Foundation, buď verze 2 ++této licence, nebo (jako vaše volba) jakékoli pozdější. ++ ++Tato aplikace je šířena v naději, že bude užitečná, ++ale BEZ JAKÝCHKOLI ZÁRUK, bez ani předpokládané záruky ++PRODEJNOSTI nebo VHODNOSTI PRO KONKRÉTNÍ ÚČEL. ++Podrobnosti naleznete v GNU obecné veřejné licenci. ++ ++Společně s touto aplikací byste měli obdržet kopii ++GNU obecné veřejné licence, pokud tomu tak není, napište do nadace Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Tento typ archivu není podporován. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 soubory (*%1) ++ ++ ++ ++ All supported formats ++ Všechny podporované formáty ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Příkaz se nepodařilo spustit. ++ ++ ++ ++ Command is not found. ++ Příkaz nenalezen. ++ ++ ++ ++ The command exited abnormally. ++ Příkaz neskončil tak, jak měl. ++ ++ ++ ++ Password is required. ++ Je vyžadováno heslo. ++ ++ ++ ++ Missing volume. ++ Chybějící svazek. ++ ++ ++ ++ Bad charset. ++ Chybná znaková sada. ++ ++ ++ ++ Unsupported file format. ++ Nepodporovaný formát souboru. ++ ++ ++ ++ Unknown errors happened. ++ Došlo k neznámým chybám. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ Rozdělit po svazcích o velikosti ++ ++ ++ ++ Password: ++ Heslo: ++ ++ ++ ++ Encrypt the file list too ++ Šifrovat také seznam souborů ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Veškeré soubory (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Rozbalit ++ ++ ++ ++ E&xtract all files ++ &Rozbalit všechny soubory ++ ++ ++ ++ Ex&tract selected files ++ Vybali&t označené soubory ++ ++ ++ ++ Actions ++ Akce ++ ++ ++ ++ Re-create folders ++ Znovu vytvořit složky ++ ++ ++ ++ Overwrite existing files ++ Přepsat existující soubory ++ ++ ++ ++ Do not extract older files ++ Nevybalovat soubory, které jsou starší než ty už přítomné ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Veškeré soubory (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Nástroj pro práci s archivy ++ ++ ++ ++ Filter Files... ++ Filtrovat soubory… ++ ++ ++ ++ &File ++ &Soubor ++ ++ ++ ++ &Edit ++ &Úpravy ++ ++ ++ ++ &View ++ &Zobrazit ++ ++ ++ ++ &Help ++ &Nápověda ++ ++ ++ ++ Main Toolbar ++ Hlavní lišta nástrojů ++ ++ ++ ++ &About ++ O &aplikaci ++ ++ ++ ++ &New ++ &Nové ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ &Otevřít ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ Uložit j&ako ++ ++ ++ ++ &Extract ++ &Rozbalit ++ ++ ++ ++ &Test ++ O&testovat ++ ++ ++ ++ &Properties ++ &Vlastnosti ++ ++ ++ ++ Alt+Return ++ Alt+Enter ++ ++ ++ ++ &Close ++ &Zavřít ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ Vyjmou&t ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ &Kopírovat ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ &Vložit ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &Přejmenovat ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ &Smazat ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ &Vybrat vše ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ &Najít ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ Přid&at soubory ++ ++ ++ ++ Add F&older ++ Přidat sl&ožku ++ ++ ++ ++ Pass&word ++ &Heslo ++ ++ ++ ++ &Toolbar ++ Pruh nás&trojů ++ ++ ++ ++ &Statusbar ++ &Stavový pruh ++ ++ ++ ++ &Directory Tree ++ &Strom složek ++ ++ ++ ++ S&how as Folder ++ Zobrazit &jako složku ++ ++ ++ ++ Show &All Files ++ Zobr&azit veškeré soubory ++ ++ ++ ++ St&op ++ Zas&tavit ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &Načíst znovu ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ &Znaková sada názvu souboru ++ ++ ++ ++ &View Selected Items ++ &Zobrazit označené položky ++ ++ ++ ++ &Filter ++ &Filtrovat ++ ++ ++ ++ ++ ++ All files (*) ++ Veškeré soubory (*) ++ ++ ++ ++ ++ Add only if &newer ++ Přidat pouze pokud jsou &novější ++ ++ ++ ++ Confirm ++ Potvrdit ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Opravdu chcete označené soubory smazat? ++ ++ ++ ++ Version: %1 ++ Verze: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Úspěšné ++ ++ ++ ++ No errors have been found. ++ Nebyly nalezeny žádné chyby. ++ ++ ++ ++ ++ Error ++ Chyba ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ Nekomprimovaná velikost: ++ ++ ++ ++ Compression Ratio: ++ Kompresní poměr: ++ ++ ++ ++ File name ++ Název souboru ++ ++ ++ ++ File Type ++ Typ souboru ++ ++ ++ ++ File Size ++ Velikost souboru ++ ++ ++ ++ Modified ++ Změněno ++ ++ ++ ++ Encrypted ++ Šifrováno ++ ++ ++ ++ %1 files ++ %1 souborů ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Heslo ++ ++ ++ ++ Encrypt the file list ++ Zašifrovat seznam souborů ++ ++ ++ ++ Show password ++ Zobrazit heslo ++ ++ ++ ++ ++ Password: ++ Heslo: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Pozn.:</b> heslo bude použito pro zašifrování souborů které přidáte do stávajícího souboru a pro jejich následné rozšifrování. Při zavření archivu aplikace heslo zapomene.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Průběh ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Chyba ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar komprimovaný pomocí 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar komprimovaný pomocí bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar komprimovaný pomocí bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Komiksy komprimované pomocí rar (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Komiksy komprimované pomocí zip (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar komprimovaný pomocí gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Samorozbalovací zip (.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar komprimovaný pomocí lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar komprimovaný pomocí lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar komprimovaný pomocí lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar komprimovaný pomocí lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Nekomprimovaný tar (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar komprimovaný pomocí (.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar komprimovaný pomocí xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Přidávání souboru: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Vybalování souboru: ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ Odebírání souboru: ++ ++ ++ ++ Deleting files from archive ++ Mazání souborů z archivu ++ ++ ++ ++ Recompressing archive ++ Předělávání komprese archivu ++ ++ ++ ++ Decompressing archive ++ Rozbalování archivu ++ ++ ++ ++ File not found. ++ Soubor nenalezen. ++ ++ ++ ++ Archive type not supported. ++ Tento typ archivu není podporován. ++ ++ ++ ++ Archive not found ++ Archiv nenalezen ++ ++ ++ ++ You don't have the right permissions. ++ Nemáte potřebná oprávnění. ++ ++ ++ ++ This archive type cannot be modified ++ Tento typ archivu není možné měnit ++ ++ ++ ++ You can't add an archive to itself. ++ Archiv není možné přidat sám do sebe. ++ ++ ++ ++ Could not find the volume: %s ++ Nedaří se najít svazek: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_cy.ts b/src/translations/lxqt-archiver_cy.ts +--- a/src/translations/lxqt-archiver_cy.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_cy.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,825 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ ++ ++ ++ ++ License ++ ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ *%1 files (*%1) ++ ++ ++ ++ ++ All supported formats ++ ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ ++ ++ ++ ++ Command is not found. ++ ++ ++ ++ ++ The command exited abnormally. ++ ++ ++ ++ ++ Password is required. ++ ++ ++ ++ ++ Missing volume. ++ ++ ++ ++ ++ Bad charset. ++ ++ ++ ++ ++ Unsupported file format. ++ ++ ++ ++ ++ Unknown errors happened. ++ ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ ++ ++ ++ ++ Password: ++ ++ ++ ++ ++ Encrypt the file list too ++ ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ ++ ++ ++ ++ E&xtract all files ++ ++ ++ ++ ++ Ex&tract selected files ++ ++ ++ ++ ++ Actions ++ ++ ++ ++ ++ Re-create folders ++ ++ ++ ++ ++ Overwrite existing files ++ ++ ++ ++ ++ Do not extract older files ++ ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ &File ++ ++ ++ ++ ++ &Edit ++ ++ ++ ++ ++ &View ++ ++ ++ ++ ++ &Help ++ ++ ++ ++ ++ Main Toolbar ++ ++ ++ ++ ++ &About ++ ++ ++ ++ ++ &New ++ ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ ++ ++ ++ ++ &Extract ++ ++ ++ ++ ++ &Test ++ ++ ++ ++ ++ &Properties ++ ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ ++ ++ ++ ++ Add F&older ++ ++ ++ ++ ++ Pass&word ++ ++ ++ ++ ++ &Toolbar ++ ++ ++ ++ ++ &Statusbar ++ ++ ++ ++ ++ &Directory Tree ++ ++ ++ ++ ++ S&how as Folder ++ ++ ++ ++ ++ Show &All Files ++ ++ ++ ++ ++ St&op ++ ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ++ Add only if &newer ++ ++ ++ ++ ++ Confirm ++ ++ ++ ++ ++ Are you sure you want to delete selected files? ++ ++ ++ ++ ++ Version: %1 ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ ++ ++ ++ ++ No errors have been found. ++ ++ ++ ++ ++ ++ Error ++ ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ ++ ++ ++ ++ Compression Ratio: ++ ++ ++ ++ ++ File name ++ ++ ++ ++ ++ File Type ++ ++ ++ ++ ++ File Size ++ ++ ++ ++ ++ Modified ++ ++ ++ ++ ++ Encrypted ++ ++ ++ ++ ++ %1 files ++ ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ ++ ++ ++ ++ Encrypt the file list ++ ++ ++ ++ ++ Show password ++ ++ ++ ++ ++ ++ Password: ++ ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ ++ ++ ++ ++ Deleting files from archive ++ ++ ++ ++ ++ Recompressing archive ++ ++ ++ ++ ++ Decompressing archive ++ ++ ++ ++ ++ File not found. ++ ++ ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ Archive not found ++ ++ ++ ++ ++ You don't have the right permissions. ++ ++ ++ ++ ++ This archive type cannot be modified ++ ++ ++ ++ ++ You can't add an archive to itself. ++ ++ ++ ++ ++ Could not find the volume: %s ++ ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_de.ts b/src/translations/lxqt-archiver_de.ts +--- a/src/translations/lxqt-archiver_de.ts 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/translations/lxqt-archiver_de.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -41,8 +41,8 @@ + * Hong Jen Yee (PCMan) <pcman.tw@gmail.com> + + LXQt Archiver wurde von folgenden Programmen abgeleitet: +-* Engrampa of MATE desktop +-* File Roller of Gnome desktop ++* Engrampa der Desktopumgebung MATE ++* File Roller der Desktopumgebung Gnome + + + +@@ -112,8 +112,8 @@ + ArchiverError + + +- Fail to execute the command. +- Ausführung fehlgeschlagen. ++ Failed to execute the command. ++ Der Befehl konnte nicht ausgeführt werden. + + + +@@ -123,12 +123,12 @@ + + + The command exited abnormally. +- Abbruch unerwartet. ++ Der Befehl wurde fehlerhaft beendet. + + + + Password is required. +- Kennwort benötigt. ++ Passwort ist erforderlich. + + + +@@ -138,17 +138,17 @@ + + + Bad charset. +- Zeichensatz fehlerhaft. ++ Fehlerhafter Zeichensatz. + + + + Unsupported file format. +- Dateiformat nicht unterstützt. ++ Nicht unterstütztes Dateiformat. + + + + Unknown errors happened. +- Fehler unbekannt. ++ Unbekannte Fehler sind aufgetreten. + + + +@@ -161,17 +161,25 @@ + + + Split into volumes of +- Anzahl der zu bildenden Teilarchive ++ Aufteilen in Einheiten von + + + + Password: +- Kennwort: ++ Passwort: + + + + Encrypt the file list too +- Dateiliste verschlüsseln als ++ Dateiliste auch verschlüsseln ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Alle Dateien (*) + + + +@@ -184,12 +192,12 @@ + + + E&xtract all files +- E&ntpacken aller Dateien ++ Alle Dateien e&ntpacken + + + + Ex&tract selected files +- En&tpacken ausgewählter Dateien ++ Ausgewählte Dateien en&tpacken + + + +@@ -199,7 +207,7 @@ + + + Re-create folders +- Ordner übertragen ++ Ordner neu erstellen + + + +@@ -213,323 +221,348 @@ + + + ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Alle Dateien (*) ++ ++ ++ + MainWindow + + +- ++ + File Archiver + Dateiarchivierung + + +- ++ ++ Filter Files... ++ Dateien filtern… ++ ++ ++ + &File + &Datei + + +- ++ + &Edit + &Bearbeiten + + +- ++ + &View + &Ansicht + + +- ++ + &Help + &Hilfe + + +- +- toolBar ++ ++ Main Toolbar + Werkzeugleiste + + +- ++ + &About + &Über + + +- ++ + &New + &Neu + + +- ++ + Ctrl+N + Strg+N + + +- ++ + &Open + &Öffnen + + +- ++ + Ctrl+O + Strg+O + + +- ++ + Save &As + Speichern &unter + + +- ++ + &Extract +- Ent&packen ++ &Entpacken + + +- ++ + &Test + + + +- ++ + &Properties + &Eigenschaften + + +- ++ + Alt+Return + Alt+Enter + + +- ++ + &Close + &Schließen + + +- ++ + Ctrl+Q + Strg+Q + + +- ++ + Cu&t + &Ausschneiden + + +- ++ + Ctrl+X + Strg+X + + +- ++ + &Copy + &Kopieren + + +- ++ + Ctrl+C + Strg+C + + +- ++ + &Paste + &Einfügen + + +- ++ + Ctrl+V + Strg+V + + +- ++ + &Rename + &Umbenennen + + +- ++ + F2 + + + +- ++ + &Delete + &Löschen + + +- ++ + Del + Entf + + +- ++ + &Select All +- Alles a&uswählen ++ Alle&s auswählen + + +- ++ + Ctrl+A + Strg+A + + +- ++ + &Find + &Finden + + +- ++ ++ + Ctrl+F + Strg+F + + +- ++ + &Add Files + &Dateien hinzufügen + + +- ++ + Add F&older + &Ordner hinzufügen + + +- ++ + Pass&word + Kenn&wort + + +- ++ + &Toolbar + &Werkzeugleiste + + +- ++ + &Statusbar + &Statusleiste + + +- ++ + &Directory Tree + &Verzeichnisbaum + + +- ++ + S&how as Folder + A&ls Ordner anzeigen + + +- ++ + Show &All Files + &Alle Dateien anzeigen + + +- ++ + St&op +- ++ An&halten + + +- ++ + Esc + + + +- ++ + &Reload + Neu &laden + + +- ++ + F5 + + + +- ++ + Filename &Encoding +- Dateinamen &verschlüsseln ++ Dat&einamenkodierung ++ ++ ++ ++ &View Selected Items ++ &Ausgewählte Elemente anzeigen + + +- +- +- ++ ++ &Filter ++ &Filter ++ ++ ++ ++ ++ + All files (*) + Alle Dateien (*) + + +- +- ++ ++ + Add only if &newer +- Nur hinzufügen falls a&ktueller ++ Nur hinzufügen, wenn &neuer + + +- ++ + Confirm + Bestätigen + + +- ++ + Are you sure you want to delete selected files? +- Ausgewählte Dateien wirklich löschen? ++ Sind Sie sicher, dass Sie ausgewählte Dateien löschen möchten? + + +- ++ + Version: %1 + + + +- ++ + %p % + + + +- ++ + Success +- Erfolgreich ++ Erfolg + + +- +- No errors are found. +- Keine Fehler gefunden. ++ ++ No errors have been found. ++ Es wurden keine Fehler gefunden. + + +- ++ ++ + Error + Fehler + + +- ++ + N/A +- ++ N/V + + +- ++ + Uncompressed Size: + Unkomprimierte Größe: + + +- ++ + Compression Ratio: + Komprimierungsverhältnis: + + +- ++ + File name + Dateiname + + +- ++ + File Type + Dateityp + + +- ++ + File Size + Dateigröße + + +- ++ + Modified + Geändert + + +- ++ + Encrypted + Verschlüsselt + + +- ++ + %1 files + %1 Dateien + +@@ -550,18 +583,18 @@ + + + Show password +- Kennwort anzeigen ++ Passwort anzeigen + + + + + Password: +- Kennwort: ++ Passwort: + + + + <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> +- <i><b>Hinweis:</b> zum aktuellen Archiv hinzugefügte Dateien werden durch das Kennwort verschlüsselt und beim Extrahieren durch dieses entschlüsselt. Beim Schließen des Archivs wird das Kennwort gelöscht.</i> ++ <i><b>Hinweis:</b> Das Passwort wird verwendet, um Dateien zu verschlüsseln, die Sie dem aktuellen Archiv hinzufügen, und um Dateien zu entschlüsseln, die Sie aus dem aktuellen Archiv entpacken. Wenn das Archiv geschlossen wird, wird das Passwort gelöscht.</i> + + + +@@ -580,12 +613,8 @@ + + QObject + +- All files (*) +- Alle Dateien (*) +- +- +- +- ++ ++ + Error + Fehler + +@@ -637,12 +666,12 @@ + + + Rar Archived Comic Book (.cbr) +- ++ Rar archiviertes Comicbuch (.cbr) + + + + Zip Archived Comic Book (.cbz) +- ++ Zip archiviertes Comicbuch (.cbz) + + + +@@ -657,7 +686,7 @@ + + + Self-extracting zip (.exe) +- Selbstextrahierendes Zip (.exe) ++ Selbstentpackende Zip (.exe) + + + +@@ -743,7 +772,7 @@ + + + +- ++ + Adding file: + Füge Datei hinzu: + +@@ -751,7 +780,7 @@ + + + +- ++ + Extracting file: + Entpacke Datei: + +@@ -799,17 +828,17 @@ + + + You don't have the right permissions. +- Unzureichende Zugriffsrechte. ++ Sie haben nicht die richtigen Berechtigungen. + + + + This archive type cannot be modified +- Dieser Archivtyp ist nicht modifizierbar ++ Dieser Archivtyp kann nicht geändert werden + + + + You can't add an archive to itself. +- Archive sind nicht zu sich selbst hinzufügbar. ++ Sie können ein Archiv nicht zu sich selbst hinzufügen. + + + +@@ -817,20 +846,4 @@ + Konnte Datenträger nicht finden: %s + + +- +- CreateFileDialog +- +- +- All files (*) +- Alle Dateien (*) +- +- +- +- ExtractFileDialog +- +- +- All files (*) +- Alle Dateien (*) +- +- + +diff -Nuar a/src/translations/lxqt-archiver_el.ts b/src/translations/lxqt-archiver_el.ts +--- a/src/translations/lxqt-archiver_el.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_el.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,849 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Σχετικά ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Αρχειοθέτης LXQt</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Ένας απλός και αγνώστου γραφικού περιβάλλοντος αρχειοθέτης σε Qt ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ Συγγραφείς ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Προγραμματισμός: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++Ο Αρχειοθέτης LXQt προέρχεται από τα παρακάτω προγράμματα: ++* Engrampa του γραφικού περιβάλλοντος MATE ++* File Roller του γραφικού περιβάλλοντος Gnome ++ ++ ++ ++ ++ License ++ Άδεια χρήσης ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ Αρχειοθέτης LXQt ++ ++Πνευματικά δικαιώματα (C) - 2018 η ομάδα LXQt ++ ++Αυτό το πρόγραμμα είναι ένα ελεύθερο λογισμικό· επιτρέπεται ++η αναδιανομή ή/και η τροποποίησή του υπό τους όρους της άδειας ++GNU Γενική Άδεια Χρήσης όπως έχουν δημοσιευθεί από το ++«Free Software Foundation», είτε την έκδοση 2 αυτής της άδειας ++ή (σύμφωνα με την επιλογή σας) οποιαδήποτε μεταγενέστερη έκδοση. ++ ++Αυτό το πρόγραμμα διανέμεται με την ελπίδα πως θα είναι χρήσιμο, ++αλλά ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ, χωρίς ακόμη και την υπονοούμενη εγγύηση ++ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. ++Δείτε την GNU Γενική Άδεια Χρήσης για περισσότερες λεπτομέρειες. ++ ++Θα πρέπει να έχετε παραλάβει ένα αντίγραφο της GNU Γενικής Άδειας Χρήσης ++μαζί με αυτό το πρόγραμμα. Αν όχι, γράψτε στο Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Ο τύπος αρχειοθήκης δεν υποστηρίζεται. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 αρχεία (*%1) ++ ++ ++ ++ All supported formats ++ Όλες οι υποστηριζόμενες μορφές ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Αποτυχία εκτέλεσης της εντολής. ++ ++ ++ ++ Command is not found. ++ Δεν βρέθηκε η εντολή. ++ ++ ++ ++ The command exited abnormally. ++ Η εντολή τερματίστηκε κανονικά. ++ ++ ++ ++ Password is required. ++ Απαιτείται κωδικός πρόσβασης. ++ ++ ++ ++ Missing volume. ++ Ελλείπων τόμος. ++ ++ ++ ++ Bad charset. ++ Ακατάλληλο σύνολο χαρακτήρων. ++ ++ ++ ++ Unsupported file format. ++ Μη υποστηριζόμενη μορφή αρχείου. ++ ++ ++ ++ Unknown errors happened. ++ Παρουσιάστηκαν άγνωστα σφάλματα. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ Διαχωρισμός σε τόμους των ++ ++ ++ ++ Password: ++ Κωδικός πρόσβασης: ++ ++ ++ ++ Encrypt the file list too ++ Κρυπτογράφηση και του κατάστιχου αρχείων ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Όλα τα αρχεία (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Εξαγωγή ++ ++ ++ ++ E&xtract all files ++ Ε&ξαγωγή όλων των αρχείων ++ ++ ++ ++ Ex&tract selected files ++ Εξ&αγωγή των επιλεγμένων αρχείων ++ ++ ++ ++ Actions ++ Ενέργειες ++ ++ ++ ++ Re-create folders ++ Αναδημιουργία των φακέλων ++ ++ ++ ++ Overwrite existing files ++ Αντικατάσταση των υπαρχόντων αρχείων ++ ++ ++ ++ Do not extract older files ++ Να μην εξαχθούν τα παλαιότερα αρχεία ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Όλα τα αρχεία (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Αρχειοθέτης ++ ++ ++ ++ Filter Files... ++ Φιλτράρισμα αρχείων... ++ ++ ++ ++ &File ++ &Αρχείο ++ ++ ++ ++ &Edit ++ &Επεξεργασία ++ ++ ++ ++ &View ++ &Προβολή ++ ++ ++ ++ &Help ++ &Βοήθεια ++ ++ ++ ++ Main Toolbar ++ Κύρια εργαλειοθήκη ++ ++ ++ ++ &About ++ &Σχετικά ++ ++ ++ ++ &New ++ &Νέο ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ Ά&νοιγμα ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ Αποθήκευση &ως ++ ++ ++ ++ &Extract ++ &Εξαγωγή ++ ++ ++ ++ &Test ++ &Δοκιμή ++ ++ ++ ++ &Properties ++ &Ιδιότητες ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ &Κλείσιμο ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ Α&ποκοπή ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ &Αντιγραφή ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ Επι&κόλληση ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &Μετονομασία ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ &Διαγραφή ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ &Επιλογή όλων ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ &Αναζήτηση ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ &Προσθήκη αρχείων ++ ++ ++ ++ Add F&older ++ Προσθήκη &φακέλου ++ ++ ++ ++ Pass&word ++ Κωδικός &πρόσβασης ++ ++ ++ ++ &Toolbar ++ &Γραμμή εργαλείων ++ ++ ++ ++ &Statusbar ++ &Γραμμή κατάστασης ++ ++ ++ ++ &Directory Tree ++ &Δέντρο καταλόγων ++ ++ ++ ++ S&how as Folder ++ Προβολή ως &φάκελος ++ ++ ++ ++ Show &All Files ++ Εμφάνιση ό&λων των αρχείων ++ ++ ++ ++ St&op ++ &Διακοπή ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &Επαναφόρτωση ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ &Κωδικοποίηση του ονόματος αρχείου ++ ++ ++ ++ &View Selected Items ++ &Προβολή των επιλεγμένων αντικειμένων ++ ++ ++ ++ &Filter ++ &Φίλτρο ++ ++ ++ ++ ++ ++ All files (*) ++ Όλα τα αρχεία (*) ++ ++ ++ ++ ++ Add only if &newer ++ Προσθήκη μόνο αν είναι &νεώτερο ++ ++ ++ ++ Confirm ++ Επιβεβαίωση ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Είστε σίγουρος-η ότι θέλετε να διαγράψετε τα επιλεγμένα αρχεία; ++ ++ ++ ++ Version: %1 ++ Έκδοση: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Επιτυχία ++ ++ ++ ++ No errors have been found. ++ Δεν βρέθηκαν σφάλματα. ++ ++ ++ ++ ++ Error ++ Σφάλμα ++ ++ ++ ++ N/A ++ Μ/Δ ++ ++ ++ ++ Uncompressed Size: ++ Αποσυμπιεσμένο μέγεθος: ++ ++ ++ ++ Compression Ratio: ++ Λόγος συμπίεσης: ++ ++ ++ ++ File name ++ Όνομα αρχείου ++ ++ ++ ++ File Type ++ Τύπος αρχείου ++ ++ ++ ++ File Size ++ Μέγεθος αρχείου ++ ++ ++ ++ Modified ++ Τροποποιήθηκε ++ ++ ++ ++ Encrypted ++ Κρυπτογραφημένο ++ ++ ++ ++ %1 files ++ %1 αρχεία ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Κωδικός πρόσβασης ++ ++ ++ ++ Encrypt the file list ++ Κρυπτογράφηση του κατάστιχου αρχείων ++ ++ ++ ++ Show password ++ Εμφάνιση κωδικού πρόσβασης ++ ++ ++ ++ ++ Password: ++ Κωδικός πρόσβασης: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Σημείωση:</b> ο κωδικός πρόσβασης θα χρησιμοποιηθεί για την κρυπτογράφηση των αρχείων που προσθέτετε στην τρέχουσα αρχειοθήκη, και για την αποκρυπτογράφηση των αρχείων που εξάγετε από την τρέχουσα αρχειοθήκη. Κατά το κλείσιμο της αρχειοθήκης ο κωδικός πρόσβασης διαγράφεται.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Πρόοδος ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Σφάλμα ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar συμπιεσμένο με 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar συμπιεσμένο με bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar συμπιεσμένο με bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Rar αρχειοθήκη βιβλίου κόμικ (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Zip αρχειοθήκη βιβλίου κόμικ (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar συμπιεσμένο με gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Αυτοαποσυμπιεζόμενο zip (.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar συμπιεσμένο με lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar συμπιεσμένο με lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar συμπιεσμένο με lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar συμπιεσμένο με lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Μορφή Windows Imaging (.wim) ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Μη συμπιεσμένη αρχειοθήκη (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar συμπιεσμένο με compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar συμπιεσμένο με xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Προσθήκη του αρχείου: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Εξαγωγή του αρχείου: ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ Αφαίρεση του αρχείου: ++ ++ ++ ++ Deleting files from archive ++ Διαγραφή των αρχείων από την αρχειοθήκη ++ ++ ++ ++ Recompressing archive ++ Επανασυμπίεση της αρχειοθήκης ++ ++ ++ ++ Decompressing archive ++ Αποσυμπίεση της αρχειοθήκης ++ ++ ++ ++ File not found. ++ Το αρχείο δε βρέθηκε. ++ ++ ++ ++ Archive type not supported. ++ Ο τύπος της αρχειοθήκης δεν υποστηρίζεται. ++ ++ ++ ++ Archive not found ++ Η αρχειοθήκη δεν βρέθηκε ++ ++ ++ ++ You don't have the right permissions. ++ Δεν έχετε τις κατάλληλες άδειες. ++ ++ ++ ++ This archive type cannot be modified ++ Ο τύπος της αρχειοθήκης δεν μπορεί να τροποποιηθεί ++ ++ ++ ++ You can't add an archive to itself. ++ Δεν μπορείτε να προσθέσετε μια αρχειοθήκη στον εαυτό της. ++ ++ ++ ++ Could not find the volume: %s ++ Αδύνατη η εύρεση του τόμου: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_en_GB.ts b/src/translations/lxqt-archiver_en_GB.ts +--- a/src/translations/lxqt-archiver_en_GB.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_en_GB.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,825 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ ++ ++ ++ ++ License ++ Licence ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ *%1 files (*%1) ++ ++ ++ ++ ++ All supported formats ++ ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ ++ ++ ++ ++ Command is not found. ++ ++ ++ ++ ++ The command exited abnormally. ++ ++ ++ ++ ++ Password is required. ++ ++ ++ ++ ++ Missing volume. ++ ++ ++ ++ ++ Bad charset. ++ ++ ++ ++ ++ Unsupported file format. ++ ++ ++ ++ ++ Unknown errors happened. ++ ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ ++ ++ ++ ++ Password: ++ ++ ++ ++ ++ Encrypt the file list too ++ ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ ++ ++ ++ ++ E&xtract all files ++ ++ ++ ++ ++ Ex&tract selected files ++ ++ ++ ++ ++ Actions ++ ++ ++ ++ ++ Re-create folders ++ ++ ++ ++ ++ Overwrite existing files ++ ++ ++ ++ ++ Do not extract older files ++ ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ &File ++ ++ ++ ++ ++ &Edit ++ ++ ++ ++ ++ &View ++ ++ ++ ++ ++ &Help ++ ++ ++ ++ ++ Main Toolbar ++ ++ ++ ++ ++ &About ++ ++ ++ ++ ++ &New ++ ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ ++ ++ ++ ++ &Extract ++ ++ ++ ++ ++ &Test ++ ++ ++ ++ ++ &Properties ++ ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ ++ ++ ++ ++ Add F&older ++ ++ ++ ++ ++ Pass&word ++ ++ ++ ++ ++ &Toolbar ++ ++ ++ ++ ++ &Statusbar ++ ++ ++ ++ ++ &Directory Tree ++ ++ ++ ++ ++ S&how as Folder ++ ++ ++ ++ ++ Show &All Files ++ ++ ++ ++ ++ St&op ++ ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ++ Add only if &newer ++ ++ ++ ++ ++ Confirm ++ ++ ++ ++ ++ Are you sure you want to delete selected files? ++ ++ ++ ++ ++ Version: %1 ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ ++ ++ ++ ++ No errors have been found. ++ ++ ++ ++ ++ ++ Error ++ ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ ++ ++ ++ ++ Compression Ratio: ++ ++ ++ ++ ++ File name ++ ++ ++ ++ ++ File Type ++ ++ ++ ++ ++ File Size ++ ++ ++ ++ ++ Modified ++ ++ ++ ++ ++ Encrypted ++ ++ ++ ++ ++ %1 files ++ ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ ++ ++ ++ ++ Encrypt the file list ++ ++ ++ ++ ++ Show password ++ ++ ++ ++ ++ ++ Password: ++ ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ ++ ++ ++ ++ Deleting files from archive ++ ++ ++ ++ ++ Recompressing archive ++ Re-compressing archive ++ ++ ++ ++ Decompressing archive ++ ++ ++ ++ ++ File not found. ++ ++ ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ Archive not found ++ ++ ++ ++ ++ You don't have the right permissions. ++ ++ ++ ++ ++ This archive type cannot be modified ++ ++ ++ ++ ++ You can't add an archive to itself. ++ ++ ++ ++ ++ Could not find the volume: %s ++ ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_es.ts b/src/translations/lxqt-archiver_es.ts +--- a/src/translations/lxqt-archiver_es.ts 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/translations/lxqt-archiver_es.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -14,13 +14,9 @@ + + + +- A simple and desktop-agnostic Qt file archiver +- Un archivador hecho con Qt, sencillo e independiente del escritorio +- +- + + A simple and desktop-agnostic Qt file archiver +- Un archivador hecho con Qt, sencillo e independiente del escritorio ++ Un archivador sencillo e independiente del escritorio, hecho con Qt + + + +@@ -44,7 +40,7 @@ + Programación: + * Hong Jen Yee (PCMan) <pcman.tw@gmail.com> + +-LXQt Archiver deriva de los siguientes programas: ++LXQt Archiver está basado en los siguientes programas: + * Engrampa del escritorio MATE + * File Roller del escritorio Gnome + +@@ -73,7 +69,23 @@ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +- ++ LXQt Archiver ++ ++Derechos de autor (C) 2018 el equipo de LXQt ++ ++Este programa es software libre; puede redistribuirlo y/o ++modificarlo bajo los términos de la Licencia Pública General de GNU ++de acuerdo a lo publicado por la Free Software Foundation; en su versión 2 ++de la Lincencia, o (a su parecer) cualquier versión posterior. ++ ++Este programa es distribuído con la esperanza que será de utilidad, ++pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de ++COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Ver la ++Licencia Pública General de GNU para más detalles. ++ ++Usted debió haber recibido una copia de la Licencia Pública General de GNU ++junto con este programa; si no fué así, escriba a la Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + + +@@ -81,7 +93,7 @@ + + + Archive type not supported. +- Tipo de archivo comprimido no admitido. ++ Tipo de archivo no admitido. + + + +@@ -98,7 +110,7 @@ + ArchiverError + + +- Fail to execute the command. ++ Failed to execute the command. + Error al ejecutar el comando. + + +@@ -114,12 +126,12 @@ + + + Password is required. +- Se necesita la contraseña. ++ Se necesita contraseña. + + + + Missing volume. +- Falta un volumen. ++ Volumen faltante. + + + +@@ -129,7 +141,7 @@ + + + Unsupported file format. +- Formato de archivo no admitido. ++ Formato de archivo no soportado. + + + +@@ -142,7 +154,7 @@ + + + MiB +- ++ MiB + + + +@@ -161,6 +173,14 @@ + + + ++ CreateFileDialog ++ ++ ++ All files (*) ++ Todos los archivos (*) ++ ++ ++ + ExtractArchiveExtraWidget + + +@@ -185,7 +205,7 @@ + + + Re-create folders +- Recrear las carpetas ++ Volver a crear carpetas + + + +@@ -199,323 +219,348 @@ + + + ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Todos los archivos (*) ++ ++ ++ + MainWindow + + +- ++ + File Archiver + Archivador + + +- ++ ++ Filter Files... ++ Filtrar archivos... ++ ++ ++ + &File +- &Archivo comprimido ++ &Archivo + + +- ++ + &Edit + &Editar + + +- ++ + &View + &Ver + + +- ++ + &Help +- A&yuda ++ Ay&uda + + +- +- toolBar +- Barra de herramientas ++ ++ Main Toolbar ++ Barra de herramientas principal + + +- ++ + &About + &Acerca de + + +- ++ + &New + &Nuevo + + +- ++ + Ctrl+N +- ++ Ctrl+N + + +- ++ + &Open + &Abrir + + +- ++ + Ctrl+O +- ++ Ctrl+O + + +- ++ + Save &As +- &Guardar como ++ G&uardar como… + + +- ++ + &Extract + &Extraer + + +- ++ + &Test + C&omprobar + + +- ++ + &Properties + &Propiedades + + +- ++ + Alt+Return +- Alt+Entrar ++ Alt+Enter + + +- ++ + &Close + &Cerrar + + +- ++ + Ctrl+Q +- ++ Ctrl+Q + + +- ++ + Cu&t + Cor&tar + + +- ++ + Ctrl+X +- ++ Ctrl+X + + +- ++ + &Copy + &Copiar + + +- ++ + Ctrl+C +- ++ Ctrl+C + + +- ++ + &Paste + &Pegar + + +- ++ + Ctrl+V +- ++ Ctrl+V + + +- ++ + &Rename + &Renombrar + + +- ++ + F2 +- ++ F2 + + +- ++ + &Delete +- &Borrar ++ &Eliminar + + +- ++ + Del + Supr + + +- ++ + &Select All + &Seleccionar todo + + +- ++ + Ctrl+A +- ++ Ctrl+A + + +- ++ + &Find + B&uscar + + +- ++ ++ + Ctrl+F +- ++ Ctrl+F + + +- ++ + &Add Files + &Añadir archivos + + +- ++ + Add F&older + Aña&dir carpeta + + +- ++ + Pass&word + C&ontraseña + + +- ++ + &Toolbar + Barra de &herramientas + + +- ++ + &Statusbar + Barra de &estado + + +- ++ + &Directory Tree + Árbol de &directorios + + +- ++ + S&how as Folder + Mostrar como &carpeta + + +- ++ + Show &All Files + Mostrar &todos los archivos + + +- ++ + St&op + &Parar + + +- ++ + Esc +- ++ + + +- ++ + &Reload +- &Recargar ++ &Actualizar + + +- ++ + F5 +- ++ F5 + + +- ++ + Filename &Encoding + &Codificación del nombre de archivo + + +- +- +- ++ ++ &View Selected Items ++ &Ver los elementos seleccionados ++ ++ ++ ++ &Filter ++ &Filtrar ++ ++ ++ ++ ++ + All files (*) + Todos los archivos (*) + + +- +- ++ ++ + Add only if &newer + Añadir solo si son más &nuevos + + +- ++ + Confirm + Confirmar + + +- ++ + Are you sure you want to delete selected files? + ¿Seguro que quiere borrar los archivos seleccionados? + + +- ++ + Version: %1 + Versión: %1 + + +- ++ + %p % +- ++ %p % + + +- ++ + Success + Éxito + + +- +- No errors are found. ++ ++ No errors have been found. + No se han encontrado errores. + + +- ++ ++ + Error + Error + + +- ++ + N/A + No disponible + + +- ++ + Uncompressed Size: + Tamaño descomprimido: + + +- ++ + Compression Ratio: + Ratio de compresión: + + +- ++ + File name + Nombre del archivo + + +- ++ + File Type + Tipo de archivo + + +- ++ + File Size + Tamaño del archivo + + +- ++ + Modified + Modificado + + +- ++ + Encrypted + Cifrado + + +- ++ + %1 files + %1 archivos + +@@ -560,25 +605,21 @@ + + + %p % +- ++ %p % + + + + QObject + +- All files (*) +- Todos los archivos (*) +- +- +- +- ++ ++ + Error + Error + + + + 7-Zip (.7z) +- ++ 7-Zip (.7z) + + + +@@ -588,22 +629,22 @@ + + + Ace (.ace) +- ++ + + + + Ar (.a) +- ++ Ar (.a) + + + + Ar (.ar) +- ++ Ar (.ar) + + + + Arj (.arj) +- ++ + + + +@@ -618,7 +659,7 @@ + + + Cabinet (.cab) +- ++ + + + +@@ -638,7 +679,7 @@ + + + Ear (.ear) +- ++ + + + +@@ -648,17 +689,17 @@ + + + Jar (.jar) +- ++ + + + + Lha (.lzh) +- ++ + + + + Lrzip (.lrz) +- ++ + + + +@@ -688,7 +729,7 @@ + + + Rar (.rar) +- ++ + + + +@@ -703,12 +744,12 @@ + + + War (.war) +- ++ War (.war) + + + + Xz (.xz) +- ++ Xz (.xz) + + + +@@ -718,18 +759,18 @@ + + + Zoo (.zoo) +- ++ Zoo (.zoo) + + + + Zip (.zip) +- ++ Zip (.zip) + + + + + +- ++ + Adding file: + Añadiendo el archivo: + +@@ -737,14 +778,14 @@ + + + +- ++ + Extracting file: + Extrayendo el archivo: + + + + %d %B %Y, %H:%M +- ++ %d %B %Y, %H:%M + + + +@@ -803,20 +844,4 @@ + No se encuentra el volumen: %s + + +- +- CreateFileDialog +- +- +- All files (*) +- Todos los archivos (*) +- +- +- +- ExtractFileDialog +- +- +- All files (*) +- Todos los archivos (*) +- +- + +diff -Nuar a/src/translations/lxqt-archiver_gl.desktop b/src/translations/lxqt-archiver_gl.desktop +--- a/src/translations/lxqt-archiver_gl.desktop 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_gl.desktop 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,3 @@ ++Name[gl]=Arquivador de ficheiros ++GenericName[gl]=Arquivador de ficheiros para o LXQt ++Comment[gl]=Arquivador de ficheiros en Qt +diff -Nuar a/src/translations/lxqt-archiver_gl.ts b/src/translations/lxqt-archiver_gl.ts +--- a/src/translations/lxqt-archiver_gl.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_gl.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Sobre ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Arquivador do LXQt</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Un arquivador de ficheiros Qt sinxelo e independente do escritorio ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ Autores ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programación: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver deriva dos seguintes programas: ++* Engrampa do escritorio MATE ++* File Roller do escritorio Gnome ++ ++ ++ ++ ++ License ++ Licenza ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiver ++ ++Dereitos de autoría (C) 2018 o equipo de LXQt ++ ++Este programa é software libre; pode redistribuílo e/ou modificalo ++baixo os termos da Licenza Pública Xeral de GNU conforme co ++publicado pola Free Software Foundation; na súa versión 2 da ++Licenza, ou (segundo o seu criterio) calquera versión posterior. ++ ++Este programa é distribuído coa esperanza de que será de utilidade, ++mais SEN NINGUNHA GARANTÍA; sen sequera a garantía implícita de ++COMERCIALIZACIÓN ou IDONEIDADE PARA UN PROPÓSITO PARTICULAR. ++Vexa a Licenza Pública Xeral de GNU para obter máis detalles. ++ ++Vostede debe ter recibido unha copia da Licenza Pública Xeral de GNU ++xunto con este programa; de non ter sido así, escriba á Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Tipo de arquivo non admitido. ++ ++ ++ ++ *%1 files (*%1) ++ Ficheiros *%1 (*%1) ++ ++ ++ ++ All supported formats ++ Todos os formatos admitidos ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Produciuse un fallo ao executar a orde. ++ ++ ++ ++ Command is not found. ++ No se atopa a orde. ++ ++ ++ ++ The command exited abnormally. ++ A orde rematou dun xeito non normal. ++ ++ ++ ++ Password is required. ++ Requírese o contrasinal. ++ ++ ++ ++ Missing volume. ++ Non existe o volume. ++ ++ ++ ++ Bad charset. ++ Codificación de caracteres incorrecta. ++ ++ ++ ++ Unsupported file format. ++ Formato de ficheiro non admitido. ++ ++ ++ ++ Unknown errors happened. ++ Producíronse erros descoñecidos. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ Dividir en volumes de ++ ++ ++ ++ Password: ++ Contrasinal: ++ ++ ++ ++ Encrypt the file list too ++ Cifrar tamén a lista de ficheiros ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Todos os ficheiros (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Extraer ++ ++ ++ ++ E&xtract all files ++ E&xtraer todos os ficheiros ++ ++ ++ ++ Ex&tract selected files ++ Ex&traer os ficheiros seleccionados ++ ++ ++ ++ Actions ++ Accións ++ ++ ++ ++ Re-create folders ++ Volver crear os cartafoles ++ ++ ++ ++ Overwrite existing files ++ Sobrescribir os ficheiros existentes ++ ++ ++ ++ Do not extract older files ++ Non extraer os ficheiros máis antigos ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Todos os ficheiros (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Arquivador de ficheiros ++ ++ ++ ++ Filter Files... ++ Filtrar ficheiros... ++ ++ ++ ++ &File ++ &Ficheiro ++ ++ ++ ++ &Edit ++ &Editar ++ ++ ++ ++ &View ++ &Ver ++ ++ ++ ++ &Help ++ &Axuda ++ ++ ++ ++ Main Toolbar ++ Barra de ferramentas principal ++ ++ ++ ++ &About ++ &Sobre ++ ++ ++ ++ &New ++ &Novo ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ &Abrir ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ Gardar &como ++ ++ ++ ++ &Extract ++ &Extraer ++ ++ ++ ++ &Test ++ &Proba ++ ++ ++ ++ &Properties ++ &Propiedades ++ ++ ++ ++ Alt+Return ++ Alt+Intro ++ ++ ++ ++ &Close ++ &Pechar ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ Cor&tar ++ ++ ++ ++ Ctrl+X ++ Ctrl-X ++ ++ ++ ++ &Copy ++ &Copiar ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ &Pegar ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &Renomear ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ &Eliminar ++ ++ ++ ++ Del ++ Supr ++ ++ ++ ++ &Select All ++ &Seleccionar todo ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ A&topar ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ &Engadir ficheiros ++ ++ ++ ++ Add F&older ++ En&gadir cartafol ++ ++ ++ ++ Pass&word ++ Contra&sinal ++ ++ ++ ++ &Toolbar ++ Barra de &ferramentas ++ ++ ++ ++ &Statusbar ++ Barra de e&stado ++ ++ ++ ++ &Directory Tree ++ Árbore de &directorios ++ ++ ++ ++ S&how as Folder ++ Amosar como &cartafol ++ ++ ++ ++ Show &All Files ++ Amosar &todos os ficheiros ++ ++ ++ ++ St&op ++ &Parar ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &Recargar ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ &Codificación do nome de ficheiro ++ ++ ++ ++ &View Selected Items ++ &Ver os elementos seleccionados ++ ++ ++ ++ &Filter ++ &Filtro ++ ++ ++ ++ ++ ++ All files (*) ++ Todos os ficheiros (*) ++ ++ ++ ++ ++ Add only if &newer ++ Engadir só se son &máis recentes ++ ++ ++ ++ Confirm ++ Confirmar ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Confirma que quere eliminar os ficheiros seleccionados? ++ ++ ++ ++ Version: %1 ++ Versión: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Correcto ++ ++ ++ ++ No errors have been found. ++ Non se atoparon erros. ++ ++ ++ ++ ++ Error ++ Erro ++ ++ ++ ++ N/A ++ N/D ++ ++ ++ ++ Uncompressed Size: ++ Tamaño sen comprimir: ++ ++ ++ ++ Compression Ratio: ++ Relación de compresión: ++ ++ ++ ++ File name ++ Nome de ficheiro ++ ++ ++ ++ File Type ++ Tipo de ficheiro ++ ++ ++ ++ File Size ++ Tamaño do ficheiro ++ ++ ++ ++ Modified ++ Modificado ++ ++ ++ ++ Encrypted ++ Cifrado ++ ++ ++ ++ %1 files ++ %1 ficheiros ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Contrasinal ++ ++ ++ ++ Encrypt the file list ++ Cifrar a lista de ficheiros ++ ++ ++ ++ Show password ++ Amosar o contrasinal ++ ++ ++ ++ ++ Password: ++ Contrasinal: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Nota:</b> o contrasinal empregase para cifrar os ficheiros que engada ao arquivo actual e para descifrar os ficheiros que extraia del. Cando se pecha o arquivo eliminase o contrasinal.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ En progreso ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Erro ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar comprimido con 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar comprimido con bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar comprimido con bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Libro de banda deseñada arquivado con rar (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Libro de banda deseñada arquivado con zip (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar comprimido con gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Zip de extracción automática (.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar comprimido con lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar comprimido con lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar comprimido con lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar comprimido con lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Formato de imaxe de Windows (.wim) ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar sen comprimir (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar comprimido con compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar comprimido con xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Engadindo o ficheiro: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Extraendo o ficheiro: ++ ++ ++ ++ %d %B %Y, %H:%M ++ %d de %B de %Y, %H:%M ++ ++ ++ ++ ++ Removing file: ++ Retirando o ficheiro: ++ ++ ++ ++ Deleting files from archive ++ Eliminando ficheiros do arquivo ++ ++ ++ ++ Recompressing archive ++ Comprimindo de novo o arquivo ++ ++ ++ ++ Decompressing archive ++ Descomprimindo o arquivo ++ ++ ++ ++ File not found. ++ Non se atopa o ficheiro. ++ ++ ++ ++ Archive type not supported. ++ Tipo de arquivo non admitido. ++ ++ ++ ++ Archive not found ++ Non se atopou o arquivo ++ ++ ++ ++ You don't have the right permissions. ++ Vostede non ten os permisos necesarios. ++ ++ ++ ++ This archive type cannot be modified ++ Este tipo de arquivo non pode ser modificado ++ ++ ++ ++ You can't add an archive to itself. ++ Non é posíbel engadir un arquivo sobre si mesmo. ++ ++ ++ ++ Could not find the volume: %s ++ Non foi posíbel atopar o volume: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_he.ts b/src/translations/lxqt-archiver_he.ts +--- a/src/translations/lxqt-archiver_he.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_he.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,846 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ על אודות ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">מנהל הארכיונים שלLXQt</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ מנהל ארכיונים פשוט ובלתי תלוי בסביבת שולחן עבודה שנכתב ב־Qt ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ יוצרים ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ פיתוח: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com>‎ ++ ++מנהל הארכיונים של LXQt נגזר מהיישומים הבאים: ++* Engrampa משולחן העבודה MATE ++* File Roller משולחן העבודה Gnome ++ ++ ++ ++ ++ License ++ רישיון ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ מנהל הארכיונים של LXQt ++ ++כל הזכויות שמורות (C) 2018 לצוות LXQt ++ ++תכנית זו מוגשת במסגרת תכנה חופשית, ניתן להפיץ ו/או לשנות ++תחת תנאי הרישיון הציבורי הכללי של GNU כפי שמופץ על ידי ++קרן התכנה החופשית; בין אם גרסה 2 או כל גרסה עדכנית יותר ++של הרישיון (לשיקולך). ++ ++תכנית זו מופצת בתקווה שתביא תועלת, אך ללא כל אחריות, אפילו לא ++מרומזת לשימוש מסחרי או התאמה לצרכים מסוימים. נא לעיין ++ברישיון הציבורי הכללי של GNU לפרטים נוספים. ++ ++לתכנית זו אמור היה להיות מצורף הרישיון הציבורי הכללי של GNU, ++אם לא, מוטב לשלוח מכתב אל Free Software Foundation, Inc.‎, ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ סוג הארכיון אינו נתמך. ++ ++ ++ ++ *%1 files (*%1) ++ *קובצי %1 ‏(*%1) ++ ++ ++ ++ All supported formats ++ כל הסוגים הנתמכים ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ ++ ++ ++ ++ Command is not found. ++ הפקודה לא נמצאה. ++ ++ ++ ++ The command exited abnormally. ++ הפקודה הסתיימה באופן חריג. ++ ++ ++ ++ Password is required. ++ נדרשת ססמה. ++ ++ ++ ++ Missing volume. ++ כרך חסר. ++ ++ ++ ++ Bad charset. ++ ערכת תווים שגויה. ++ ++ ++ ++ Unsupported file format. ++ סוג הקובץ לא נתמך. ++ ++ ++ ++ Unknown errors happened. ++ אירעו שגיאות בלתי ידועות. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ פיצול לכרכים בגודל ++ ++ ++ ++ Password: ++ ססמה: ++ ++ ++ ++ Encrypt the file list too ++ הצפנת רשימת הקבצים בנוסף ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ כל הקבצים (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ חילוץ ++ ++ ++ ++ E&xtract all files ++ חילוץ &כל הקבצים ++ ++ ++ ++ Ex&tract selected files ++ חילוץ הקבצים ה&נבחרים ++ ++ ++ ++ Actions ++ פעולות ++ ++ ++ ++ Re-create folders ++ יצירת תיקיות מחדש ++ ++ ++ ++ Overwrite existing files ++ שכתוב קבצים קיימים ++ ++ ++ ++ Do not extract older files ++ לא לחלץ קבצים ישנים יותר ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ כל הקבצים (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ מנהל ארכיונים ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ &File ++ &קובץ ++ ++ ++ ++ &Edit ++ ע&ריכה ++ ++ ++ ++ &View ++ ת&צוגה ++ ++ ++ ++ &Help ++ ע&זרה ++ ++ ++ ++ Main Toolbar ++ ++ ++ ++ ++ &About ++ על &אודות ++ ++ ++ ++ &New ++ &חדש ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ &פתיחה ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ שמירה &בשם ++ ++ ++ ++ &Extract ++ &חילוץ ++ ++ ++ ++ &Test ++ ב&דיקה ++ ++ ++ ++ &Properties ++ מ&אפיינים ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ &סגירה ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ ג&זירה ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ ה&עתקה ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ ה&דבקה ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &שינוי שם ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ מ&חיקה ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ בחירת ה&כול ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ &חיפוש ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ הוספת &קבצים ++ ++ ++ ++ Add F&older ++ הוס&פת תיקייה ++ ++ ++ ++ Pass&word ++ &ססמה ++ ++ ++ ++ &Toolbar ++ ס&רגל כלים ++ ++ ++ ++ &Statusbar ++ סרגל מ&צב ++ ++ ++ ++ &Directory Tree ++ &עץ תיקיות ++ ++ ++ ++ S&how as Folder ++ הצ&גה כתיקייה ++ ++ ++ ++ Show &All Files ++ הצגת כ&ל הקבצים ++ ++ ++ ++ St&op ++ &עצירה ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &רענון ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ &קידוד שמות קבצים ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ כל הקבצים (*) ++ ++ ++ ++ ++ Add only if &newer ++ להוסיף רק אם &חדש יותר ++ ++ ++ ++ Confirm ++ אישור ++ ++ ++ ++ Are you sure you want to delete selected files? ++ למחוק את הקבצים הנבחרים? ++ ++ ++ ++ Version: %1 ++ גרסה: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ הצלחה ++ ++ ++ ++ No errors have been found. ++ ++ ++ ++ ++ ++ Error ++ שגיאה ++ ++ ++ ++ N/A ++ לא זמין ++ ++ ++ ++ Uncompressed Size: ++ גודל לאחר חילוץ: ++ ++ ++ ++ Compression Ratio: ++ יחס דחיסה: ++ ++ ++ ++ File name ++ שם קובץ ++ ++ ++ ++ File Type ++ סוג קובץ ++ ++ ++ ++ File Size ++ גודל קובץ ++ ++ ++ ++ Modified ++ מועד שינוי ++ ++ ++ ++ Encrypted ++ הצפנה ++ ++ ++ ++ %1 files ++ קובצי %1 ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ ססמה ++ ++ ++ ++ Encrypt the file list ++ הצפנת רשימת הקבצים ++ ++ ++ ++ Show password ++ הצגת ססמה ++ ++ ++ ++ ++ Password: ++ ססמה: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>לתשומת לבך:</b> הססמה תשמש להצפנת הקבצים שמתווספים לארכיון הנוכחי, בנוסף, כדי לפענח קבצים שחילצת מהארכיון הנוכחי. עם סגירת הארכיון הססמה תימחק.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ התקדמות ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ שגיאה ++ ++ ++ ++ 7-Zip (.7z) ++ 7‎-Zip‏ (‎.7z) ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar מכווץ עם 7z‏ (‎.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar מכווץ עם bzip2‏ (‎.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar מכווץ עם bzip ‏(‎.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ספר קומיקס בכיווץ Rar ‏(‎.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ספר קומיקס בכיווץ Zip‏ (‎.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar מכווץ עם gzip‏ (‎.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Zip בפריסה עצמית (‎.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar מכווץ עם lrzip ‏(‎.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar מכווץ עם lzip ‏(‎.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar מכווץ עם lzma ‏(‎.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar מכווץ עם lzop‏ (‎.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar ללא כיווץ (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar מכווץ עם compress‏ (‎.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar מכווץ עם xz‏ (‎.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ מתווסף קובץ: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ קובץ מחולץ: ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ קובץ עובר הסרה: ++ ++ ++ ++ Deleting files from archive ++ נמחקים קבצים מהארכיון ++ ++ ++ ++ Recompressing archive ++ הארכיון נדחס מחדש ++ ++ ++ ++ Decompressing archive ++ הארכיון נפרס ++ ++ ++ ++ File not found. ++ קובץ לא נמצא. ++ ++ ++ ++ Archive type not supported. ++ סוג הארכיון אינו נתמך. ++ ++ ++ ++ Archive not found ++ הארכיון לא נמצא ++ ++ ++ ++ You don't have the right permissions. ++ אין לך את ההרשאות המתאימות. ++ ++ ++ ++ This archive type cannot be modified ++ לא ניתן לשנות את סוג הארכיון הזה ++ ++ ++ ++ You can't add an archive to itself. ++ אין אפשרות להוסיף ארכיון לתוך עצמו. ++ ++ ++ ++ Could not find the volume: %s ++ לא ניתן למצוא את הכרך: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_hu.ts b/src/translations/lxqt-archiver_hu.ts +--- a/src/translations/lxqt-archiver_hu.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_hu.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,846 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Névjegy ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiváló</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Egy egyszerű és asztal-független Qt tömörítő ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ Authors ++ Szerzők ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programozás: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiválót a következő programokból származtatják: ++* Engrampa a MATE-től ++* File Roller a Gnome-tól ++ ++ ++ ++ ++ License ++ Licensz ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiváló ++ ++Copyright (C) 2018 az LXQt Csapat ++ ++Ez egy szabad szoftver, ami a Free Software Foundation által ++megjelentetett GNU General Public Licenc 2-es, vagy későbbi ++verzióiban felsorolt feltételekkel szabadon terjeszthető, módosítható. ++ ++A megjelentetők remélik, hogy a program hasznos, viszont ++SEMMILYEN GARANCIÁT NEM VÁLLALNAK, beleértve áttételesen az ++ÜZLETI célú hasznosítására, továbbá a SPECIÁLIS CÉLRA TÖRTÉNŐ ++HASZNÁLHATÓSÁGÁRA sem. További részletek a GNU General Public Licensz soraiban. ++ ++Ezzel a programmal együtt meg kellett kapnia a GNU General ++Public Licensz másolatát is, ha nem, akkor írjon a Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA címre. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Archívumtípus nem támogatott. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 fájl (*%1) ++ ++ ++ ++ All supported formats ++ Minden támogatott formátum ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ A parancs végrehajtása sikertelen. ++ ++ ++ ++ Command is not found. ++ A parancs nem található. ++ ++ ++ ++ The command exited abnormally. ++ A parancs rendellenesen lépett ki. ++ ++ ++ ++ Password is required. ++ Jelszó szükséges. ++ ++ ++ ++ Missing volume. ++ Hiányzó kötet. ++ ++ ++ ++ Bad charset. ++ Rossz karakterkészlet. ++ ++ ++ ++ Unsupported file format. ++ Nem támogatott fájlformátum. ++ ++ ++ ++ Unknown errors happened. ++ Ismeretlen hibák történtek. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ MiB ++ ++ ++ ++ Split into volumes of ++ Feldarabolás ekkora darabokra: ++ ++ ++ ++ Password: ++ Jelszó: ++ ++ ++ ++ Encrypt the file list too ++ Fájllista titkosítása ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Minden fájl (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Kibontás ++ ++ ++ ++ E&xtract all files ++ Összes fá&jl kibontása ++ ++ ++ ++ Ex&tract selected files ++ Ki&választott fájl kibontása ++ ++ ++ ++ Actions ++ Műveletek ++ ++ ++ ++ Re-create folders ++ Mappák ismételt létrehozása ++ ++ ++ ++ Overwrite existing files ++ Létező fájlok felülírása ++ ++ ++ ++ Do not extract older files ++ Ne bontsa ki a régebbi fájlokat ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Minden fájl (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Archiváló ++ ++ ++ ++ Filter Files... ++ Fájlok szűrése... ++ ++ ++ ++ &File ++ &Fájl ++ ++ ++ ++ &Edit ++ S&zerkesztés ++ ++ ++ ++ &View ++ &Nézet ++ ++ ++ ++ &Help ++ &Súgó ++ ++ ++ ++ Main Toolbar ++ Fő eszköztár ++ ++ ++ ++ &About ++ &Névjegy ++ ++ ++ ++ &New ++ &Új ++ ++ ++ ++ Ctrl+N ++ Ctrl+N ++ ++ ++ ++ &Open ++ &Megnyitás ++ ++ ++ ++ Ctrl+O ++ Ctrl+O ++ ++ ++ ++ Save &As ++ Me&ntés másként ++ ++ ++ ++ &Extract ++ &Kibontás ++ ++ ++ ++ &Test ++ &Vizsgálat ++ ++ ++ ++ &Properties ++ &Tulajdonságok ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ &Bezárás ++ ++ ++ ++ Ctrl+Q ++ Ctrl+Q ++ ++ ++ ++ Cu&t ++ &Kivágás ++ ++ ++ ++ Ctrl+X ++ Ctrl+X ++ ++ ++ ++ &Copy ++ &Másolás ++ ++ ++ ++ Ctrl+C ++ Ctrl+C ++ ++ ++ ++ &Paste ++ &Beillesztés ++ ++ ++ ++ Ctrl+V ++ Ctrl+V ++ ++ ++ ++ &Rename ++ &Átnevezés ++ ++ ++ ++ F2 ++ F2 ++ ++ ++ ++ &Delete ++ &Törlés ++ ++ ++ ++ Del ++ Del ++ ++ ++ ++ &Select All ++ &Összes kijelölése ++ ++ ++ ++ Ctrl+A ++ Ctrl+A ++ ++ ++ ++ &Find ++ &Keresés ++ ++ ++ ++ ++ Ctrl+F ++ Ctrl+F ++ ++ ++ ++ &Add Files ++ &Fájlok hozzáadása ++ ++ ++ ++ Add F&older ++ Mappa &hozzáadása ++ ++ ++ ++ Pass&word ++ &Jelszó ++ ++ ++ ++ &Toolbar ++ &Eszköztár ++ ++ ++ ++ &Statusbar ++ &Állapotsor ++ ++ ++ ++ &Directory Tree ++ &Kö&nyvtárfa ++ ++ ++ ++ S&how as Folder ++ Megjelenítés map&paként ++ ++ ++ ++ Show &All Files ++ Öss&zes fájl megjelenítése ++ ++ ++ ++ St&op ++ Leállítá&s ++ ++ ++ ++ Esc ++ Esc ++ ++ ++ ++ &Reload ++ &Újratöltés ++ ++ ++ ++ F5 ++ F5 ++ ++ ++ ++ Filename &Encoding ++ Fájlnév és kó&dolás ++ ++ ++ ++ &View Selected Items ++ &Kiválasztott elemek megtekintése ++ ++ ++ ++ &Filter ++ &Keresés ++ ++ ++ ++ ++ ++ All files (*) ++ Minden fájl (*) ++ ++ ++ ++ ++ Add only if &newer ++ &Csak akkor adja hozzá, ha újabb ++ ++ ++ ++ Confirm ++ Megerősítés ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Biztosan törli a kiválasztott fájlokat? ++ ++ ++ ++ Version: %1 ++ Verzió: %1 ++ ++ ++ ++ %p % ++ %p % ++ ++ ++ ++ Success ++ Sikeres ++ ++ ++ ++ No errors have been found. ++ Nem található hiba. ++ ++ ++ ++ ++ Error ++ Hiba ++ ++ ++ ++ N/A ++ N/A ++ ++ ++ ++ Uncompressed Size: ++ Tömörítetlen méret: ++ ++ ++ ++ Compression Ratio: ++ Tömörítési arány: ++ ++ ++ ++ File name ++ Fájlnév ++ ++ ++ ++ File Type ++ Fájltípus ++ ++ ++ ++ File Size ++ Fájlméret ++ ++ ++ ++ Modified ++ Módosítva ++ ++ ++ ++ Encrypted ++ Titkosított ++ ++ ++ ++ %1 files ++ %1 fájl ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Jelszó ++ ++ ++ ++ Encrypt the file list ++ Fájllista titkosítása ++ ++ ++ ++ Show password ++ Jelszó megjelenítése ++ ++ ++ ++ ++ Password: ++ Jelszó: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b> Megjegyzés: </b> A jelszót az aktuális archívumhoz hozzáadott fájlok titkosításához és az aktuális archívumból kinyert fájlok visszafejtéséhez használjuk. Az archívum bezárásakor a jelszó törlődik. </i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Folyamat ++ ++ ++ ++ %p % ++ %p % ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Hiba ++ ++ ++ ++ 7-Zip (.7z) ++ 7-Zip (.7z) ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ 7z-vel tömörített tar (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ Ace (.ace) ++ ++ ++ ++ Ar (.a) ++ Ar (.a) ++ ++ ++ ++ Ar (.ar) ++ Ar (.ar) ++ ++ ++ ++ Arj (.arj) ++ Arj (.arj) ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Bzip2-vel tömörített tar (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Bzippel tömörített tar (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ Kabinet (.cab) ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Rarral tömörített képregény (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Zippel tömörített képregény (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Gzippel tömörített tar (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ Ear (.ear) ++ ++ ++ ++ Self-extracting zip (.exe) ++ Önkicsomagoló zip (.exe) ++ ++ ++ ++ Jar (.jar) ++ Jar (.jar) ++ ++ ++ ++ Lha (.lzh) ++ Lha (.lzh) ++ ++ ++ ++ Lrzip (.lrz) ++ Lrzip (.lrz) ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Lrzippel tömörített tar (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Lzippel tömörített tar (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Lzma-val tömörített tar (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Lzoppal tömörített tar (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Windows Imaging Format (.wim) ++ ++ ++ ++ Rar (.rar) ++ Rar (.rar) ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tömörítetlen tar (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Compress-szel tömörített tar (.tar.Z) ++ ++ ++ ++ War (.war) ++ War (.war) ++ ++ ++ ++ Xz (.xz) ++ Xz (.xz) ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Xz-vel tömörített tar (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ Zoo (.zoo) ++ ++ ++ ++ Zip (.zip) ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Fájl hozzáadása: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Fájl kibontása: ++ ++ ++ ++ %d %B %Y, %H:%M ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ Removing file: ++ Fájl törlése: ++ ++ ++ ++ Deleting files from archive ++ Fájlok törlése az archívumból ++ ++ ++ ++ Recompressing archive ++ Archívum újratömörítése ++ ++ ++ ++ Decompressing archive ++ Archívum kitömörítése ++ ++ ++ ++ File not found. ++ Fájl nem található. ++ ++ ++ ++ Archive type not supported. ++ Az archívum típusa nem támogatott. ++ ++ ++ ++ Archive not found ++ Archívum nem található ++ ++ ++ ++ You don't have the right permissions. ++ Nincs megfelelő engedélye. ++ ++ ++ ++ This archive type cannot be modified ++ Ezt az archívumtípust nem lehet módosítani ++ ++ ++ ++ You can't add an archive to itself. ++ Nem adhatja hozzá az archívumhoz önmagát. ++ ++ ++ ++ Could not find the volume: %s ++ Nem található a kötet: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_id.ts b/src/translations/lxqt-archiver_id.ts +--- a/src/translations/lxqt-archiver_id.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_id.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Tentang ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Pengarsip file Qt yang sederhana dan desktop-agnostik ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ Authors ++ Pembuat ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Pemograman: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver dibuat bedasarkan dari program berikut ini: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ ++ ++ ++ License ++ Lisensi ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiver ++ ++Hakcipta (C) 2018 the LXQt Team ++ ++Ini program free software; anda boleh meredistribusikannya dan/atau ++memodifikasi dibawah aturan GNU General Public License ++sebagaimana diterbitkan oleh Free Software Foundation; baik versi 2 ++dari lisensi ini, atau (sesuai kehendak anda) pada versi selanjutnya. ++ ++Program ini didistribusikan dengan penuh harapan agar bermanfaat, ++namun TANPA JAMINAN; termasuk jaminan pada implikasi ++DAPAT DIPERDAGANGKAN atau KESESUAIAN UNTUK KEPERLUAN TERTENTU. Lihat ++GNU General Public License untuk lebih detil. ++ ++Anda pasti sudah menerima tembusan daripada GNU General Public License ++bersama program ini; jika tidak, tulislah kepada the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Jenis Arsip tidak didukung. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 berkas (*%1) ++ ++ ++ ++ All supported formats ++ Seluruh Format yang didukung ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Gagal mengeksekusi perintah. ++ ++ ++ ++ Command is not found. ++ Perintah tidak ditemukan. ++ ++ ++ ++ The command exited abnormally. ++ Perintah keluar secara abnormal. ++ ++ ++ ++ Password is required. ++ Password dibutuhkan. ++ ++ ++ ++ Missing volume. ++ Volume tidak diketemukan. ++ ++ ++ ++ Bad charset. ++ Charset buruk. ++ ++ ++ ++ Unsupported file format. ++ Format arsip tidak didukung. ++ ++ ++ ++ Unknown errors happened. ++ Kesalahan tak dikenal terjadi. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ MiB ++ ++ ++ ++ Split into volumes of ++ Bagi menjadi volume dari ++ ++ ++ ++ Password: ++ Kata sandi: ++ ++ ++ ++ Encrypt the file list too ++ Enkripsi daftar berkasnya juga ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Semua berkas (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Ekstrak ++ ++ ++ ++ E&xtract all files ++ Ekstrak semua berkas ++ ++ ++ ++ Ex&tract selected files ++ Ekstrak berkas terpilih ++ ++ ++ ++ Actions ++ Aksi ++ ++ ++ ++ Re-create folders ++ Buat kembali folder ++ ++ ++ ++ Overwrite existing files ++ Timpa berkas yang ada ++ ++ ++ ++ Do not extract older files ++ Jangan mengekstrak file yang lebih lama ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Semua berkas (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Pengarsip file ++ ++ ++ ++ Filter Files... ++ Saring Berkas... ++ ++ ++ ++ &File ++ &Berkas ++ ++ ++ ++ &Edit ++ Sunting ++ ++ ++ ++ &View ++ Lihat ++ ++ ++ ++ &Help ++ Bantuan ++ ++ ++ ++ Main Toolbar ++ ++ ++ ++ ++ &About ++ Tentang ++ ++ ++ ++ &New ++ Baru ++ ++ ++ ++ Ctrl+N ++ Ctrl+N ++ ++ ++ ++ &Open ++ Buka ++ ++ ++ ++ Ctrl+O ++ Ctrl+O ++ ++ ++ ++ Save &As ++ Simpan Seb&agai ++ ++ ++ ++ &Extract ++ Ekstrak ++ ++ ++ ++ &Test ++ &Tes ++ ++ ++ ++ &Properties ++ &Properti ++ ++ ++ ++ Alt+Return ++ Alt+Return ++ ++ ++ ++ &Close ++ Tutup ++ ++ ++ ++ Ctrl+Q ++ Ctrl+Q ++ ++ ++ ++ Cu&t ++ Potong ++ ++ ++ ++ Ctrl+X ++ Ctrl+X ++ ++ ++ ++ &Copy ++ Salin ++ ++ ++ ++ Ctrl+C ++ Ctrl+C ++ ++ ++ ++ &Paste ++ Tem&pel ++ ++ ++ ++ Ctrl+V ++ Ctrl+V ++ ++ ++ ++ &Rename ++ Ubah Nama ++ ++ ++ ++ F2 ++ F2 ++ ++ ++ ++ &Delete ++ Hapus ++ ++ ++ ++ Del ++ Del ++ ++ ++ ++ &Select All ++ Pilih &Semua ++ ++ ++ ++ Ctrl+A ++ Ctrl+A ++ ++ ++ ++ &Find ++ Cari ++ ++ ++ ++ ++ Ctrl+F ++ Ctrl+F ++ ++ ++ ++ &Add Files ++ T&ambah Berkas ++ ++ ++ ++ Add F&older ++ Tambah F&older ++ ++ ++ ++ Pass&word ++ Pass&word ++ ++ ++ ++ &Toolbar ++ &Toolbar ++ ++ ++ ++ &Statusbar ++ &Statusbar ++ ++ ++ ++ &Directory Tree ++ &Directory Tree ++ ++ ++ ++ S&how as Folder ++ Tampilkan sebagai Folder ++ ++ ++ ++ Show &All Files ++ Tampilk&an Semua Berkas ++ ++ ++ ++ St&op ++ Berhenti ++ ++ ++ ++ Esc ++ Esc ++ ++ ++ ++ &Reload ++ Muat Ulang ++ ++ ++ ++ F5 ++ F5 ++ ++ ++ ++ Filename &Encoding ++ Pengkod&ean Nama Bekas ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ Semua berkas (*) ++ ++ ++ ++ ++ Add only if &newer ++ Tambahkan ha&nya jika lebih baru ++ ++ ++ ++ Confirm ++ Konfirmasi ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Apakah anda yakin ingin menghapus berkas terpilih? ++ ++ ++ ++ Version: %1 ++ Versi: %1 ++ ++ ++ ++ %p % ++ %p % ++ ++ ++ ++ Success ++ Berhasil ++ ++ ++ ++ No errors have been found. ++ Tidak ada kesalahan yang ditemukan. ++ ++ ++ ++ ++ Error ++ Kesalahan ++ ++ ++ ++ N/A ++ N/A ++ ++ ++ ++ Uncompressed Size: ++ Ukuran tak terkompres: ++ ++ ++ ++ Compression Ratio: ++ Rasio kompresi: ++ ++ ++ ++ File name ++ Nama berkas ++ ++ ++ ++ File Type ++ Jenis Berkas ++ ++ ++ ++ File Size ++ Ukuran Berkas ++ ++ ++ ++ Modified ++ Dimodifikasi ++ ++ ++ ++ Encrypted ++ Terenkripsi ++ ++ ++ ++ %1 files ++ %1 berkas ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Kata sandi ++ ++ ++ ++ Encrypt the file list ++ &Enkripsi daftar berkas ++ ++ ++ ++ Show password ++ Tampilkan kata sandi ++ ++ ++ ++ ++ Password: ++ Kata sandi: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Catatan:</b> kata sandi akan digunakan untuk mengenkripsi file yang Anda tambahkan ke arsip saat ini, dan untuk mendekripsi file yang Anda ekstrak dari arsip saat ini. Saat arsip di tutup kata sandi akan terhapus.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Progres ++ ++ ++ ++ %p % ++ %p % ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Kesalahan ++ ++ ++ ++ 7-Zip (.7z) ++ 7-Zip (.7z) ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar dikompres dengan 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ Ace (.ace) ++ ++ ++ ++ Ar (.a) ++ Ar (.a) ++ ++ ++ ++ Ar (.ar) ++ Ar (.ar) ++ ++ ++ ++ Arj (.arj) ++ Arj (.arj) ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar dikompres dengan bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar dikompres dengan bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ Cabinet (.cab) ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar dikompres dengan gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ Ear (.ear) ++ ++ ++ ++ Self-extracting zip (.exe) ++ Zip mengekstrak sendiri (.exe) ++ ++ ++ ++ Jar (.jar) ++ Jar (.jar) ++ ++ ++ ++ Lha (.lzh) ++ Lha (.lzh) ++ ++ ++ ++ Lrzip (.lrz) ++ Lrzip (.lrz) ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar dikompres dengan lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar dikompres dengan lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar dikompres dengan lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar dikompres dengan lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Windows Imaging Format (.wim) ++ ++ ++ ++ Rar (.rar) ++ Rar (.rar) ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar tidak dikompres (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar dikompres dengan compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ War (.war) ++ ++ ++ ++ Xz (.xz) ++ Xz (.xz) ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar dikompres dengan xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ Zoo (.zoo) ++ ++ ++ ++ Zip (.zip) ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Menambahkan berkas: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Mengekstrak berkas: ++ ++ ++ ++ %d %B %Y, %H:%M ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ Removing file: ++ Menghapus berkas: ++ ++ ++ ++ Deleting files from archive ++ Menghapus berkas dari arsip ++ ++ ++ ++ Recompressing archive ++ Mengompres ulang arsip ++ ++ ++ ++ Decompressing archive ++ Mendekompres arsip ++ ++ ++ ++ File not found. ++ Berkas tidak ditemukan. ++ ++ ++ ++ Archive type not supported. ++ Jenis Arsip tidak didukung. ++ ++ ++ ++ Archive not found ++ Arsip tak ditemukan ++ ++ ++ ++ You don't have the right permissions. ++ Anda tidak memiliki hak akses. ++ ++ ++ ++ This archive type cannot be modified ++ Jenis arsip ini tidak dapat diubah ++ ++ ++ ++ You can't add an archive to itself. ++ Anda tidak dapat menambahkan arsip ke dalam dirinya sendiri. ++ ++ ++ ++ Could not find the volume: %s ++ Tidak dapat menemukan volume: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_it.ts b/src/translations/lxqt-archiver_it.ts +--- a/src/translations/lxqt-archiver_it.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_it.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,825 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Informazioni ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Un archiviatore di file Qt semplice e indipendente dal desktop ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ Authors ++ Autori ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ ++ ++ ++ ++ License ++ Licenza ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Tipo di archivio non supportato. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 file (*%1) ++ ++ ++ ++ All supported formats ++ Tutti i formati supportati ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Esecuzione del comando non riuscita. ++ ++ ++ ++ Command is not found. ++ Il comando non è stato trovato. ++ ++ ++ ++ The command exited abnormally. ++ Il comando è terminato in modo anomalo. ++ ++ ++ ++ Password is required. ++ Password richiesta. ++ ++ ++ ++ Missing volume. ++ Volume mancante. ++ ++ ++ ++ Bad charset. ++ Set di caratteri non valido. ++ ++ ++ ++ Unsupported file format. ++ Formato file non supportato. ++ ++ ++ ++ Unknown errors happened. ++ Si sono verificati errori sconosciuti. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ MiB ++ ++ ++ ++ Split into volumes of ++ Dividi in volumi di ++ ++ ++ ++ Password: ++ Password: ++ ++ ++ ++ Encrypt the file list too ++ Crittografa anche la lista file ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Tutti i file (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Estrarre ++ ++ ++ ++ E&xtract all files ++ Estrarre tutti i file ++ ++ ++ ++ Ex&tract selected files ++ Estrai i file selezionati ++ ++ ++ ++ Actions ++ Azioni ++ ++ ++ ++ Re-create folders ++ Ricreare cartelle ++ ++ ++ ++ Overwrite existing files ++ Sovrascrivi file esistenti ++ ++ ++ ++ Do not extract older files ++ Non estrarre file più vecchi ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Tutti i file (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Archiviatore di file ++ ++ ++ ++ Filter Files... ++ Filtra file... ++ ++ ++ ++ &File ++ &File ++ ++ ++ ++ &Edit ++ &Modifica ++ ++ ++ ++ &View ++ &Visualizza ++ ++ ++ ++ &Help ++ &Aiuto ++ ++ ++ ++ Main Toolbar ++ Barra strumenti principale ++ ++ ++ ++ &About ++ &Informazioni ++ ++ ++ ++ &New ++ &Nuovo ++ ++ ++ ++ Ctrl+N ++ Ctrl+N ++ ++ ++ ++ &Open ++ &Apri ++ ++ ++ ++ Ctrl+O ++ Ctrl+O ++ ++ ++ ++ Save &As ++ Salva con &nome ++ ++ ++ ++ &Extract ++ Estrai ++ ++ ++ ++ &Test ++ ++ ++ ++ ++ &Properties ++ &Proprietà ++ ++ ++ ++ Alt+Return ++ Alt+Invio ++ ++ ++ ++ &Close ++ &Chiudi ++ ++ ++ ++ Ctrl+Q ++ Ctrl+Q ++ ++ ++ ++ Cu&t ++ &Taglia ++ ++ ++ ++ Ctrl+X ++ Ctrl+X ++ ++ ++ ++ &Copy ++ &Copia ++ ++ ++ ++ Ctrl+C ++ Ctrl+C ++ ++ ++ ++ &Paste ++ &Incolla ++ ++ ++ ++ Ctrl+V ++ Ctrl+V ++ ++ ++ ++ &Rename ++ &Rinomina ++ ++ ++ ++ F2 ++ F2 ++ ++ ++ ++ &Delete ++ &Elimina ++ ++ ++ ++ Del ++ Canc ++ ++ ++ ++ &Select All ++ &Seleziona tutto ++ ++ ++ ++ Ctrl+A ++ Ctrl+A ++ ++ ++ ++ &Find ++ &Trova ++ ++ ++ ++ ++ Ctrl+F ++ Ctrl+F ++ ++ ++ ++ &Add Files ++ &Aggiungi i file ++ ++ ++ ++ Add F&older ++ Aggiungi cartella ++ ++ ++ ++ Pass&word ++ Pass&word ++ ++ ++ ++ &Toolbar ++ Barra degli strumenti ++ ++ ++ ++ &Statusbar ++ Barra di &stato ++ ++ ++ ++ &Directory Tree ++ Albero delle cartelle ++ ++ ++ ++ S&how as Folder ++ Mostra come Cartella ++ ++ ++ ++ Show &All Files ++ Mostra e tutti i file ++ ++ ++ ++ St&op ++ Interrompi ++ ++ ++ ++ Esc ++ Esc ++ ++ ++ ++ &Reload ++ &Ricarica ++ ++ ++ ++ F5 ++ F5 ++ ++ ++ ++ Filename &Encoding ++ ++ ++ ++ ++ &View Selected Items ++ &Visualizza gli elementi selezionati ++ ++ ++ ++ &Filter ++ &Filtro ++ ++ ++ ++ ++ ++ All files (*) ++ Tutti i file (*) ++ ++ ++ ++ ++ Add only if &newer ++ Aggiungi solo se più recente ++ ++ ++ ++ Confirm ++ Conferma ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Sei sicuro di voler cancellare i file selezionati? ++ ++ ++ ++ Version: %1 ++ Versione: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Successo ++ ++ ++ ++ No errors have been found. ++ Non sono stati rilevati errori. ++ ++ ++ ++ ++ Error ++ Errore ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ Dimensioni non compresse: ++ ++ ++ ++ Compression Ratio: ++ Rapporto di compressione: ++ ++ ++ ++ File name ++ Nome del file ++ ++ ++ ++ File Type ++ Tipo di file ++ ++ ++ ++ File Size ++ Dimensione file ++ ++ ++ ++ Modified ++ Modificato ++ ++ ++ ++ Encrypted ++ Cifrato ++ ++ ++ ++ %1 files ++ %1 file ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Password ++ ++ ++ ++ Encrypt the file list ++ Crittografa l'elenco dei file ++ ++ ++ ++ Show password ++ Mostra la password ++ ++ ++ ++ ++ Password: ++ Password: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Nota:</b> la password verrà utilizzata per crittografare i file aggiunti all&#39;archivio corrente e per decrittografare i file estratti dall&#39;archivio corrente</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Avanzamento ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Errore ++ ++ ++ ++ 7-Zip (.7z) ++ 7-Zip (.7z) ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar compresso con 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ Ace (.ace) ++ ++ ++ ++ Ar (.a) ++ Ar (.a) ++ ++ ++ ++ Ar (.ar) ++ Ar (.ar) ++ ++ ++ ++ Arj (.arj) ++ Arj (.arj) ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar compresso con bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar compresso con bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ Cabinet (.cab) ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Archivio Rar Comic Book (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Archivio Zip Comic Book (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar compresso con gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ Ear (.ear) ++ ++ ++ ++ Self-extracting zip (.exe) ++ Zip autoestraente (.exe) ++ ++ ++ ++ Jar (.jar) ++ Jar (.jar) ++ ++ ++ ++ Lha (.lzh) ++ Lha (.lzh) ++ ++ ++ ++ Lrzip (.lrz) ++ Lrzip (.lrz) ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar compresso con lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar compresso con lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar compresso con lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar compresso con lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Windows Imaging Format (.wim) ++ ++ ++ ++ Rar (.rar) ++ Rar (.rar) ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar non compresso (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar compresso con compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ War (.war) ++ ++ ++ ++ Xz (.xz) ++ Xz (.xz) ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar compresso con xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ Zoo (.zoo) ++ ++ ++ ++ Zip (.zip) ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Aggiunta file: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Estrazione file: ++ ++ ++ ++ %d %B %Y, %H:%M ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ Removing file: ++ Rimozione file: ++ ++ ++ ++ Deleting files from archive ++ Eliminazione di file dall'archivio ++ ++ ++ ++ Recompressing archive ++ Ricompressione dell'archivio ++ ++ ++ ++ Decompressing archive ++ Decompressione archivio ++ ++ ++ ++ File not found. ++ File non trovato. ++ ++ ++ ++ Archive type not supported. ++ Tipo di archivio non supportato. ++ ++ ++ ++ Archive not found ++ Archivio non trovato ++ ++ ++ ++ You don't have the right permissions. ++ ++ ++ ++ ++ This archive type cannot be modified ++ Questo tipo di archivio non può essere modificato ++ ++ ++ ++ You can't add an archive to itself. ++ Non puoi aggiungere un archivio a se stesso. ++ ++ ++ ++ Could not find the volume: %s ++ Impossibile trovare il volume:% s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_ja.desktop b/src/translations/lxqt-archiver_ja.desktop +--- a/src/translations/lxqt-archiver_ja.desktop 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_ja.desktop 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,3 @@ ++Name[ja]=LXQt Archiver ++GenericName[ja]=アーカイブマネージャー ++Comment[ja]=圧縮形式のファイルを作成・展開・変更します +diff -Nuar a/src/translations/lxqt-archiver_ja.ts b/src/translations/lxqt-archiver_ja.ts +--- a/src/translations/lxqt-archiver_ja.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_ja.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ このアプリケーションについて ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ シンプルでデスクトップ環境にとらわれない Qt ファイルアーカイバー ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ Authors ++ 作者 ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ プログラム作成: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver は次のプログラムから派生しています: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ ++ ++ ++ License ++ ライセンス ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ この種類のアーカイブはサポートしていません。 ++ ++ ++ ++ *%1 files (*%1) ++ *%1 ファイル (*%1) ++ ++ ++ ++ All supported formats ++ サポートしている全てのフォーマット ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ コマンドの実行に失敗しました。 ++ ++ ++ ++ Command is not found. ++ コマンドが見つかりません。 ++ ++ ++ ++ The command exited abnormally. ++ コマンドが異常終了しました。 ++ ++ ++ ++ Password is required. ++ パスワードが必要です。 ++ ++ ++ ++ Missing volume. ++ ボリュームがありません。 ++ ++ ++ ++ Bad charset. ++ 使えない文字セットです。 ++ ++ ++ ++ Unsupported file format. ++ サポートしていないフォーマットです。 ++ ++ ++ ++ Unknown errors happened. ++ 不明なエラーが発生しました。 ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ MiB ++ ++ ++ ++ Split into volumes of ++ 分割する容量 ++ ++ ++ ++ Password: ++ パスワード: ++ ++ ++ ++ Encrypt the file list too ++ ファイルの一覧も暗号化する ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ すべてのファイル (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ 展開 ++ ++ ++ ++ E&xtract all files ++ すべてのファイルを展開する(&E) ++ ++ ++ ++ Ex&tract selected files ++ 選択されたファイルを展開する(&T) ++ ++ ++ ++ Actions ++ 操作 ++ ++ ++ ++ Re-create folders ++ フォルダー構成を再作成する ++ ++ ++ ++ Overwrite existing files ++ 既存のファイルを上書きする ++ ++ ++ ++ Do not extract older files ++ 古いファイルを展開しない ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ すべてのファイル (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ ファイルアーカイバー ++ ++ ++ ++ Filter Files... ++ ファイル名のフィルター... ++ ++ ++ ++ &File ++ ファイル(&F) ++ ++ ++ ++ &Edit ++ 編集(&E) ++ ++ ++ ++ &View ++ 表示(&V) ++ ++ ++ ++ &Help ++ ヘルプ(&H) ++ ++ ++ ++ Main Toolbar ++ メインツールバー ++ ++ ++ ++ &About ++ このアプリケーションについて(&A) ++ ++ ++ ++ &New ++ 新規(&N) ++ ++ ++ ++ Ctrl+N ++ Ctrl+N ++ ++ ++ ++ &Open ++ 開く(&O) ++ ++ ++ ++ Ctrl+O ++ Ctrl+O ++ ++ ++ ++ Save &As ++ 名前を付けて保存(&A) ++ ++ ++ ++ &Extract ++ 展開(&E) ++ ++ ++ ++ &Test ++ テスト(&T) ++ ++ ++ ++ &Properties ++ プロパティ(&P) ++ ++ ++ ++ Alt+Return ++ Alt+Enter ++ ++ ++ ++ &Close ++ 閉じる(&C) ++ ++ ++ ++ Ctrl+Q ++ Ctrl+Q ++ ++ ++ ++ Cu&t ++ 切り取り(&T) ++ ++ ++ ++ Ctrl+X ++ Ctrl+X ++ ++ ++ ++ &Copy ++ コピー(&C) ++ ++ ++ ++ Ctrl+C ++ Ctrl+C ++ ++ ++ ++ &Paste ++ 貼り付け(&P) ++ ++ ++ ++ Ctrl+V ++ Ctrl+V ++ ++ ++ ++ &Rename ++ 名前の変更(&R) ++ ++ ++ ++ F2 ++ F2 ++ ++ ++ ++ &Delete ++ 削除(&D) ++ ++ ++ ++ Del ++ Del ++ ++ ++ ++ &Select All ++ すべて選択(&S) ++ ++ ++ ++ Ctrl+A ++ Ctrl+A ++ ++ ++ ++ &Find ++ 検索(&F) ++ ++ ++ ++ ++ Ctrl+F ++ Ctrl+F ++ ++ ++ ++ &Add Files ++ ファイルの追加(&A) ++ ++ ++ ++ Add F&older ++ フォルダーの追加(&O) ++ ++ ++ ++ Pass&word ++ パスワード(&W) ++ ++ ++ ++ &Toolbar ++ ツールバー(&T) ++ ++ ++ ++ &Statusbar ++ ステータスバー(&S) ++ ++ ++ ++ &Directory Tree ++ ディレクトリ ツリー(&D) ++ ++ ++ ++ S&how as Folder ++ フォルダー毎の表示(&H) ++ ++ ++ ++ Show &All Files ++ 全ファイルの表示(&A) ++ ++ ++ ++ St&op ++ 停止(&O) ++ ++ ++ ++ Esc ++ Esc ++ ++ ++ ++ &Reload ++ 再読み込み(&R) ++ ++ ++ ++ F5 ++ F5 ++ ++ ++ ++ Filename &Encoding ++ ファイル名のエンコーディング(&E) ++ ++ ++ ++ &View Selected Items ++ 選択したアイテムの表示 ++ ++ ++ ++ &Filter ++ フィルター(&F) ++ ++ ++ ++ ++ ++ All files (*) ++ すべてのファイル (*) ++ ++ ++ ++ ++ Add only if &newer ++ 新しい場合にのみ追加する(&N) ++ ++ ++ ++ Confirm ++ 確認 ++ ++ ++ ++ Are you sure you want to delete selected files? ++ 本当に選択したファイルを削除しますか? ++ ++ ++ ++ Version: %1 ++ バージョン: %1 ++ ++ ++ ++ %p % ++ %p % ++ ++ ++ ++ Success ++ 成功 ++ ++ ++ ++ No errors have been found. ++ エラーはありませんでした。 ++ ++ ++ ++ ++ Error ++ エラー ++ ++ ++ ++ N/A ++ 該当なし ++ ++ ++ ++ Uncompressed Size: ++ 圧縮前のサイズ: ++ ++ ++ ++ Compression Ratio: ++ 圧縮率: ++ ++ ++ ++ File name ++ ファイル名 ++ ++ ++ ++ File Type ++ ファイルの種類 ++ ++ ++ ++ File Size ++ サイズ ++ ++ ++ ++ Modified ++ 更新 ++ ++ ++ ++ Encrypted ++ 暗号化 ++ ++ ++ ++ %1 files ++ %1 個のファイル ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ パスワード ++ ++ ++ ++ Encrypt the file list ++ ファイルの一覧を暗号化する ++ ++ ++ ++ Show password ++ パスワードを表示する ++ ++ ++ ++ ++ Password: ++ パスワード: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>注:</b> パスワードは、現在のアーカイブに追加したファイルを暗号化したり、現在のアーカイブから展開したファイルを復号化するために使用されます。アーカイブが閉じられると、パスワードは削除されます。</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ 進行状況 ++ ++ ++ ++ %p % ++ %p % ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ エラー ++ ++ ++ ++ 7-Zip (.7z) ++ 7-Zip (.7z) ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ 7z 圧縮の Tar (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ Ace (.ace) ++ ++ ++ ++ Ar (.a) ++ Ar (.a) ++ ++ ++ ++ Ar (.ar) ++ Ar (.ar) ++ ++ ++ ++ Arj (.arj) ++ Arj (.arj) ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ bzip2 圧縮の Tar (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ bzip 圧縮の Tar (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ キャビネット (.cab) ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ コミック ブック Rar (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ コミック ブック Zip (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ gzip 圧縮の Tar (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ Ear (.ear) ++ ++ ++ ++ Self-extracting zip (.exe) ++ 自己解凍型 zip (.exe) ++ ++ ++ ++ Jar (.jar) ++ Jar (.jar) ++ ++ ++ ++ Lha (.lzh) ++ Lha (.lzh) ++ ++ ++ ++ Lrzip (.lrz) ++ Lrzip (.lrz) ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ lrzip 圧縮の Tar (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ lzip 圧縮の Tar (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ lzma 圧縮の Tar (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ lzop 圧縮の Tar (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Windows イメージング フォーマット (.wim) ++ ++ ++ ++ Rar (.rar) ++ Rar (.rar) ++ ++ ++ ++ Tar uncompressed (.tar) ++ 未圧縮の Tar (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ compress 圧縮の Tar (.tar.Z) ++ ++ ++ ++ War (.war) ++ War (.war) ++ ++ ++ ++ Xz (.xz) ++ Xz (.xz) ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ xz 圧縮の Tar (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ Zoo (.zoo) ++ ++ ++ ++ Zip (.zip) ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ Adding file: ++ ファイルの追加: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ 展開しているファイル: ++ ++ ++ ++ %d %B %Y, %H:%M ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ Removing file: ++ 削除しているファイル: ++ ++ ++ ++ Deleting files from archive ++ アーカイブからファイルを削除します ++ ++ ++ ++ Recompressing archive ++ アーカイブの再圧縮 ++ ++ ++ ++ Decompressing archive ++ アーカイブの解凍 ++ ++ ++ ++ File not found. ++ ファイルが見つかりません。 ++ ++ ++ ++ Archive type not supported. ++ この種類のアーカイブはサポートしていません。 ++ ++ ++ ++ Archive not found ++ アーカイブが見つかりません ++ ++ ++ ++ You don't have the right permissions. ++ 適切なアクセス許可がありません。 ++ ++ ++ ++ This archive type cannot be modified ++ この種類のアーカイブは変更できません ++ ++ ++ ++ You can't add an archive to itself. ++ アーカイブ自身を追加することはできません。 ++ ++ ++ ++ Could not find the volume: %s ++ ボリュームが見つかりませんでした: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_nb_NO.ts b/src/translations/lxqt-archiver_nb_NO.ts +--- a/src/translations/lxqt-archiver_nb_NO.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_nb_NO.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Om ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Arkivhåndterer</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ En enkel og skrivebordsmiljøuavhengig Qt arkivhåndterer ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ Opphavsmenn ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programmering: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver har kode fra disse programmene: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ ++ ++ ++ License ++ Lisens ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiver ++ ++Copyright (C) 2018 LXQt Teamet ++ ++Dette programmet er fri programvare. Du kan redistribuere det ++og/eller endre det under vilkårene i GNU General Public License ++som publisert av the Free Software Foundation, enten versjon 2 ++av lisensen eller (etter eget ønske) enhver senere versjon. ++ ++Dette programmet blir distribuert i håpet at det vil være nyttig, ++men UTEN NOEN GARANTIER. Selv uten de usagte garantiene ++om salgbarhet eller egnethet for et bestemt formål. Se GNU ++General Public License for flere detaljer. ++ ++Du burde ha mottatt en kopi av GNU General Public License ved siden ++av dette programmet. Hvis ikke, skriv til the Free Software Foundation ++Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Arkivtype støttes ikke. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 filer (*%1) ++ ++ ++ ++ All supported formats ++ Alle støttede formater ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Klarte ikke å utføre kommandoen. ++ ++ ++ ++ Command is not found. ++ Kommandoen blir ikke funnet. ++ ++ ++ ++ The command exited abnormally. ++ Kommandoen avsluttet unormalt. ++ ++ ++ ++ Password is required. ++ Passord kreves. ++ ++ ++ ++ Missing volume. ++ Manglende volum. ++ ++ ++ ++ Bad charset. ++ Dårlig tegnsett. ++ ++ ++ ++ Unsupported file format. ++ Filformatet støttes ikke. ++ ++ ++ ++ Unknown errors happened. ++ Ukjente feil har oppstått. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ Del inn i volumer på ++ ++ ++ ++ Password: ++ Passord: ++ ++ ++ ++ Encrypt the file list too ++ Krypter fillisten også ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Alle filer (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Pakk ut ++ ++ ++ ++ E&xtract all files ++ P&akk ut alle filer ++ ++ ++ ++ Ex&tract selected files ++ Pa&kk ut valgte filer ++ ++ ++ ++ Actions ++ Handlinger ++ ++ ++ ++ Re-create folders ++ Gjenskap mapper ++ ++ ++ ++ Overwrite existing files ++ Overskriv eksisterende filer ++ ++ ++ ++ Do not extract older files ++ Ikke pakk ut gamle filer ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Alle filer (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Arkivhåndterer ++ ++ ++ ++ Filter Files... ++ Filrer filer... ++ ++ ++ ++ &File ++ &Fil ++ ++ ++ ++ &Edit ++ R&ediger ++ ++ ++ ++ &View ++ &Visning ++ ++ ++ ++ &Help ++ &Hjelp ++ ++ ++ ++ Main Toolbar ++ Hovedverktøylinje ++ ++ ++ ++ &About ++ &Om ++ ++ ++ ++ &New ++ &Ny ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ &Åpne ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ Lagre &som ++ ++ ++ ++ &Extract ++ &Pakk ut ++ ++ ++ ++ &Test ++ ++ ++ ++ ++ &Properties ++ &Egenskaper ++ ++ ++ ++ Alt+Return ++ Alt+Retur ++ ++ ++ ++ &Close ++ &Lukk ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ Kli&pp ut ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ &Kopier ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ &Lim inn ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &Gi nytt navn ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ &Slett ++ ++ ++ ++ Del ++ Del ++ ++ ++ ++ &Select All ++ &Velg alt ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ &Finn ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ &Legg til filer ++ ++ ++ ++ Add F&older ++ Legg &til mappe ++ ++ ++ ++ Pass&word ++ Pass&ord ++ ++ ++ ++ &Toolbar ++ &Verktøylinje ++ ++ ++ ++ &Statusbar ++ &Statuslinje ++ ++ ++ ++ &Directory Tree ++ &Mappetre ++ ++ ++ ++ S&how as Folder ++ V&is som mappe ++ ++ ++ ++ Show &All Files ++ Vis &alle filer ++ ++ ++ ++ St&op ++ St&opp ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &Last inn på nytt ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ Filnavnets t&egnsett ++ ++ ++ ++ &View Selected Items ++ &Vis valgte elementer ++ ++ ++ ++ &Filter ++ &Filtrer ++ ++ ++ ++ ++ ++ All files (*) ++ Alle filer (*) ++ ++ ++ ++ ++ Add only if &newer ++ Legg til bare hvis &nyere ++ ++ ++ ++ Confirm ++ Bekreft ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Er du sikker på at du vil slette valgte filer? ++ ++ ++ ++ Version: %1 ++ Versjon: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Suksess ++ ++ ++ ++ No errors have been found. ++ Ingen feil har blitt funnet. ++ ++ ++ ++ ++ Error ++ Feil ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ Utpakket størrelse: ++ ++ ++ ++ Compression Ratio: ++ Kompresjonsfaktor: ++ ++ ++ ++ File name ++ Filnavn ++ ++ ++ ++ File Type ++ Filtype ++ ++ ++ ++ File Size ++ Filstørrelse ++ ++ ++ ++ Modified ++ Sist endret ++ ++ ++ ++ Encrypted ++ Kryptert ++ ++ ++ ++ %1 files ++ %1 filer ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Passord ++ ++ ++ ++ Encrypt the file list ++ Krypter filen først ++ ++ ++ ++ Show password ++ Vis passord ++ ++ ++ ++ ++ Password: ++ Passord: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Merk:</b> passordet blir brukt til å kryptere filer du legger til det nåværende arkivet og til å dekryptere filer du pakker ut fra det nåværende arkivet. Når arkivet blir lukket kommer passordet til å slettes.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Framdrift ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Feil ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar-pakke med 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar-pakke med bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar-pakke med bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Rar-pakket tegneserie (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Zip-pakket tegneserie (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar-pakke med gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Selvutpakkende zip (.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar-pakke med lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar-pakke med lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar-pakke med lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar-pakke med lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Windows diskbildeformat (.wim) ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar ukomprimert (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar-pakke med compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar-pakke med xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Legger til fil: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Pakker ut fil: ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ Fjerner fil: ++ ++ ++ ++ Deleting files from archive ++ Fjerner filer fra arkiv ++ ++ ++ ++ Recompressing archive ++ Komprimerer arkiv på nytt ++ ++ ++ ++ Decompressing archive ++ Pakker ut arkiv ++ ++ ++ ++ File not found. ++ Fant ikke fil. ++ ++ ++ ++ Archive type not supported. ++ Arkivtypen støttes ikke. ++ ++ ++ ++ Archive not found ++ Fant ikke arkivtypen ++ ++ ++ ++ You don't have the right permissions. ++ Du har ikke riktige tillatelser. ++ ++ ++ ++ This archive type cannot be modified ++ Denne typen arkiv kan ikke endres ++ ++ ++ ++ You can't add an archive to itself. ++ Du kan ikke legge arkiv til seg selv. ++ ++ ++ ++ Could not find the volume: %s ++ Fant ikke volumet: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_pl.ts b/src/translations/lxqt-archiver_pl.ts +--- a/src/translations/lxqt-archiver_pl.ts 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/translations/lxqt-archiver_pl.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -14,10 +14,6 @@ + + + +- A simple and desktop-agnostic Qt file archiver +- Prosty i niezależny od środowiska graficznego menedżer archiwów Qt. +- +- + + A simple and desktop-agnostic Qt file archiver + Prosty i niezależny od środowiska graficznego menedżer archiwów Qt +@@ -114,7 +110,7 @@ + ArchiverError + + +- Fail to execute the command. ++ Failed to execute the command. + Nie udało się wykonać polecenia. + + +@@ -177,6 +173,14 @@ + + + ++ CreateFileDialog ++ ++ ++ All files (*) ++ Wszystkie pliki (*) ++ ++ ++ + ExtractArchiveExtraWidget + + +@@ -215,323 +219,348 @@ + + + ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Wszystkie pliki (*) ++ ++ ++ + MainWindow + + +- ++ + File Archiver + Menedżer archiwów + + +- ++ ++ Filter Files... ++ Filtruj pliki… ++ ++ ++ + &File + &Plik + + +- ++ + &Edit + &Edycja + + +- ++ + &View + &Widok + + +- ++ + &Help + &Pomoc + + +- +- toolBar +- ++ ++ Main Toolbar ++ Główny pasek narzędzi + + +- ++ + &About + &O programie + + +- ++ + &New + &Nowy + + +- ++ + Ctrl+N + + + +- ++ + &Open + &Otwórz + + +- ++ + Ctrl+O + + + +- ++ + Save &As + Z&apisz jako + + +- ++ + &Extract + &Wyodrębnij + + +- ++ + &Test + + + +- ++ + &Properties + &Właściwości + + +- ++ + Alt+Return + + + +- ++ + &Close + Zam&knij + + +- ++ + Ctrl+Q + + + +- ++ + Cu&t + Wy&tnij + + +- ++ + Ctrl+X + + + +- ++ + &Copy + &Kopiuj + + +- ++ + Ctrl+C + + + +- ++ + &Paste + &Wklej + + +- ++ + Ctrl+V + + + +- ++ + &Rename + &Zmień nazwę + + +- ++ + F2 + + + +- ++ + &Delete + & Usuń + + +- ++ + Del + + + +- ++ + &Select All + Zaznacz w&szystkie + + +- ++ + Ctrl+A + + + +- ++ + &Find + &Szukaj + + +- ++ ++ + Ctrl+F + + + +- ++ + &Add Files + Dod&aj pliki + + +- ++ + Add F&older + D&odaj katalog + + +- ++ + Pass&word + &Hasło + + +- ++ + &Toolbar + &Pasek narzędzi + + +- ++ + &Statusbar + Pasek &stanu + + +- ++ + &Directory Tree + &Drzewo katalogów + + +- ++ + S&how as Folder + &Pokaż jako katalog + + +- ++ + Show &All Files + Pok&aż wszystkie pliki + + +- ++ + St&op + Zatrzy&maj + + +- ++ + Esc + + + +- ++ + &Reload + &Załaduj ponownie + + +- ++ + F5 + + + +- ++ + Filename &Encoding + Kodowani&e nazw plików + + +- +- +- ++ ++ &View Selected Items ++ &Pokaż zaznaczone elementy ++ ++ ++ ++ &Filter ++ &Filtruj ++ ++ ++ ++ ++ + All files (*) + Wszystkie pliki (*) + + +- +- ++ ++ + Add only if &newer + Dodaj tylko gdy &nowsze + + +- ++ + Confirm + Potwierdź + + +- ++ + Are you sure you want to delete selected files? + Czy na pewno chcesz usunąć zaznaczone pliki? + + +- ++ + Version: %1 + Wersja: %1 + + +- ++ + %p % + + + +- ++ + Success + Sukces + + +- +- No errors are found. +- Nie odnaleziono błędów. ++ ++ No errors have been found. ++ Nie znaleziono błędów. + + +- ++ ++ + Error + Błąd + + +- ++ + N/A + + + +- ++ + Uncompressed Size: + Rozmiar nieskompresowany: + + +- ++ + Compression Ratio: + Poziom kompresji: + + +- ++ + File name + Nazwa pliku + + +- ++ + File Type + Rodzaj pliku + + +- ++ + File Size + Rozmiar pliku + + +- ++ + Modified + Modyfikowany + + +- ++ + Encrypted + Zaszyfrowany + + +- ++ + %1 files + %1 plików + +@@ -582,12 +611,8 @@ + + QObject + +- All files (*) +- Wszystkie pliki (*) +- +- +- +- ++ ++ + Error + Błąd + +@@ -745,7 +770,7 @@ + + + +- ++ + Adding file: + Dodawanie pliku: + +@@ -753,7 +778,7 @@ + + + +- ++ + Extracting file: + Rozpakowywanie pliku: + +@@ -819,20 +844,4 @@ + Nie można odnaleźć wolumenu: %s + + +- +- CreateFileDialog +- +- +- All files (*) +- Wszystkie pliki (*) +- +- +- +- ExtractFileDialog +- +- +- All files (*) +- Wszystkie pliki (*) +- +- + +diff -Nuar a/src/translations/lxqt-archiver_pt_BR.ts b/src/translations/lxqt-archiver_pt_BR.ts +--- a/src/translations/lxqt-archiver_pt_BR.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_pt_BR.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,848 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Sobre ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Um gerenciador de arquivos simples e independente de desktop ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ Authors ++ Autores ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programação: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++O LXQt Archiver é derivado dos seguintes programas: ++* Engrampa do ambiente gráfico MATE ++* File Roller do ambiente gráfico Gnome ++ ++ ++ ++ ++ License ++ Licença ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiver ++ ++Copyright (C) 2018 Comunidade LXQt ++ ++Este programa é software livre; você pode redistribuí-lo e/ou ++modificá-lo sob os termos da Licença Pública Geral GNU, ++conforme publicada pela Free Software Foundation; ou a versão 2 ++da Licença, ou (a seu critério) qualquer versão posterior. ++ ++Este programa é distribuído na esperança de que seja útil, ++mas SEM QUALQUER GARANTIA; sem mesmo a garantia ++implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. ++Veja a Licença Pública Geral GNU para mais detalhes. ++ ++Você deve ter recebido uma cópia da Licença Pública Geral GNU ++junto com este programa; se não, escreva para a Free Software ++Foundation, Inc., 51 Franklin Street, Quinta Andar, Boston, ++MA 02110-1301, EUA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Este tipo de arquivo não é suportado. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 arquivos (*%1) ++ ++ ++ ++ All supported formats ++ Todos os formatos suportados ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Falha na execução do comando. ++ ++ ++ ++ Command is not found. ++ Comando não encontrado. ++ ++ ++ ++ The command exited abnormally. ++ O comando encerrou anormalmente. ++ ++ ++ ++ Password is required. ++ Senha necessária. ++ ++ ++ ++ Missing volume. ++ Volume não localizado. ++ ++ ++ ++ Bad charset. ++ Charset inválido. ++ ++ ++ ++ Unsupported file format. ++ Este formato de arquivo não é suportado. ++ ++ ++ ++ Unknown errors happened. ++ Erros desconhecidos ocorreram. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ MiB ++ ++ ++ ++ Split into volumes of ++ Dividir em volumes de ++ ++ ++ ++ Password: ++ Senha: ++ ++ ++ ++ Encrypt the file list too ++ Criptografar também a lista de arquivos ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Todos os arquivos (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Extrair ++ ++ ++ ++ E&xtract all files ++ E&xtrair todos os arquivos ++ ++ ++ ++ Ex&tract selected files ++ Ex&trair arquivos selecionados ++ ++ ++ ++ Actions ++ Ações ++ ++ ++ ++ Re-create folders ++ Recriar pastas ++ ++ ++ ++ Overwrite existing files ++ Sobrescrever arquivos existentes ++ ++ ++ ++ Do not extract older files ++ Não extrair arquivos mais antigos ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Todos os arquivos (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Compactador de Arquivos ++ ++ ++ ++ Filter Files... ++ Filtrar Arquivos... ++ ++ ++ ++ &File ++ &Arquivo ++ ++ ++ ++ &Edit ++ &Editar ++ ++ ++ ++ &View ++ &Exibir ++ ++ ++ ++ &Help ++ &Ajuda ++ ++ ++ ++ Main Toolbar ++ Barra de ferramentas ++ ++ ++ ++ &About ++ &Sobre ++ ++ ++ ++ &New ++ &Novo ++ ++ ++ ++ Ctrl+N ++ Ctrl+N ++ ++ ++ ++ &Open ++ &Abrir ++ ++ ++ ++ Ctrl+O ++ Ctrl+O ++ ++ ++ ++ Save &As ++ Salvar &como ++ ++ ++ ++ &Extract ++ E&xtrair ++ ++ ++ ++ &Test ++ &Testar ++ ++ ++ ++ &Properties ++ &Propriedades ++ ++ ++ ++ Alt+Return ++ Alt+Enter ++ ++ ++ ++ &Close ++ &Fechar ++ ++ ++ ++ Ctrl+Q ++ Ctrl+Q ++ ++ ++ ++ Cu&t ++ Recor&tar ++ ++ ++ ++ Ctrl+X ++ Ctrl+X ++ ++ ++ ++ &Copy ++ &Copiar ++ ++ ++ ++ Ctrl+C ++ Ctrl+C ++ ++ ++ ++ &Paste ++ Col&ar ++ ++ ++ ++ Ctrl+V ++ Ctrl+V ++ ++ ++ ++ &Rename ++ &Renomear ++ ++ ++ ++ F2 ++ F2 ++ ++ ++ ++ &Delete ++ &Excluir ++ ++ ++ ++ Del ++ Del ++ ++ ++ ++ &Select All ++ Selecionar &tudo ++ ++ ++ ++ Ctrl+A ++ Ctrl+A ++ ++ ++ ++ &Find ++ Pesqu&isar ++ ++ ++ ++ ++ Ctrl+F ++ Ctrl+F ++ ++ ++ ++ &Add Files ++ &Adicionar arquivos ++ ++ ++ ++ Add F&older ++ Adici&onar pasta ++ ++ ++ ++ Pass&word ++ &Senha ++ ++ ++ ++ &Toolbar ++ Barra de ferramen&tas ++ ++ ++ ++ &Statusbar ++ Barra de &status ++ ++ ++ ++ &Directory Tree ++ Árvore de &diretórios ++ ++ ++ ++ S&how as Folder ++ Mo&strar como Pasta ++ ++ ++ ++ Show &All Files ++ Mostr&ar todos os arquivos ++ ++ ++ ++ St&op ++ &Parar ++ ++ ++ ++ Esc ++ Esc ++ ++ ++ ++ &Reload ++ &Recarregar ++ ++ ++ ++ F5 ++ F5 ++ ++ ++ ++ Filename &Encoding ++ Codificação do Nome do Arquivo ++ ++ ++ ++ &View Selected Items ++ &Visualizar Itens Selecionados ++ ++ ++ ++ &Filter ++ &Filtro ++ ++ ++ ++ ++ ++ All files (*) ++ Todos os arquivos (*) ++ ++ ++ ++ ++ Add only if &newer ++ Adicio&nar apenas se mais recente ++ ++ ++ ++ Confirm ++ Confirmar ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Você realmente deseja apagar os arquivos selecionados? ++ ++ ++ ++ Version: %1 ++ Versão: %1 ++ ++ ++ ++ %p % ++ %p % ++ ++ ++ ++ Success ++ Sucesso ++ ++ ++ ++ No errors have been found. ++ Nenhum erro foi encontrado. ++ ++ ++ ++ ++ Error ++ Erro ++ ++ ++ ++ N/A ++ N/A ++ ++ ++ ++ Uncompressed Size: ++ Tamanho descompactado: ++ ++ ++ ++ Compression Ratio: ++ Taxa de compressão: ++ ++ ++ ++ File name ++ Nome do arquivo ++ ++ ++ ++ File Type ++ Tipo do arquivo ++ ++ ++ ++ File Size ++ Tamanho do arquivo ++ ++ ++ ++ Modified ++ Modificado ++ ++ ++ ++ Encrypted ++ Criptografado ++ ++ ++ ++ %1 files ++ %1 arquivos ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Senha ++ ++ ++ ++ Encrypt the file list ++ Criptografar a lista de arquivos ++ ++ ++ ++ Show password ++ Mostrar senha ++ ++ ++ ++ ++ Password: ++ Senha: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Lembrete:</b> Esta senha será utilizada para criptografar os elementos que você adicionar na compactação atual, e para descriptografar os elementos que você extrair. Quando o arquivo compactado for fechado, a senha será apagada.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Progresso ++ ++ ++ ++ %p % ++ %p % ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Erro ++ ++ ++ ++ 7-Zip (.7z) ++ Arquivo 7-Zip (.7z) ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar comprimido em 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ Arquivo Ace (.ace) ++ ++ ++ ++ Ar (.a) ++ Arquivo A (.a) ++ ++ ++ ++ Ar (.ar) ++ Arquivo Ar (.ar) ++ ++ ++ ++ Arj (.arj) ++ Arquivo Arj (.arj) ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar comprimido em bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar comprimido em bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ Arquivo Cabinet (.cab) ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Arquivo Rar Comic Book (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Arquivo Zip Comic Book (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar comprimido em gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ Arquivo Ear (.ear) ++ ++ ++ ++ Self-extracting zip (.exe) ++ Arquivo auto-extraível (.exe) ++ ++ ++ ++ Jar (.jar) ++ Arquivo Jar (.jar) ++ ++ ++ ++ Lha (.lzh) ++ Arquivo LHA (.lzh) ++ ++ ++ ++ Lrzip (.lrz) ++ Arquivo Lrzip (.lrz) ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar comprimido em Lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar comprimido em lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar comprimido em lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar comprimido em lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Imagem do Windows (.wim) ++ ++ ++ ++ Rar (.rar) ++ Arquivo RAR (.rar) ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar sem compressão (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar comprimido com compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ Arquivo WAR (.war) ++ ++ ++ ++ Xz (.xz) ++ Arquivo Xz (.xz) ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar comprimido em xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ Arquivo Zoo (.zoo) ++ ++ ++ ++ Zip (.zip) ++ Arquivo ZIP (.zip) ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Adicionando arquivo: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Extraindo arquivo: ++ ++ ++ ++ %d %B %Y, %H:%M ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ Removing file: ++ Removendo arquivo: ++ ++ ++ ++ Deleting files from archive ++ Apagando arquivos da compactação ++ ++ ++ ++ Recompressing archive ++ Recomprimindo arquivo ++ ++ ++ ++ Decompressing archive ++ Descomprimindo arquivo ++ ++ ++ ++ File not found. ++ Arquivo não encontrado. ++ ++ ++ ++ Archive type not supported. ++ Tipo de arquivo não suportado. ++ ++ ++ ++ Archive not found ++ Arquivo não encontrado ++ ++ ++ ++ You don't have the right permissions. ++ Você não tem as permissões corretas para isso. ++ ++ ++ ++ This archive type cannot be modified ++ Este tipo de arquivo não pode ser modificado ++ ++ ++ ++ You can't add an archive to itself. ++ Você não pode adicionar um arquivo dentro dele próprio. ++ ++ ++ ++ Could not find the volume: %s ++ O volume não foi localizado: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_pt.desktop b/src/translations/lxqt-archiver_pt.desktop +--- a/src/translations/lxqt-archiver_pt.desktop 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_pt.desktop 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,3 @@ ++Name[pt]=Arquivador de ficheiros ++GenericName[pt]=Arquivador de ficheiros para o LXQt ++Comment[pt]=Arquivador de ficheiros em Qt +diff -Nuar a/src/translations/lxqt-archiver_pt_PT.ts b/src/translations/lxqt-archiver_pt_PT.ts +--- a/src/translations/lxqt-archiver_pt_PT.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_pt_PT.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Sobre ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Um arquivador de ficheiros agnóstico, criado em Qt ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ Autores/Autoras ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programação: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver teve como base os seguintes programas: ++* Engrampa de MATE desktop ++* File Roller de Gnome desktop ++ ++ ++ ++ ++ License ++ Licença ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiver ++ ++Copyright (C) 2018-2019 - Equipa LXQt ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Tipo de arquivo não suportado. ++ ++ ++ ++ *%1 files (*%1) ++ Ficheiros *%1 (*%1) ++ ++ ++ ++ All supported formats ++ Todos os formatos suportados ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Erro ao executar o comando. ++ ++ ++ ++ Command is not found. ++ Comando não encontrado. ++ ++ ++ ++ The command exited abnormally. ++ O comando terminou abruptamente. ++ ++ ++ ++ Password is required. ++ Requer palavra-passe. ++ ++ ++ ++ Missing volume. ++ Volume inexistente. ++ ++ ++ ++ Bad charset. ++ Codificação inválida. ++ ++ ++ ++ Unsupported file format. ++ Formato não suportado. ++ ++ ++ ++ Unknown errors happened. ++ Ocorreram erros não conhecidos. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ Separar em volumes de ++ ++ ++ ++ Password: ++ Palavra-passe: ++ ++ ++ ++ Encrypt the file list too ++ Cifrar também a lista de ficheiros ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Todos os ficheiros (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Extrair ++ ++ ++ ++ E&xtract all files ++ E&xtrair todos os ficheiros ++ ++ ++ ++ Ex&tract selected files ++ Ex&trair ficheiros selecionados ++ ++ ++ ++ Actions ++ Ações ++ ++ ++ ++ Re-create folders ++ Recriar pastas ++ ++ ++ ++ Overwrite existing files ++ Substituir ficheiros existentes ++ ++ ++ ++ Do not extract older files ++ Não extrair ficheiros antigos ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Todos os ficheiros (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Arquivador de ficheiros ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ &File ++ &Ficheiro ++ ++ ++ ++ &Edit ++ &Editar ++ ++ ++ ++ &View ++ &Ver ++ ++ ++ ++ &Help ++ A&juda ++ ++ ++ ++ Main Toolbar ++ ++ ++ ++ ++ &About ++ &Acerca ++ ++ ++ ++ &New ++ &Novo ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ &Abrir ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ Gu&ardar como ++ ++ ++ ++ &Extract ++ &Extrair ++ ++ ++ ++ &Test ++ &Testar ++ ++ ++ ++ &Properties ++ &Propriedades ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ Fe&char ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ Cor&tar ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ &Copiar ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ Co&lar ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &Renomear ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ A&pagar ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ &Selecionar tudo ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ Locali&zar ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ &Adicionar ficheiros ++ ++ ++ ++ Add F&older ++ Adici&onar pasta ++ ++ ++ ++ Pass&word ++ Pala&vra-passe ++ ++ ++ ++ &Toolbar ++ Barra de ferramen&tas ++ ++ ++ ++ &Statusbar ++ Barra de e&stado ++ ++ ++ ++ &Directory Tree ++ Árvore do &diretório ++ ++ ++ ++ S&how as Folder ++ Mo&strar como pasta ++ ++ ++ ++ Show &All Files ++ Mostr&ar todos os ficheiros ++ ++ ++ ++ St&op ++ &Parar ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &Recarregar ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ Codificação para o nom&e do ficheiro ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ Todos os ficheiros (*) ++ ++ ++ ++ ++ Add only if &newer ++ Adicio&nar se for mais recente ++ ++ ++ ++ Confirm ++ Confirmação ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Tem a certeza de que deseja apagar os ficheiros selecionados? ++ ++ ++ ++ Version: %1 ++ Versão: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Sucesso ++ ++ ++ ++ No errors have been found. ++ Não foram encontrados erros. ++ ++ ++ ++ ++ Error ++ Erro ++ ++ ++ ++ N/A ++ N/D ++ ++ ++ ++ Uncompressed Size: ++ Tamanho sem compressão: ++ ++ ++ ++ Compression Ratio: ++ Rácio de compressão: ++ ++ ++ ++ File name ++ Nome de ficheiro ++ ++ ++ ++ File Type ++ Tipo de ficheiro ++ ++ ++ ++ File Size ++ Tamanho do ficheiro ++ ++ ++ ++ Modified ++ Modificado ++ ++ ++ ++ Encrypted ++ Cifrado ++ ++ ++ ++ %1 files ++ %1 ficheiros ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Palavra-passe ++ ++ ++ ++ Encrypt the file list ++ Cifrar também a lista de ficheiros ++ ++ ++ ++ Show password ++ Mostrar palavra-passe ++ ++ ++ ++ ++ Password: ++ Palavra-passe: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Nota:</b> a palavra-passe será utilizada para cifrar os ficheiros adicionados ao arquivo atual e para decifrar os ficheiros extraídos do arquivo atual. Quando o arquivo for fechado, a palavra-passe será apagada.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Progresso ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Erro ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar comprimido com 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar comprimido com bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar comprimido com bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Comic Book arquivado com Rar (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Comic Book arquivado com Zip (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar comprimido com gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Zip de extração automática (.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar comprimido com lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar comprimido com lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar comprimido com lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar comprimido com lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Windows Imaging Format (.wim) ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar sem compressão (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar comprimido com compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar comprimido com xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ A adicionar ficheiro: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ A extrair ficheiro: ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ A remover ficheiro: ++ ++ ++ ++ Deleting files from archive ++ A apagar ficheiros do arquivo ++ ++ ++ ++ Recompressing archive ++ A comprimir ficheiro ++ ++ ++ ++ Decompressing archive ++ A descomprimir arquivo ++ ++ ++ ++ File not found. ++ Ficheiro não encontrado. ++ ++ ++ ++ Archive type not supported. ++ Arquivo não suportado. ++ ++ ++ ++ Archive not found ++ Arquivo não encontrado ++ ++ ++ ++ You don't have the right permissions. ++ Não tem as permissões necessárias. ++ ++ ++ ++ This archive type cannot be modified ++ Este tipo de arquivo não pode ser modificado ++ ++ ++ ++ You can't add an archive to itself. ++ Não pode adicionar um arquivo para si mesmo. ++ ++ ++ ++ Could not find the volume: %s ++ Não foi possível localizar o volume: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_ru.ts b/src/translations/lxqt-archiver_ru.ts +--- a/src/translations/lxqt-archiver_ru.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_ru.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ О программе ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Архиватор LXQt</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Простой и независимый от рабочего стола архиватор на Qt ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ Авторы ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Программирование: ++* Хон Дженйи (PCMan) <pcman.tw@gmail.com> ++ ++Архиватор LXQt основан на следующих программах: ++* Engrampa из MATE ++* File Roller из Gnome ++ ++ ++ ++ ++ License ++ Лицензия ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ Архиватор LXQt ++ ++Copyright (C) 2018 команда LXQt ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Тип архива не поддерживается. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 (*%1) ++ ++ ++ ++ All supported formats ++ Все поддерживаемые форматы ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Не удалось выполнить команду. ++ ++ ++ ++ Command is not found. ++ Команда не найдена. ++ ++ ++ ++ The command exited abnormally. ++ Команда аварийно завершилась. ++ ++ ++ ++ Password is required. ++ Требуется пароль. ++ ++ ++ ++ Missing volume. ++ Отсутствует том. ++ ++ ++ ++ Bad charset. ++ Неверная кодировка. ++ ++ ++ ++ Unsupported file format. ++ Неподдерживаемый формат файла. ++ ++ ++ ++ Unknown errors happened. ++ Произошли неизвестные ошибки. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ МиБ ++ ++ ++ ++ Split into volumes of ++ Разделить на тома размером ++ ++ ++ ++ Password: ++ Пароль: ++ ++ ++ ++ Encrypt the file list too ++ Зашифровать список файлов ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Все файлы (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Извлечь ++ ++ ++ ++ E&xtract all files ++ &Извлечь все файлы ++ ++ ++ ++ Ex&tract selected files ++ Из&влечь выделенные файлы ++ ++ ++ ++ Actions ++ Действия ++ ++ ++ ++ Re-create folders ++ Воссоздать папки ++ ++ ++ ++ Overwrite existing files ++ Перезаписать существующие файлы ++ ++ ++ ++ Do not extract older files ++ Не извлекать более старые файлы ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Все файлы (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Архиватор файлов ++ ++ ++ ++ Filter Files... ++ Отфильтровать файлы… ++ ++ ++ ++ &File ++ &Файл ++ ++ ++ ++ &Edit ++ &Правка ++ ++ ++ ++ &View ++ &Вид ++ ++ ++ ++ &Help ++ &Справка ++ ++ ++ ++ Main Toolbar ++ Панель инструментов ++ ++ ++ ++ &About ++ &О программе ++ ++ ++ ++ &New ++ Со&здать ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ &Открыть ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ Сохранить &как ++ ++ ++ ++ &Extract ++ &Извлечь ++ ++ ++ ++ &Test ++ Про&тестировать ++ ++ ++ ++ &Properties ++ С&войства ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ &Закрыть ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ &Вырезать ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ &Копировать ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ &Вставить ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ Пере&именовать ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ &Удалить ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ В&ыделить все ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ &Найти ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ &Добавить файлы ++ ++ ++ ++ Add F&older ++ Добавить &папку ++ ++ ++ ++ Pass&word ++ П&ароль ++ ++ ++ ++ &Toolbar ++ Панель &инструментов ++ ++ ++ ++ &Statusbar ++ Строка с&остояния ++ ++ ++ ++ &Directory Tree ++ &Дерево каталогов ++ ++ ++ ++ S&how as Folder ++ По&казать как папку ++ ++ ++ ++ Show &All Files ++ Показать &все файлы ++ ++ ++ ++ St&op ++ П&рервать ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &Обновить ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ &Кодировка имён файлов ++ ++ ++ ++ &View Selected Items ++ Показать выбранные эле&менты ++ ++ ++ ++ &Filter ++ &Фильтр ++ ++ ++ ++ ++ ++ All files (*) ++ Все файлы (*) ++ ++ ++ ++ ++ Add only if &newer ++ Добавлять только более &новые ++ ++ ++ ++ Confirm ++ Подтвердить ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Вы действительно хотите удалить выделенные файлы? ++ ++ ++ ++ Version: %1 ++ Версия: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Удача ++ ++ ++ ++ No errors have been found. ++ Ошибок не найдено. ++ ++ ++ ++ ++ Error ++ Ошибка ++ ++ ++ ++ N/A ++ Непр. ++ ++ ++ ++ Uncompressed Size: ++ Исходный размер: ++ ++ ++ ++ Compression Ratio: ++ Степень сжатия: ++ ++ ++ ++ File name ++ Имя файла ++ ++ ++ ++ File Type ++ Тип файла ++ ++ ++ ++ File Size ++ Размер файла ++ ++ ++ ++ Modified ++ Изменён ++ ++ ++ ++ Encrypted ++ Зашифрован ++ ++ ++ ++ %1 files ++ Файлов: %1 ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Пароль ++ ++ ++ ++ Encrypt the file list ++ Зашифровать список файлов ++ ++ ++ ++ Show password ++ Показать пароль ++ ++ ++ ++ ++ Password: ++ Пароль: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Внимание:</b> пароль будет использован для шифрования файлов, добавляемых в текущий архив, и для расшифровки файлов, извлекаемых из текущего архива. После закрытия архива введенный пароль исчезнет.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ Ход операции ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Ошибка ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ Tar сжатый 7z (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ Tar сжатый bzip2 (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ Tar сжатый bzip (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Комикс сжатый Rar (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Комикс сжатый Zip (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ Tar сжатый gzip (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Самораспаковывающийся zip (.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ Tar сжатый lrzip (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ Tar сжатый lzip (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ Tar сжатый lzma (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ Tar сжатый lzop (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Несжатый Tar (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ Tar сжатый compress (.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ Tar сжатый xz (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Добавление файла: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Извлечение файла: ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ Удаление файла: ++ ++ ++ ++ Deleting files from archive ++ Удаление файлов из архива ++ ++ ++ ++ Recompressing archive ++ Перепаковка архива ++ ++ ++ ++ Decompressing archive ++ Распаковка архива ++ ++ ++ ++ File not found. ++ Файл не найден. ++ ++ ++ ++ Archive type not supported. ++ Тип архива не поддерживается. ++ ++ ++ ++ Archive not found ++ Архив не найден ++ ++ ++ ++ You don't have the right permissions. ++ У вас недостаточно прав. ++ ++ ++ ++ This archive type cannot be modified ++ Архивы этого типа нельзя изменить ++ ++ ++ ++ You can't add an archive to itself. ++ Нельзя добавить архив сам в себя. ++ ++ ++ ++ Could not find the volume: %s ++ Не удалось найти том: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_sv.ts b/src/translations/lxqt-archiver_sv.ts +--- a/src/translations/lxqt-archiver_sv.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_sv.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Om ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Arkiverare</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ En enkel Qt filarkiverare ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ Authors ++ Författare ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programmering: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver härrör från följande program: ++* Engrampa av MATE desktop ++* File Roller av Gnome desktop ++ ++ ++ ++ ++ License ++ Licens ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Arkiverare ++ ++Copyright (C) 2019 LXQt Teamet ++ ++Detta program är fri programvara. Du kan distribuera det och/eller ++ändra det under villkoren i GNU General Public License, publicerad ++av Free Software Foundation, antingen version 2 av licensen, ++eller (om du så önskar) någon senare version. ++ ++Detta program distribueras i hopp om att det ska vara användbart, ++men UTAN NÅGON SOM HELST GARANTI, även utan underförstådd ++garanti om SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ++ÄNDAMÅL. Se GNU General Public License för ytterligare information. ++ ++Du ska ha fått en kopia av GNU General Public License tillsammans ++med detta program. Om inte, skriv till Free Software Foundation, Inc., ++51 Franklin Steet, Fifth Floor, Boston, MA 02110- 1301 USA ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Arkivtypen stöds inte. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 filer (*%1) ++ ++ ++ ++ All supported formats ++ Alla format som stöds ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Misslyckades köra kommandot. ++ ++ ++ ++ Command is not found. ++ Kommandot kunde inte hittas. ++ ++ ++ ++ The command exited abnormally. ++ Kommandot avslutades onormalt. ++ ++ ++ ++ Password is required. ++ Lösenord krävs. ++ ++ ++ ++ Missing volume. ++ Volymen saknas. ++ ++ ++ ++ Bad charset. ++ Felaktigt teckensnitt. ++ ++ ++ ++ Unsupported file format. ++ Filformatet stöds inte. ++ ++ ++ ++ Unknown errors happened. ++ Okända fel uppstod. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ MiB ++ ++ ++ ++ Split into volumes of ++ Dela upp i volymer på ++ ++ ++ ++ Password: ++ Lösenord: ++ ++ ++ ++ Encrypt the file list too ++ Kryptera även fillistan ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Alla filer (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Extrahera ++ ++ ++ ++ E&xtract all files ++ E&xtrahera alla filer ++ ++ ++ ++ Ex&tract selected files ++ Ex&trahera valda filer ++ ++ ++ ++ Actions ++ Åtgärder ++ ++ ++ ++ Re-create folders ++ Återskapa foldrar ++ ++ ++ ++ Overwrite existing files ++ Skriv över befintliga filer ++ ++ ++ ++ Do not extract older files ++ Extrahera inte äldre filer ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Alla filer (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ ++ ++ ++ ++ Filter Files... ++ ++ ++ ++ ++ &File ++ &Fil ++ ++ ++ ++ &Edit ++ &Redigera ++ ++ ++ ++ &View ++ &Visa ++ ++ ++ ++ &Help ++ &Hjälp ++ ++ ++ ++ Main Toolbar ++ Huvudverktygsfält ++ ++ ++ ++ &About ++ &Om ++ ++ ++ ++ &New ++ ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ ++ ++ ++ ++ &Extract ++ ++ ++ ++ ++ &Test ++ ++ ++ ++ ++ &Properties ++ ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ &Kopiera ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ &Klistra in ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &Byt namn ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ &Ta bort ++ ++ ++ ++ Del ++ ++ ++ ++ ++ &Select All ++ ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ ++ ++ ++ ++ Add F&older ++ ++ ++ ++ ++ Pass&word ++ ++ ++ ++ ++ &Toolbar ++ ++ ++ ++ ++ &Statusbar ++ ++ ++ ++ ++ &Directory Tree ++ ++ ++ ++ ++ S&how as Folder ++ ++ ++ ++ ++ Show &All Files ++ ++ ++ ++ ++ St&op ++ ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &Uppdatera ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ Alla filer (*) ++ ++ ++ ++ ++ Add only if &newer ++ ++ ++ ++ ++ Confirm ++ ++ ++ ++ ++ Are you sure you want to delete selected files? ++ ++ ++ ++ ++ Version: %1 ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ ++ ++ ++ ++ No errors have been found. ++ ++ ++ ++ ++ ++ Error ++ ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ ++ ++ ++ ++ Compression Ratio: ++ ++ ++ ++ ++ File name ++ ++ ++ ++ ++ File Type ++ ++ ++ ++ ++ File Size ++ ++ ++ ++ ++ Modified ++ ++ ++ ++ ++ Encrypted ++ ++ ++ ++ ++ %1 files ++ ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ ++ ++ ++ ++ Encrypt the file list ++ ++ ++ ++ ++ Show password ++ ++ ++ ++ ++ ++ Password: ++ Lösenord: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ ++ ++ ++ ++ Deleting files from archive ++ ++ ++ ++ ++ Recompressing archive ++ ++ ++ ++ ++ Decompressing archive ++ ++ ++ ++ ++ File not found. ++ ++ ++ ++ ++ Archive type not supported. ++ Arkivtypen stöds inte. ++ ++ ++ ++ Archive not found ++ ++ ++ ++ ++ You don't have the right permissions. ++ ++ ++ ++ ++ This archive type cannot be modified ++ ++ ++ ++ ++ You can't add an archive to itself. ++ ++ ++ ++ ++ Could not find the volume: %s ++ ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_tr.desktop b/src/translations/lxqt-archiver_tr.desktop +--- a/src/translations/lxqt-archiver_tr.desktop 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_tr.desktop 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,3 @@ ++Name[tr]=LXQt Dosya Arşivleyici ++GenericName[tr]=Dosya Arşivleyici ++Comment[tr]=Dosya Arşivleyici +diff -Nuar a/src/translations/lxqt-archiver_tr.ts b/src/translations/lxqt-archiver_tr.ts +--- a/src/translations/lxqt-archiver_tr.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_tr.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Hakkında ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Arşivleyici</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Basit ve masaüstü etkileşimli Qt dosya arşivleyici ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ ++ Authors ++ Yazarlar ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Programlama: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver aşağıdaki programlardan türetilmiştir: ++* Engrampa (MATE masaüstü) ++* File Roller (Gnome masaüstü) ++ ++ ++ ++ ++ License ++ Lisans ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiver ++ ++Telif Hakkı (C) 2018 LXQt Ekibi ++ ++Bu program ücretsiz bir yazılımdır; Özgür Yazılım Vakfı tarafından ++yayınlandığı gibi GNU Genel Kamu Lisansı (Lisansın ya Sürüm 2 ++ya da (seçiminize göre) dah yeni sürümleri) şartlarına göre yeniden ++dağıtabilir ve değiştirebilirsiniz. ++ ++Bu programın faydalı olacağını umuyoruz, ama HİÇBİR GARANTİSİ ++YOKTUR; SATILABİLİRLİK veya BELİRLİ BİR AMACA UYGUNLUK ++garantisi de yoktur. Daha fazla bilgi için GNU Genel Kamu Lisansı'na ++bakınız. ++ ++Bu programla birlikte GNU Genel Kamu Lisansının bir kopyasını ++almış olmalısınız; Yoksa, Özgür Yazılım Vakfı Şirketi'ne yazın. ++51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Arşiv türü desteklenmiyor. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 dosyalar (*%1) ++ ++ ++ ++ All supported formats ++ Desteklenen tüm biçimler ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Komut çalıştırılamadı. ++ ++ ++ ++ Command is not found. ++ Komut bulunamadı. ++ ++ ++ ++ The command exited abnormally. ++ Komut anormal olarak çıktı. ++ ++ ++ ++ Password is required. ++ Parola gerekli. ++ ++ ++ ++ Missing volume. ++ Eksik parça. ++ ++ ++ ++ Bad charset. ++ Kötü karakter. ++ ++ ++ ++ Unsupported file format. ++ Desteklenmeyen dosya biçimi. ++ ++ ++ ++ Unknown errors happened. ++ Bilinmeyen hatalar oluştu. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ ++ ++ ++ ++ Split into volumes of ++ Parçalara böl ++ ++ ++ ++ Password: ++ Parola: ++ ++ ++ ++ Encrypt the file list too ++ Dosya listesini de şifrele ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Tüm dosyalar (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Çıkart ++ ++ ++ ++ E&xtract all files ++ Tüm dosyaları çı&kart ++ ++ ++ ++ Ex&tract selected files ++ Seçilen dosyaları çı&kart ++ ++ ++ ++ Actions ++ Eylemler ++ ++ ++ ++ Re-create folders ++ Dizinleri yeniden oluştur ++ ++ ++ ++ Overwrite existing files ++ Varolan dosyaların üzerine yaz ++ ++ ++ ++ Do not extract older files ++ Eski dosyaları çıkartma ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Tüm dosyalar (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Dosya Arşivleyici ++ ++ ++ ++ Filter Files... ++ Dosyaları Süz... ++ ++ ++ ++ &File ++ &Dosya ++ ++ ++ ++ &Edit ++ &Düzenle ++ ++ ++ ++ &View ++ &Görünüm ++ ++ ++ ++ &Help ++ &Yardım ++ ++ ++ ++ Main Toolbar ++ Ana Araç Çubuğu ++ ++ ++ ++ &About ++ &Hakkında ++ ++ ++ ++ &New ++ &Yeni ++ ++ ++ ++ Ctrl+N ++ ++ ++ ++ ++ &Open ++ &Açık ++ ++ ++ ++ Ctrl+O ++ ++ ++ ++ ++ Save &As ++ Farklı K&aydet ++ ++ ++ ++ &Extract ++ &Çıkart ++ ++ ++ ++ &Test ++ &Test Et ++ ++ ++ ++ &Properties ++ &Özellikler ++ ++ ++ ++ Alt+Return ++ ++ ++ ++ ++ &Close ++ &Kapat ++ ++ ++ ++ Ctrl+Q ++ ++ ++ ++ ++ Cu&t ++ Ke&s ++ ++ ++ ++ Ctrl+X ++ ++ ++ ++ ++ &Copy ++ &Kopyala ++ ++ ++ ++ Ctrl+C ++ ++ ++ ++ ++ &Paste ++ &Yapıştır ++ ++ ++ ++ Ctrl+V ++ ++ ++ ++ ++ &Rename ++ &Yeniden Adlandır ++ ++ ++ ++ F2 ++ ++ ++ ++ ++ &Delete ++ &Sil ++ ++ ++ ++ Del ++ Sil ++ ++ ++ ++ &Select All ++ &Tümünü Seç ++ ++ ++ ++ Ctrl+A ++ ++ ++ ++ ++ &Find ++ &Bul ++ ++ ++ ++ ++ Ctrl+F ++ ++ ++ ++ ++ &Add Files ++ &Dosya Ekle ++ ++ ++ ++ Add F&older ++ &Dizin Ekle ++ ++ ++ ++ Pass&word ++ &Parola ++ ++ ++ ++ &Toolbar ++ &Araç Çubuğu ++ ++ ++ ++ &Statusbar ++ &Durum Çubuğu ++ ++ ++ ++ &Directory Tree ++ &Dizin Ağacı ++ ++ ++ ++ S&how as Folder ++ Dizin Olarak Gö&ster ++ ++ ++ ++ Show &All Files ++ &Tüm Dosyaları Göster ++ ++ ++ ++ St&op ++ &Dur ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ &Yeniden Yükle ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ Dosya Adı &Kodlama ++ ++ ++ ++ &View Selected Items ++ Seçilen Ögeleri &Göster ++ ++ ++ ++ &Filter ++ &Süz ++ ++ ++ ++ ++ ++ All files (*) ++ Tüm dosyalar (*) ++ ++ ++ ++ ++ Add only if &newer ++ Sadece &yeniyse ekle ++ ++ ++ ++ Confirm ++ Doğrula ++ ++ ++ ++ Are you sure you want to delete selected files? ++ Seçilen dosyaları silmek istediğinizden emin misiniz? ++ ++ ++ ++ Version: %1 ++ Sürüm: %1 ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ Başarılı ++ ++ ++ ++ No errors have been found. ++ Hata bulunamadı. ++ ++ ++ ++ ++ Error ++ Hata ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ Sıkıştırılmamış Boyut: ++ ++ ++ ++ Compression Ratio: ++ Sıkıştırma Oranı: ++ ++ ++ ++ File name ++ Dosya adı ++ ++ ++ ++ File Type ++ Dosya Türü ++ ++ ++ ++ File Size ++ Dosya Boyutu ++ ++ ++ ++ Modified ++ Değiştirildi ++ ++ ++ ++ Encrypted ++ Şifreli ++ ++ ++ ++ %1 files ++ dosyalar %1 ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ Parola ++ ++ ++ ++ Encrypt the file list ++ Dosya listesini şifrele ++ ++ ++ ++ Show password ++ Parolayı göster ++ ++ ++ ++ ++ Password: ++ Parola: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ <i><b>Not:</b> Parola mevcut arşive eklediğiniz dosyaları şifrelemek ve dosyaları çıkartırken şifreleri çözmek için kullanılacaktır. Arşiv kapatıldığında parola silinecektir.</i> ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ İlerleme ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ Hata ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ 7z ile sıkıştırılmış tar (.tar.7z) ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ bzip2 ile sıkıştırılmış tar (.tar.bz2) ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ bzip ile sıkıştırılmış tar (.tar.bz) ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ Rar Arşivli Çizgi Roman Kitabı (.cbr) ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ Zip Arşivli Çizgi Roman Kitabı (.cbz) ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ gzip ile sıkıştırılmış tar (.tar.gz) ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ Kendi çalışan zip (.exe) ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ lrzip ile sıkıştırılmış tar (.tar.lrz) ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ lzip ile sıkıştırılmış tar (.tar.lz) ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ lzma ile sıkıştırılmış tar (.tar.lzma) ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ lzop ile sıkıştırılmış tar (.tar.lzo) ++ ++ ++ ++ Windows Imaging Format (.wim) ++ Windows Resim Biçimi (.wim) ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ Tar sıkıştırılmamış (.tar) ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ compress ile sıkıştırılmış tar (.tar.Z) ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ xz ile sıkıştırılmış tar (.tar.xz) ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ Dosya ekleniyor: ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ Dosya çıkartılıyor: ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ Dosya siliniyor: ++ ++ ++ ++ Deleting files from archive ++ Dosyalar arşivden siliniyor ++ ++ ++ ++ Recompressing archive ++ Arşiv yeniden sıkıştırılıyor ++ ++ ++ ++ Decompressing archive ++ Arşiv açılıyor ++ ++ ++ ++ File not found. ++ Dosya bulunamadı. ++ ++ ++ ++ Archive type not supported. ++ Arşiv türü desteklenmiyor. ++ ++ ++ ++ Archive not found ++ Arşiv bulunamadı ++ ++ ++ ++ You don't have the right permissions. ++ Yetkiniz yok. ++ ++ ++ ++ This archive type cannot be modified ++ Bu arşiv türü değiştirilemez ++ ++ ++ ++ You can't add an archive to itself. ++ Arşivi kendisine ekleyemezsiniz. ++ ++ ++ ++ Could not find the volume: %s ++ Parça bulunamadı: %s ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver.ts b/src/translations/lxqt-archiver.ts +--- a/src/translations/lxqt-archiver.ts 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/translations/lxqt-archiver.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -88,7 +88,7 @@ + ArchiverError + + +- Fail to execute the command. ++ Failed to execute the command. + + + +@@ -151,6 +151,14 @@ + + + ++ CreateFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ + ExtractArchiveExtraWidget + + +@@ -189,323 +197,348 @@ + + + ++ ExtractFileDialog ++ ++ ++ All files (*) ++ ++ ++ ++ + MainWindow + + +- ++ + File Archiver + + + +- ++ ++ Filter Files... ++ ++ ++ ++ + &File + + + +- ++ + &Edit + + + +- ++ + &View + + + +- ++ + &Help + + + +- +- toolBar ++ ++ Main Toolbar + + + +- ++ + &About + + + +- ++ + &New + + + +- ++ + Ctrl+N + + + +- ++ + &Open + + + +- ++ + Ctrl+O + + + +- ++ + Save &As + + + +- ++ + &Extract + + + +- ++ + &Test + + + +- ++ + &Properties + + + +- ++ + Alt+Return + + + +- ++ + &Close + + + +- ++ + Ctrl+Q + + + +- ++ + Cu&t + + + +- ++ + Ctrl+X + + + +- ++ + &Copy + + + +- ++ + Ctrl+C + + + +- ++ + &Paste + + + +- ++ + Ctrl+V + + + +- ++ + &Rename + + + +- ++ + F2 + + + +- ++ + &Delete + + + +- ++ + Del + + + +- ++ + &Select All + + + +- ++ + Ctrl+A + + + +- ++ + &Find + + + +- ++ ++ + Ctrl+F + + + +- ++ + &Add Files + + + +- ++ + Add F&older + + + +- ++ + Pass&word + + + +- ++ + &Toolbar + + + +- ++ + &Statusbar + + + +- ++ + &Directory Tree + + + +- ++ + S&how as Folder + + + +- ++ + Show &All Files + + + +- ++ + St&op + + + +- ++ + Esc + + + +- ++ + &Reload + + + +- ++ + F5 + + + +- ++ + Filename &Encoding + + + +- +- +- ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ + All files (*) + + + +- +- ++ ++ + Add only if &newer + + + +- ++ + Confirm + + + +- ++ + Are you sure you want to delete selected files? + + + +- ++ + Version: %1 + + + +- ++ + %p % + + + +- ++ + Success + + + +- +- No errors are found. ++ ++ No errors have been found. + + + +- ++ ++ + Error + + + +- ++ + N/A + + + +- ++ + Uncompressed Size: + + + +- ++ + Compression Ratio: + + + +- ++ + File name + + + +- ++ + File Type + + + +- ++ + File Size + + + +- ++ + Modified + + + +- ++ + Encrypted + + + +- ++ + %1 files + + +@@ -556,8 +589,8 @@ + + QObject + +- +- ++ ++ + Error + + +@@ -715,7 +748,7 @@ + + + +- ++ + Adding file: + + +@@ -723,7 +756,7 @@ + + + +- ++ + Extracting file: + + +@@ -789,20 +822,4 @@ + + + +- +- CreateFileDialog +- +- +- All files (*) +- +- +- +- +- ExtractFileDialog +- +- +- All files (*) +- +- +- + +diff -Nuar a/src/translations/lxqt-archiver_vi.ts b/src/translations/lxqt-archiver_vi.ts +--- a/src/translations/lxqt-archiver_vi.ts 1970-01-01 02:00:00.000000000 +0200 ++++ b/src/translations/lxqt-archiver_vi.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -0,0 +1,847 @@ ++ ++ ++ ++ ++ AboutDialog ++ ++ ++ About ++ Thông tin ++ ++ ++ ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt Archiver</span></p></body></html> ++ <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">Quản lý lưu trữ LXQt</span></p></body></html> ++ ++ ++ ++ A simple and desktop-agnostic Qt file archiver ++ Một trình lưu trữ tập tin đơn giản viết bằng Qt ++ ++ ++ ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> ++ ++ ++ ++ Authors ++ Tác giả ++ ++ ++ ++ Programming: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt Archiver is derived from the following programs: ++* Engrampa of MATE desktop ++* File Roller of Gnome desktop ++ ++ Lập trình: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++Quản lý lưu trữ LXQt có nguồn gốc từ những chương trình sau: ++* Engrampa của MATE ++* File Roller của Gnome ++ ++ ++ ++ ++ License ++ Giấy phép ++ ++ ++ ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ LXQt Archiver ++ ++Copyright (C) 2018 the LXQt Team ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ ++ ++ ++ Archiver ++ ++ ++ Archive type not supported. ++ Loại lưu trữ không được hỗ trợ. ++ ++ ++ ++ *%1 files (*%1) ++ *%1 tập tin (*%1) ++ ++ ++ ++ All supported formats ++ Tất cả các định dạng được hỗ trợ ++ ++ ++ ++ ArchiverError ++ ++ ++ Failed to execute the command. ++ Thư thi câu lệnh thất bại. ++ ++ ++ ++ Command is not found. ++ Không tìm thấy câu lệnh. ++ ++ ++ ++ The command exited abnormally. ++ Câu lệnh kết thúc một cách bất thường. ++ ++ ++ ++ Password is required. ++ Yêu cầu mật khẩu. ++ ++ ++ ++ Missing volume. ++ Thiếu volume. ++ ++ ++ ++ Bad charset. ++ Bộ ký tự không tốt. ++ ++ ++ ++ Unsupported file format. ++ Định dạng tập tin không được hỗ trợ. ++ ++ ++ ++ Unknown errors happened. ++ Lỗi không biết đã xảy ra. ++ ++ ++ ++ CreateArchiveExtraWidget ++ ++ ++ MiB ++ MiB ++ ++ ++ ++ Split into volumes of ++ Chia vào những volume của ++ ++ ++ ++ Password: ++ Mật khẩu: ++ ++ ++ ++ Encrypt the file list too ++ Mã hỏa danh sách tập tin nữa ++ ++ ++ ++ CreateFileDialog ++ ++ ++ All files (*) ++ Tất cả tập tin (*) ++ ++ ++ ++ ExtractArchiveExtraWidget ++ ++ ++ Extract ++ Giải nén ++ ++ ++ ++ E&xtract all files ++ Giải nén tất cả tập tin ++ ++ ++ ++ Ex&tract selected files ++ Giải nén tập tin đã lựa chọn ++ ++ ++ ++ Actions ++ Hành động ++ ++ ++ ++ Re-create folders ++ Tạo lại thư mục ++ ++ ++ ++ Overwrite existing files ++ Ghi đè tập tin đã tồn tại ++ ++ ++ ++ Do not extract older files ++ Không giải nén tập tin cũ hơn ++ ++ ++ ++ ExtractFileDialog ++ ++ ++ All files (*) ++ Tất cả tập tin (*) ++ ++ ++ ++ MainWindow ++ ++ ++ ++ File Archiver ++ Lưu trữ tập tin ++ ++ ++ ++ Filter Files... ++ Lọc tập tin... ++ ++ ++ ++ &File ++ &Tệp ++ ++ ++ ++ &Edit ++ &Chỉnh sửa ++ ++ ++ ++ &View ++ &Hiển thị ++ ++ ++ ++ &Help ++ &Trợ giúp ++ ++ ++ ++ Main Toolbar ++ Thanh công cụ chính ++ ++ ++ ++ &About ++ &Thông tin ++ ++ ++ ++ &New ++ &Mới ++ ++ ++ ++ Ctrl+N ++ Ctrl+N ++ ++ ++ ++ &Open ++ &Mở ++ ++ ++ ++ Ctrl+O ++ Ctrl+O ++ ++ ++ ++ Save &As ++ Lưu &dưới dạng ++ ++ ++ ++ &Extract ++ &Giải nén ++ ++ ++ ++ &Test ++ &Kiểm tra ++ ++ ++ ++ &Properties ++ &Thuộc tính ++ ++ ++ ++ Alt+Return ++ Alt+Return ++ ++ ++ ++ &Close ++ &Đóng ++ ++ ++ ++ Ctrl+Q ++ Ctrl+Q ++ ++ ++ ++ Cu&t ++ Cắ&t ++ ++ ++ ++ Ctrl+X ++ Ctrl+X ++ ++ ++ ++ &Copy ++ &Sao chép ++ ++ ++ ++ Ctrl+C ++ Ctrl+C ++ ++ ++ ++ &Paste ++ &Dán ++ ++ ++ ++ Ctrl+V ++ Ctrl+V ++ ++ ++ ++ &Rename ++ &Đổi tên ++ ++ ++ ++ F2 ++ F2 ++ ++ ++ ++ &Delete ++ &Xóa ++ ++ ++ ++ Del ++ Del ++ ++ ++ ++ &Select All ++ &Chọn tất cả ++ ++ ++ ++ Ctrl+A ++ Ctrl+A ++ ++ ++ ++ &Find ++ &Tìm kiếm ++ ++ ++ ++ ++ Ctrl+F ++ Ctrl+F ++ ++ ++ ++ &Add Files ++ &Thêm tập tin ++ ++ ++ ++ Add F&older ++ Thêm thư &mục ++ ++ ++ ++ Pass&word ++ Mật &khẩu ++ ++ ++ ++ &Toolbar ++ &Thanh công cụ ++ ++ ++ ++ &Statusbar ++ &Thanh trạng thái ++ ++ ++ ++ &Directory Tree ++ &Cây thư mục ++ ++ ++ ++ S&how as Folder ++ ++ ++ ++ ++ Show &All Files ++ ++ ++ ++ ++ St&op ++ ++ ++ ++ ++ Esc ++ ++ ++ ++ ++ &Reload ++ ++ ++ ++ ++ F5 ++ ++ ++ ++ ++ Filename &Encoding ++ ++ ++ ++ ++ &View Selected Items ++ ++ ++ ++ ++ &Filter ++ ++ ++ ++ ++ ++ ++ All files (*) ++ ++ ++ ++ ++ ++ Add only if &newer ++ ++ ++ ++ ++ Confirm ++ ++ ++ ++ ++ Are you sure you want to delete selected files? ++ ++ ++ ++ ++ Version: %1 ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ Success ++ ++ ++ ++ ++ No errors have been found. ++ ++ ++ ++ ++ ++ Error ++ ++ ++ ++ ++ N/A ++ ++ ++ ++ ++ Uncompressed Size: ++ ++ ++ ++ ++ Compression Ratio: ++ ++ ++ ++ ++ File name ++ ++ ++ ++ ++ File Type ++ ++ ++ ++ ++ File Size ++ ++ ++ ++ ++ Modified ++ ++ ++ ++ ++ Encrypted ++ ++ ++ ++ ++ %1 files ++ ++ ++ ++ ++ PasswordDialog ++ ++ ++ ++ Password ++ ++ ++ ++ ++ Encrypt the file list ++ ++ ++ ++ ++ Show password ++ ++ ++ ++ ++ ++ Password: ++ Mật khẩu: ++ ++ ++ ++ <i><b>Note:</b> the password will be used to encrypt files you add to the current archive, and to decrypt files you extract from the current archive. When the archive is closed the password will be deleted.</i> ++ ++ ++ ++ ++ ProgressDialog ++ ++ ++ Progress ++ ++ ++ ++ ++ %p % ++ ++ ++ ++ ++ QObject ++ ++ ++ ++ Error ++ ++ ++ ++ ++ 7-Zip (.7z) ++ ++ ++ ++ ++ Tar compressed with 7z (.tar.7z) ++ ++ ++ ++ ++ Ace (.ace) ++ ++ ++ ++ ++ Ar (.a) ++ ++ ++ ++ ++ Ar (.ar) ++ ++ ++ ++ ++ Arj (.arj) ++ ++ ++ ++ ++ Tar compressed with bzip2 (.tar.bz2) ++ ++ ++ ++ ++ Tar compressed with bzip (.tar.bz) ++ ++ ++ ++ ++ Cabinet (.cab) ++ ++ ++ ++ ++ Rar Archived Comic Book (.cbr) ++ ++ ++ ++ ++ Zip Archived Comic Book (.cbz) ++ ++ ++ ++ ++ Tar compressed with gzip (.tar.gz) ++ ++ ++ ++ ++ Ear (.ear) ++ ++ ++ ++ ++ Self-extracting zip (.exe) ++ ++ ++ ++ ++ Jar (.jar) ++ ++ ++ ++ ++ Lha (.lzh) ++ ++ ++ ++ ++ Lrzip (.lrz) ++ ++ ++ ++ ++ Tar compressed with lrzip (.tar.lrz) ++ ++ ++ ++ ++ Tar compressed with lzip (.tar.lz) ++ ++ ++ ++ ++ Tar compressed with lzma (.tar.lzma) ++ ++ ++ ++ ++ Tar compressed with lzop (.tar.lzo) ++ ++ ++ ++ ++ Windows Imaging Format (.wim) ++ ++ ++ ++ ++ Rar (.rar) ++ ++ ++ ++ ++ Tar uncompressed (.tar) ++ ++ ++ ++ ++ Tar compressed with compress (.tar.Z) ++ ++ ++ ++ ++ War (.war) ++ ++ ++ ++ ++ Xz (.xz) ++ ++ ++ ++ ++ Tar compressed with xz (.tar.xz) ++ ++ ++ ++ ++ Zoo (.zoo) ++ ++ ++ ++ ++ Zip (.zip) ++ ++ ++ ++ ++ ++ ++ ++ Adding file: ++ ++ ++ ++ ++ ++ ++ ++ Extracting file: ++ ++ ++ ++ ++ %d %B %Y, %H:%M ++ ++ ++ ++ ++ ++ Removing file: ++ ++ ++ ++ ++ Deleting files from archive ++ ++ ++ ++ ++ Recompressing archive ++ ++ ++ ++ ++ Decompressing archive ++ ++ ++ ++ ++ File not found. ++ ++ ++ ++ ++ Archive type not supported. ++ ++ ++ ++ ++ Archive not found ++ ++ ++ ++ ++ You don't have the right permissions. ++ ++ ++ ++ ++ This archive type cannot be modified ++ ++ ++ ++ ++ You can't add an archive to itself. ++ ++ ++ ++ ++ Could not find the volume: %s ++ ++ ++ ++ +diff -Nuar a/src/translations/lxqt-archiver_zh_TW.ts b/src/translations/lxqt-archiver_zh_TW.ts +--- a/src/translations/lxqt-archiver_zh_TW.ts 2018-07-05 21:33:32.000000000 +0300 ++++ b/src/translations/lxqt-archiver_zh_TW.ts 2020-04-02 13:56:22.000000000 +0300 +@@ -14,18 +14,14 @@ + <html><head/><body><p><span style=" font-size:16pt; font-weight:600;">LXQt 壓縮程式</span></p></body></html> + + +- A simple and desktop-agnostic Qt file archiver +- 一個簡單且不限桌面環境的 Qt 檔案壓縮程式 +- +- + + A simple and desktop-agnostic Qt file archiver +- 一個簡單且不限桌面環境的 Qt 檔案壓縮程式 ++ 簡潔且不限桌面環境的 Qt 檔案壓縮程式 + + + + <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> +- ++ <html><head/><body><p><a href="https://lxqt.org/"><span style=" text-decoration: underline; color:#0000ff;">https://lxqt.org/</span></a></p></body></html> + + + +@@ -41,7 +37,13 @@ + * Engrampa of MATE desktop + * File Roller of Gnome desktop + +- ++ 開發者: ++* Hong Jen Yee (PCMan) <pcman.tw@gmail.com> ++ ++LXQt 壓縮程式基於以下兩個軟體: ++* MATE 桌面環境的 Engrampa 壓縮程式 ++* GNOME 桌面環境的 File Roller ++ + + + +@@ -67,7 +69,23 @@ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +- ++ LXQt 壓縮程式 ++ ++版權 (C) 2018 LXQt 團隊 ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License ++as published by the Free Software Foundation; either version 2 ++of the License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, ++but WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++GNU General Public License for more details. ++ ++You should have received a copy of the GNU General Public License ++along with this program; if not, write to the Free Software ++Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + + +@@ -75,7 +93,7 @@ + + + Archive type not supported. +- 檔案格式不支援 ++ 不支援該壓縮檔格式。 + + + +@@ -92,43 +110,43 @@ + ArchiverError + + +- Fail to execute the command. +- 無法執行指令 ++ Failed to execute the command. ++ 無法執行此命令. + + + + Command is not found. +- 找不到指令 ++ 找不到指令。 + + + + The command exited abnormally. +- 命令異常結束 ++ 命令異常結束。 + + + + Password is required. +- 需要密碼 ++ 密碼為必須項目。 + + + + Missing volume. +- 卷遺失 ++ 儲存區遺失。 + + + + Bad charset. +- 損壞的字元集 ++ 損壞的字元集。 + + + + Unsupported file format. +- 不支援的檔案格式 ++ 不支援的檔案格式。 + + + + Unknown errors happened. +- 發生未知錯誤 ++ 發生未知錯誤。 + + + +@@ -155,6 +173,14 @@ + + + ++ CreateFileDialog ++ ++ ++ All files (*) ++ 所有檔案 (*) ++ ++ ++ + ExtractArchiveExtraWidget + + +@@ -193,323 +219,348 @@ + + + ++ ExtractFileDialog ++ ++ ++ All files (*) ++ 所有檔案 (*) ++ ++ ++ + MainWindow + + +- ++ + File Archiver + 檔案壓縮程式 + + +- ++ ++ Filter Files... ++ 篩選檔案... ++ ++ ++ + &File + 檔案(&F) + + +- ++ + &Edit + 編輯(&E) + + +- ++ + &View + 檢視(&V) + + +- ++ + &Help + 說明(&H) + + +- +- toolBar +- 工具列 ++ ++ Main Toolbar ++ 主要工具列 + + +- ++ + &About + 關於(&A) + + +- ++ + &New + 新增(&N) + + +- ++ + Ctrl+N + + + +- ++ + &Open + 開啟(&O) + + +- ++ + Ctrl+O + + + +- ++ + Save &As + 另存新檔(&A) + + +- ++ + &Extract + 解壓縮(E) + + +- ++ + &Test + 測試(&T) + + +- ++ + &Properties + 屬性(&P) + + +- ++ + Alt+Return + + + +- ++ + &Close + 關閉(&C) + + +- ++ + Ctrl+Q + + + +- ++ + Cu&t +- ++ 剪下(&T) + + +- ++ + Ctrl+X +- ++ Ctrl+X + + +- ++ + &Copy +- ++ 複製 (&C) + + +- ++ + Ctrl+C +- ++ Ctrl+C + + +- ++ + &Paste +- ++ 貼上(&P) + + +- ++ + Ctrl+V +- ++ Ctrl+V + + +- ++ + &Rename +- ++ 重新命名(&R) + + +- ++ + F2 +- ++ F2 + + +- ++ + &Delete + 刪除(&D) + + +- ++ + Del + + + +- ++ + &Select All + 全選(&S) + + +- ++ + Ctrl+A + + + +- ++ + &Find +- ++ 尋找(&F) + + +- ++ ++ + Ctrl+F +- ++ Ctrl+F + + +- ++ + &Add Files + 加入檔案(&A) + + +- ++ + Add F&older + 加入資料夾(&O) + + +- ++ + Pass&word + 密碼(&W) + + +- ++ + &Toolbar + 工具列(&T) + + +- ++ + &Statusbar + 狀態列(&S) + + +- ++ + &Directory Tree + 目錄樹(&D) + + +- ++ + S&how as Folder + 顯示成資料夾(&F) + + +- ++ + Show &All Files + 顯示所有檔案(&A) + + +- ++ + St&op + 停止(&O) + + +- ++ + Esc +- ++ 退出(Esc) + + +- ++ + &Reload +- 重新載入(&R) ++ 重新讀取(&R) + + +- ++ + F5 + + + +- ++ + Filename &Encoding +- ++ 檔案名稱編碼(&E) ++ ++ ++ ++ &View Selected Items ++ 檢視所選項目(&V) + + +- +- +- ++ ++ &Filter ++ 篩選(&F) ++ ++ ++ ++ ++ + All files (*) + 所有檔案 (*) + + +- +- ++ ++ + Add only if &newer + 只新增比較新的檔案(&N) + + +- ++ + Confirm + 確認 + + +- ++ + Are you sure you want to delete selected files? + 你確定要刪除選取的檔案? + + +- ++ + Version: %1 + 版本: %1 + + +- ++ + %p % + + + +- ++ + Success + 成功 + + +- +- No errors are found. +- 沒有發現任何錯誤 ++ ++ No errors have been found. ++ 未發現錯誤. + + +- ++ ++ + Error + 錯誤 + + +- ++ + N/A + 不可用 + + +- ++ + Uncompressed Size: + 壓縮前大小: + + +- ++ + Compression Ratio: + 壓縮比率: + + +- ++ + File name + 檔案名稱 + + +- ++ + File Type + 檔案類型 + + +- ++ + File Size + 檔案大小 + + +- ++ + Modified + 修改 + + +- ++ + Encrypted + 加密 + + +- ++ + %1 files + %1 檔案 + +@@ -536,7 +587,7 @@ + + + Password: +- 密碼: ++ 密碼: + + + +@@ -560,19 +611,15 @@ + + QObject + +- All files (*) +- 所有檔案 (*) +- +- +- +- ++ ++ + Error + 錯誤 + + + + 7-Zip (.7z) +- ++ 7-Zip (.7z) + + + +@@ -582,22 +629,22 @@ + + + Ace (.ace) +- ++ Ace (.ace) 檔案 + + + + Ar (.a) +- ++ Ar (.a) + + + + Ar (.ar) +- ++ Ar (.ar) + + + + Arj (.arj) +- ++ Arj (.arj) 檔案 + + + +@@ -607,123 +654,123 @@ + + + Tar compressed with bzip (.tar.bz) +- ++ 使用 bzip 壓縮的 Tar (.tar.bz) + + + + Cabinet (.cab) +- ++ Cabinet (.cab) 檔案 + + + + Rar Archived Comic Book (.cbr) +- ++ 使用 RAR 封存的漫畫書 (.cbr) + + + + Zip Archived Comic Book (.cbz) +- ++ 使用 ZIP 封存的漫畫書 (.cbz) + + + + Tar compressed with gzip (.tar.gz) +- ++ 使用 gzip 壓縮的 Tar (.tar.gz) + + + + Ear (.ear) +- ++ Ear (.ear) 檔案 + + + + Self-extracting zip (.exe) +- ++ 自解壓 ZIP (.exe) + + + + Jar (.jar) +- ++ Jar (.jar) 檔案 + + + + Lha (.lzh) +- ++ Lha (.lzh) 檔案 + + + + Lrzip (.lrz) +- ++ Lrzip (.lrz) 檔案 + + + + Tar compressed with lrzip (.tar.lrz) +- ++ 使用 lrzip 壓縮的 Tar (.tar.lrz) + + + + Tar compressed with lzip (.tar.lz) +- ++ 使用 lzip 壓縮的 Tar (.tar.lz) + + + + Tar compressed with lzma (.tar.lzma) +- ++ 使用 lzma 壓縮的 Tar (.tar.lzma) + + + + Tar compressed with lzop (.tar.lzo) +- ++ 使用 lzop 壓縮的 Tar (.tar.lzo) + + + + Windows Imaging Format (.wim) +- ++ Windows 鏡像格式 (.wim) + + + + Rar (.rar) +- ++ Rar (.rar) 檔案 + + + + Tar uncompressed (.tar) +- ++ 未壓縮 Tar (.tar) + + + + Tar compressed with compress (.tar.Z) +- ++ 使用 compress 壓縮的 Tar (.tar.Z) + + + + War (.war) +- ++ War (.war) + + + + Xz (.xz) +- ++ Xz (.xz) + + + + Tar compressed with xz (.tar.xz) +- ++ 使用 xz 壓縮的 Tar (.tar.xz) + + + + Zoo (.zoo) +- ++ Zoo (.zoo) + + + + Zip (.zip) +- ++ Zip (.zip) + + + + + +- ++ + Adding file: + 正在加入檔案: + +@@ -731,7 +778,7 @@ + + + +- ++ + Extracting file: + 正在解壓縮檔案: + +@@ -764,12 +811,12 @@ + + + File not found. +- 找不到檔案 ++ 找不到檔案。 + + + + Archive type not supported. +- 檔案格式不支援 ++ 壓縮檔案格式不支援。 + + + +@@ -779,7 +826,7 @@ + + + You don't have the right permissions. +- 你沒有正確的權限 ++ 沒有正確權限。 + + + +@@ -789,7 +836,7 @@ + + + You can't add an archive to itself. +- 你不能把壓縮檔加入到它自己 ++ 不能把壓縮檔加入到它自己。 + + + +@@ -797,20 +844,4 @@ + 找不到檔案分片: %s + + +- +- CreateFileDialog +- +- +- All files (*) +- 所有檔案 (*) +- +- +- +- ExtractFileDialog +- +- +- All files (*) +- 所有檔案 (*) +- +- + diff --git a/desktop/lxqt/lxqt-archiver/pspec.xml b/desktop/lxqt/lxqt-archiver/pspec.xml index 0583f3a1c5..91e8a0e6ea 100644 --- a/desktop/lxqt/lxqt-archiver/pspec.xml +++ b/desktop/lxqt/lxqt-archiver/pspec.xml @@ -16,15 +16,18 @@ https://github.com/lxqt/lxqt-archiver/archive/0.0.96.tar.gz glib2-devel - json-glib-devel - extra-cmake-modules - qt5-x11extras-devel - libfm-qt-devel - lxqt-build-tools - menu-cache-devel qt5-linguist libexif-devel + json-glib-devel + menu-cache-devel + extra-cmake-modules + qt5-x11extras-devel + libfm-qt-devel + lxqt-build-tools + + 489912eee0b99d566010a898005158fda8315e8e.patch + @@ -38,6 +41,7 @@ /usr/bin + /usr/lib /usr/libexec /usr/share/lxqt-archiver /usr/share/applications