...
 
Commits (47)
version 3.35.1
--------------
New features and user visible changes:
* Support for Zstandard compressed files/archives. (Felix Riemann)
* Allow to directly open .tar.lzo files. (Felix Riemann)
* libarchive: implemented read support for 7z. (Peter Keresztes Schmidt)
* Provide a development variant of the app icon. (Jakub Steiner) (!12)
* Converted README to README.md (Roger)
* Remove file-roller from the recommended applications for ePub
files. (Bastien Nocera)
Bugs fixed:
* Removed deprecated functions. (Peter Keresztes Schmidt)
* Add application/x-xar as a supported mime-type. (Bastien Nocera) (!50)
New or updated application translations:
* Basque (Asier Sarasua Garmendia)
* Japanese (Ryuta Fujii)
version 3.32.2
--------------
Bugs fixed:
* Prevents CTRL+F to be activated twice for a single key press.
(Andrea Azzarone) (!37)
New or updated application translations:
* Basque (Asier Sarasua Garmendia)
* Catalan (Gil Forcada)
* Chinese (China) (Dingzhong Chen)
* Danish (Alan Mortensen)
* Icelandic (Sveinn í Felli)
* Persian (Danial Behzadi)
* Spanish - Spain (Daniel Mustieles)
New or updated manual translations:
* français (Charles Monzat)
version 3.32.1 version 3.32.1
-------------- --------------
......
* File Roller *
an archive manager utility for the
GNOME Environment.
* What is it ?
File Roller is an archive manager for the GNOME environment. This means
that you can create and modify archives; view the content of an archive;
view and modify a file contained in the archive; extract files from the
archive.
File Roller is only a front-end (a graphical interface) to archiving programs
like tar and zip. The supported file types are :
* 7-Zip Compressed File (.7z)
* WinAce Compressed File (.ace)
* ALZip Compressed File (.alz)
* AIX Small Indexed Archive (.ar)
* ARJ Compressed Archive (.arj)
* Cabinet File (.cab)
* UNIX CPIO Archive (.cpio)
* Debian Linux Package (.deb) [Read-only mode]
* ISO-9660 CD Disc Image (.iso) [Read-only mode]
* Java Archive (.jar)
* Java Enterprise archive (.ear)
* Java Web Archive (.war)
* LHA Archive (.lzh, .lha)
* WinRAR Compressed Archive (.rar)
* RAR Archived Comic Book (.cbr)
* RPM Linux Package (.rpm) [Read-only mode]
* Tape Archive File:
* uncompressed (.tar)
or compressed with:
* gzip (.tar.gz , .tgz)
* brotli (.tar.br)
* bzip (.tar.bz , .tbz)
* bzip2 (.tar.bz2 , .tbz2)
* compress (.tar.Z , .taz)
* lrzip (.tar.lrz , .tlrz)
* lzip (.tar.lz , .tlz)
* lzop (.tar.lzo , .tzo)
* 7zip (.tar.7z)
* xz (.tar.xz)
* Snap packages (.snap)
* Squashfs images (.sqsh)
* Stuffit Archives (.bin, .sit)
* ZIP Archive (.zip)
* ZIP Archived Comic Book (.cbz)
* ZOO Compressed Archive File (.zoo)
* Single files compressed with gzip (.gz), brotli (.br), bzip (.bz), bzip2 (.bz2), compress (.Z),
lrzip (.lrz), lzip (.lz), lzop (.lzo), rzip(.rz), xz (.xz).
* Home Page
http://fileroller.sourceforge.net
* Licensing
This program is released under the terms of the GNU General Public
License (GNU GPL) version 2 or greater.
You can find a copy of the license in the file COPYING.
* Dependencies
In order to build this program from the source code you need a working
GNOME environment version 2.x, with the development tools installed
properly.
Also you need the following libraries:
* glib >= 2.36
* gtk+ >= 3.13.2
* libnautilus-extension >= 2.22.2 (optional)
* libarchive >= 3.0.0 (optional)
* Install
mkdir build
cd build
meson ..
ninja
ninja install
# File Roller
An archive manager utility for the GNOME Environment.
## What is it ?
File Roller is an archive manager for the GNOME environment. This means
that you can create and modify archives; view the content of an archive;
view and modify a file contained in the archive; extract files from the
archive.
File Roller is only a front-end (a graphical interface) to archiving programs
like tar and zip. The supported file types are:
* 7-Zip Compressed File (.7z)
* WinAce Compressed File (.ace)
* ALZip Compressed File (.alz)
* AIX Small Indexed Archive (.ar)
* ARJ Compressed Archive (.arj)
* Cabinet File (.cab)
* UNIX CPIO Archive (.cpio)
* Debian Linux Package (.deb) [Read-only mode]
* ISO-9660 CD Disc Image (.iso) [Read-only mode]
* Java Archive (.jar)
* Java Enterprise archive (.ear)
* Java Web Archive (.war)
* LHA Archive (.lzh, .lha)
* WinRAR Compressed Archive (.rar)
* RAR Archived Comic Book (.cbr)
* RPM Linux Package (.rpm) [Read-only mode]
* Tape Archive File:
* uncompressed (.tar)
* or compressed with:
* gzip (.tar.gz , .tgz)
* brotli (.tar.br)
* bzip (.tar.bz , .tbz)
* bzip2 (.tar.bz2 , .tbz2)
* compress (.tar.Z , .taz)
* lrzip (.tar.lrz , .tlrz)
* lzip (.tar.lz , .tlz)
* lzop (.tar.lzo , .tzo)
* 7zip (.tar.7z)
* xz (.tar.xz)
* Zstandard (.tar.zst, .tzst)
* Snap packages (.snap)
* Squashfs images (.sqsh)
* Stuffit Archives (.bin, .sit)
* ZIP Archive (.zip)
* ZIP Archived Comic Book (.cbz)
* ZOO Compressed Archive File (.zoo)
* Single files compressed with gzip (.gz), brotli (.br), bzip (.bz),
bzip2 (.bz2), compress (.Z), lrzip (.lrz), lzip (.lz), lzop (.lzo),
rzip(.rz), and xz (.xz), Zstandard (.zst).
## Useful links
* Homepage: https://wiki.gnome.org/Apps/FileRoller
* Report issues: https://gitlab.gnome.org/GNOME/file-roller/issues/
* Donate: https://www.gnome.org/friends/
* Translate: https://wiki.gnome.org/TranslationProject
## Licensing
This program is released under the terms of the GNU General Public
License (GNU GPL) version 2 or greater.
You can find a copy of the license in the file COPYING.
## Dependencies
In order to build this program from the source code you need a working
GNOME environment version 3.x, with the development tools installed
properly.
Also you need the following libraries:
* glib >= 2.38
* gtk+ >= 3.22.0
* libnautilus-extension >= 3.28.0 (optional)
* libarchive >= 3.0.0 (optional)
## Install
```bash
mkdir build
cd build
meson ..
ninja
ninja install
```
...@@ -28,5 +28,5 @@ unstaff= ...@@ -28,5 +28,5 @@ unstaff=
unzip= unzip=
xz= xz=
zip= zip=
zstd=
zoo= zoo=
application/epub+zip; application/bzip2;
application/gzip; application/gzip;
application/vnd.android.package-archive; application/vnd.android.package-archive;
application/vnd.ms-cab-compressed; application/vnd.ms-cab-compressed;
...@@ -40,7 +40,6 @@ application/x-lzma; ...@@ -40,7 +40,6 @@ application/x-lzma;
application/x-lzma-compressed-tar; application/x-lzma-compressed-tar;
application/x-lzop; application/x-lzop;
application/x-lz4-compressed-tar; application/x-lz4-compressed-tar;
application/x-lzop-compressed-tar;
application/x-ms-wim; application/x-ms-wim;
application/x-rar; application/x-rar;
application/x-rar-compressed; application/x-rar-compressed;
...@@ -50,11 +49,15 @@ application/x-rzip; ...@@ -50,11 +49,15 @@ application/x-rzip;
application/x-rzip-compressed-tar; application/x-rzip-compressed-tar;
application/x-tar; application/x-tar;
application/x-tarz; application/x-tarz;
application/x-tzo;
application/x-stuffit; application/x-stuffit;
application/x-war; application/x-war;
application/x-xar;
application/x-xz; application/x-xz;
application/x-xz-compressed-tar; application/x-xz-compressed-tar;
application/x-zip; application/x-zip;
application/x-zip-compressed; application/x-zip-compressed;
application/x-zstd-compressed-tar;
application/x-zoo; application/x-zoo;
application/zip; application/zip;
application/zstd;
This diff is collapsed.
project('file-roller', 'c', project('file-roller', 'c',
license : 'GPL2+', license : 'GPL2+',
version : '3.32.1', version : '3.35.1',
meson_version : '>=0.43' meson_version : '>=0.50'
) )
glib_version = '>=2.36' glib_version = '>=2.38'
gtk_version = '>=3.13.2' gtk_version = '>=3.22.0'
nautilus_version = '>=2.22.2' nautilus_version = '>=3.28.0'
json_glib_version = '>=0.14.0' json_glib_version = '>=0.14.0'
libnotify_version = '>=0.4.3' libnotify_version = '>=0.4.3'
libarchive_version = '>=3.0.0' libarchive_version = '>=3.0.0'
......
...@@ -22,8 +22,7 @@ ...@@ -22,8 +22,7 @@
*/ */
#include <config.h> #include <config.h>
#include <libnautilus-extension/nautilus-extension-types.h> #include <nautilus-extension.h>
#include <libnautilus-extension/nautilus-column-provider.h>
#include <glib/gi18n-lib.h> #include <glib/gi18n-lib.h>
#include "nautilus-fileroller.h" #include "nautilus-fileroller.h"
......
...@@ -127,15 +127,17 @@ static struct { ...@@ -127,15 +127,17 @@ static struct {
{ "application/x-java-archive", TRUE }, { "application/x-java-archive", TRUE },
{ "application/x-lhz", TRUE }, { "application/x-lhz", TRUE },
{ "application/x-lzop", TRUE }, { "application/x-lzop", TRUE },
{ "application/x-lzop-compressed-tar", TRUE },
{ "application/x-ms-wim", TRUE }, { "application/x-ms-wim", TRUE },
{ "application/x-rar", TRUE }, { "application/x-rar", TRUE },
{ "application/x-rar-compressed", TRUE }, { "application/x-rar-compressed", TRUE },
{ "application/x-rpm", TRUE }, { "application/x-rpm", TRUE },
{ "application/x-rzip", TRUE }, { "application/x-rzip", TRUE },
{ "application/x-stuffit", TRUE }, { "application/x-stuffit", TRUE },
{ "application/x-tzo", TRUE },
{ "application/x-war", TRUE }, { "application/x-war", TRUE },
{ "application/x-zoo", TRUE }, { "application/x-zoo", TRUE },
{ "application/x-zstd-compressed-tar", TRUE },
{ "application/zstd", TRUE },
{ "multipart/x-zip", TRUE }, { "multipart/x-zip", TRUE },
{ NULL, FALSE } { NULL, FALSE }
}; };
......
...@@ -409,7 +409,7 @@ msgstr[0] "" ...@@ -409,7 +409,7 @@ msgstr[0] ""
"l'arxiu es perdran tots els canvis que hi hàgiu fet." "l'arxiu es perdran tots els canvis que hi hàgiu fet."
msgstr[1] "" msgstr[1] ""
"S'han modificat %d fitxers des d'una aplicació externa. Si no els " "S'han modificat %d fitxers des d'una aplicació externa. Si no els "
"actualitzeu en l'arxiu es perdran tot els canvis que hi hàgiu fet." "actualitzeu en l'arxiu es perdran tots els canvis que hi hàgiu fet."
#: src/dlg-update.c:190 #: src/dlg-update.c:190
#, c-format #, c-format
...@@ -708,12 +708,13 @@ msgstr "S'està canviant el nom dels fitxers a «%s»" ...@@ -708,12 +708,13 @@ msgstr "S'està canviant el nom dels fitxers a «%s»"
msgid "Updating the files in “%s”" msgid "Updating the files in “%s”"
msgstr "S'estan actualitzant els fitxers a «%s»" msgstr "S'estan actualitzant els fitxers a «%s»"
#. N.T.: Apareix com una frase sola (primer lletra cal que sigui en majúscula)
#: src/fr-window.c:2681 #: src/fr-window.c:2681
#, c-format #, c-format
msgid "%d file remaining" msgid "%d file remaining"
msgid_plural "%'d files remaining" msgid_plural "%'d files remaining"
msgstr[0] "manca %d fitxer" msgstr[0] "Manca %d fitxer"
msgstr[1] "manquen %d fitxers" msgstr[1] "Manquen %d fitxers"
#: src/fr-window.c:2685 src/fr-window.c:3309 #: src/fr-window.c:2685 src/fr-window.c:3309
msgid "Please wait…" msgid "Please wait…"
...@@ -1010,7 +1011,7 @@ msgstr "_Enganxa" ...@@ -1010,7 +1011,7 @@ msgstr "_Enganxa"
#. * explanation of the values. #. * explanation of the values.
#: src/glib-utils.c:787 #: src/glib-utils.c:787
msgid "%d %B %Y, %H:%M" msgid "%d %B %Y, %H:%M"
msgstr "%d %B %Y, %H:%M" msgstr "%-d %B de %Y, %-H:%M"
#: src/gtk-utils.c:235 #: src/gtk-utils.c:235
msgid "C_ommand Line Output:" msgid "C_ommand Line Output:"
...@@ -1232,7 +1233,7 @@ msgstr "_Contrasenya…" ...@@ -1232,7 +1233,7 @@ msgstr "_Contrasenya…"
#: src/ui/gears-menu.ui:60 #: src/ui/gears-menu.ui:60
msgid "_About Archive Manager" msgid "_About Archive Manager"
msgstr "Quant al Gestor d'arxius" msgstr "_Quant al Gestor d'arxius"
#: src/ui/menus.ui:11 #: src/ui/menus.ui:11
msgid "_Open With…" msgid "_Open With…"
......
...@@ -5,21 +5,21 @@ ...@@ -5,21 +5,21 @@
# Spanish localization for File Roller. # Spanish localization for File Roller.
# Copyright © 2002, 2006, 2007, 2008 the Free Software Foundation, Inc. # Copyright © 2002, 2006, 2007, 2008 the Free Software Foundation, Inc.
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2009, 2010, 2011, 2012. # Jorge González <jorgegonz@svn.gnome.org>, 2007, 2009, 2010, 2011, 2012.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018. # Daniel Mustieles <daniel.mustieles@gmail.com>, 2010-2019.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: file-roller.master\n" "Project-Id-Version: file-roller.master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/file-roller/issues\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/file-roller/issues\n"
"POT-Creation-Date: 2018-11-01 09:55+0000\n" "POT-Creation-Date: 2019-03-24 19:31+0000\n"
"PO-Revision-Date: 2018-12-04 15:35+0100\n" "PO-Revision-Date: 2019-07-30 09:33+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: es <gnome-es-list@gnome.org>\n" "Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
"Language: es\n" "Language: es_ES\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 2.91.7\n" "X-Generator: Gtranslator 3.32.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/org.gnome.FileRoller.appdata.xml.in:9 #: data/org.gnome.FileRoller.appdata.xml.in:9
...@@ -63,7 +63,7 @@ msgid "xz archives (.tar.xz)" ...@@ -63,7 +63,7 @@ msgid "xz archives (.tar.xz)"
msgstr "archivadores xz (.tar.xz)" msgstr "archivadores xz (.tar.xz)"
#: data/org.gnome.FileRoller.desktop.in.in:3 src/fr-application.c:455 #: data/org.gnome.FileRoller.desktop.in.in:3 src/fr-application.c:455
#: src/fr-window.c:2017 src/fr-window.c:5546 #: src/fr-window.c:2022 src/fr-window.c:5551
msgid "Archive Manager" msgid "Archive Manager"
msgstr "Gestor de archivadores" msgstr "Gestor de archivadores"
...@@ -76,12 +76,6 @@ msgstr "Cree y modifique un archivador" ...@@ -76,12 +76,6 @@ msgstr "Cree y modifique un archivador"
msgid "zip;tar;extract;unpack;" msgid "zip;tar;extract;unpack;"
msgstr "zip;tar;extraer;desempaquetar;" msgstr "zip;tar;extraer;desempaquetar;"
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
#: data/org.gnome.FileRoller.desktop.in.in:13
#| msgid "Archive Manager"
msgid "org.gnome.ArchiveManager"
msgstr "org.gnome.ArchiveManager"
#: data/org.gnome.FileRoller.gschema.xml:58 #: data/org.gnome.FileRoller.gschema.xml:58
msgid "How to sort files" msgid "How to sort files"
msgstr "Cómo ordenar archivos" msgstr "Cómo ordenar archivos"
...@@ -223,20 +217,20 @@ msgstr "Tamaño predeterminado del volumen" ...@@ -223,20 +217,20 @@ msgstr "Tamaño predeterminado del volumen"
msgid "The default size for volumes." msgid "The default size for volumes."
msgstr "El tamaño predeterminado de los volúmenes." msgstr "El tamaño predeterminado de los volúmenes."
#: nautilus/nautilus-fileroller.c:261 #: nautilus/nautilus-fileroller.c:262
msgid "Extract Here" msgid "Extract Here"
msgstr "Extraer aquí" msgstr "Extraer aquí"
#. Translators: the current position is the current folder #. Translators: the current position is the current folder
#: nautilus/nautilus-fileroller.c:263 #: nautilus/nautilus-fileroller.c:264
msgid "Extract the selected archive to the current position" msgid "Extract the selected archive to the current position"
msgstr "Extraer el archivador seleccionado en la posición actual" msgstr "Extraer el archivador seleccionado en la posición actual"
#: nautilus/nautilus-fileroller.c:280 #: nautilus/nautilus-fileroller.c:281
msgid "Extract To…" msgid "Extract To…"
msgstr "Extraer en…" msgstr "Extraer en…"
#: nautilus/nautilus-fileroller.c:281 #: nautilus/nautilus-fileroller.c:282
msgid "Extract the selected archive" msgid "Extract the selected archive"
msgstr "Extrae el archivador seleccionado" msgstr "Extrae el archivador seleccionado"
...@@ -316,7 +310,7 @@ msgstr "Contraseña incorrecta." ...@@ -316,7 +310,7 @@ msgstr "Contraseña incorrecta."
msgid "Compress" msgid "Compress"
msgstr "Comprimir" msgstr "Comprimir"
#: src/dlg-extract.c:95 src/fr-window.c:6936 #: src/dlg-extract.c:95 src/fr-window.c:6939
#, c-format #, c-format
msgid "" msgid ""
"Destination folder “%s” does not exist.\n" "Destination folder “%s” does not exist.\n"
...@@ -327,22 +321,22 @@ msgstr "" ...@@ -327,22 +321,22 @@ msgstr ""
"\n" "\n"
"¿Quiere crearla?" "¿Quiere crearla?"
#: src/dlg-extract.c:103 src/fr-window.c:6944 #: src/dlg-extract.c:103 src/fr-window.c:6947
msgid "Create _Folder" msgid "Create _Folder"
msgstr "Crear _carpeta" msgstr "Crear _carpeta"
#: src/dlg-extract.c:122 src/dlg-extract.c:139 src/dlg-extract.c:166 #: src/dlg-extract.c:122 src/dlg-extract.c:139 src/dlg-extract.c:166
#: src/fr-window.c:4420 src/fr-window.c:6860 src/fr-window.c:6865 #: src/fr-window.c:4425 src/fr-window.c:6863 src/fr-window.c:6868
#: src/fr-window.c:6965 src/fr-window.c:6984 src/fr-window.c:6989 #: src/fr-window.c:6968 src/fr-window.c:6987 src/fr-window.c:6992
msgid "Extraction not performed" msgid "Extraction not performed"
msgstr "Extracción no realizada" msgstr "Extracción no realizada"
#: src/dlg-extract.c:123 src/fr-window.c:6961 #: src/dlg-extract.c:123 src/fr-window.c:6964
#, c-format #, c-format
msgid "Could not create the destination folder: %s." msgid "Could not create the destination folder: %s."
msgstr "No se pudo crear la carpeta de destino %s." msgstr "No se pudo crear la carpeta de destino %s."
#: src/dlg-extract.c:167 src/fr-window.c:4647 src/fr-window.c:4749 #: src/dlg-extract.c:167 src/fr-window.c:4652 src/fr-window.c:4754
#, c-format #, c-format
msgid "" msgid ""
"You don’t have the right permissions to extract archives in the folder “%s”" "You don’t have the right permissions to extract archives in the folder “%s”"
...@@ -358,8 +352,8 @@ msgid "There was an internal error trying to search for applications:" ...@@ -358,8 +352,8 @@ msgid "There was an internal error trying to search for applications:"
msgstr "Hubo un error interno al intentar buscar aplicaciones:" msgstr "Hubo un error interno al intentar buscar aplicaciones:"
#: src/dlg-package-installer.c:296 src/dlg-package-installer.c:305 #: src/dlg-package-installer.c:296 src/dlg-package-installer.c:305
#: src/dlg-package-installer.c:332 src/fr-archive.c:748 src/fr-window.c:4087 #: src/dlg-package-installer.c:332 src/fr-archive.c:748 src/fr-window.c:4092
#: src/fr-window.c:7667 src/fr-window.c:8024 src/fr-window.c:9539 #: src/fr-window.c:7670 src/fr-window.c:8027 src/fr-window.c:9542
msgid "Archive type not supported." msgid "Archive type not supported."
msgstr "Tipo de archivador no soportado." msgstr "Tipo de archivador no soportado."
...@@ -518,19 +512,19 @@ msgid "You can’t add an archive to itself." ...@@ -518,19 +512,19 @@ msgid "You can’t add an archive to itself."
msgstr "No puede añadir un archivador a sí mismo." msgstr "No puede añadir un archivador a sí mismo."
#. Translators: %s is a filename. #. Translators: %s is a filename.
#: src/fr-command-7z.c:306 src/fr-command-rar.c:495 src/fr-command-tar.c:319 #: src/fr-command-7z.c:306 src/fr-command-rar.c:495 src/fr-command-tar.c:322
#, c-format #, c-format
msgid "Adding “%s”" msgid "Adding “%s”"
msgstr "Añadiendo «%s»" msgstr "Añadiendo «%s»"
#. Translators: %s is a filename. #. Translators: %s is a filename.
#: src/fr-command-7z.c:458 src/fr-command-rar.c:627 src/fr-command-tar.c:440 #: src/fr-command-7z.c:458 src/fr-command-rar.c:627 src/fr-command-tar.c:443
#, c-format #, c-format
msgid "Extracting “%s”" msgid "Extracting “%s”"
msgstr "Extrayendo «%s»" msgstr "Extrayendo «%s»"
#. Translators: %s is a filename. #. Translators: %s is a filename.
#: src/fr-command-rar.c:576 src/fr-command-tar.c:385 #: src/fr-command-rar.c:576 src/fr-command-tar.c:388
#, c-format #, c-format
msgid "Removing “%s”" msgid "Removing “%s”"
msgstr "Quitando «%s»" msgstr "Quitando «%s»"
...@@ -540,15 +534,15 @@ msgstr "Quitando «%s»" ...@@ -540,15 +534,15 @@ msgstr "Quitando «%s»"
msgid "Could not find the volume: %s" msgid "Could not find the volume: %s"
msgstr "No se pudo encontrar el volumen: %s" msgstr "No se pudo encontrar el volumen: %s"
#: src/fr-command-tar.c:395 #: src/fr-command-tar.c:398
msgid "Deleting files from archive" msgid "Deleting files from archive"
msgstr "Borrando archivos del archivador" msgstr "Eliminando archivos del archivador"
#: src/fr-command-tar.c:500 #: src/fr-command-tar.c:503
msgid "Recompressing archive" msgid "Recompressing archive"
msgstr "Recomprimiendo archivador" msgstr "Recomprimiendo archivador"
#: src/fr-command-tar.c:779 #: src/fr-command-tar.c:801
msgid "Decompressing archive" msgid "Decompressing archive"
msgstr "Descomprimiendo archivador" msgstr "Descomprimiendo archivador"
...@@ -564,7 +558,7 @@ msgstr "No se pudo cargar la ubicación" ...@@ -564,7 +558,7 @@ msgstr "No se pudo cargar la ubicación"
#: src/fr-new-archive-dialog.c:352 src/fr-new-archive-dialog.c:371 #: src/fr-new-archive-dialog.c:352 src/fr-new-archive-dialog.c:371
#: src/fr-new-archive-dialog.c:387 src/fr-new-archive-dialog.c:436 #: src/fr-new-archive-dialog.c:387 src/fr-new-archive-dialog.c:436
#: src/fr-new-archive-dialog.c:454 src/fr-new-archive-dialog.c:476 #: src/fr-new-archive-dialog.c:454 src/fr-new-archive-dialog.c:476
#: src/fr-window.c:3032 #: src/fr-window.c:3037
msgid "Could not create the archive" msgid "Could not create the archive"
msgstr "No se pudo crear el archivador" msgstr "No se pudo crear el archivador"
...@@ -577,7 +571,7 @@ msgid "You don’t have permission to create an archive in this folder" ...@@ -577,7 +571,7 @@ msgid "You don’t have permission to create an archive in this folder"
msgstr "No tiene permisos para crear un archivador en esta carpeta" msgstr "No tiene permisos para crear un archivador en esta carpeta"
#. Translators: the name references to a filename. This message can appear when renaming a file. #. Translators: the name references to a filename. This message can appear when renaming a file.
#: src/fr-new-archive-dialog.c:456 src/fr-window.c:8338 #: src/fr-new-archive-dialog.c:456 src/fr-window.c:8341
msgid "New name is the same as old one, please type other name." msgid "New name is the same as old one, please type other name."
msgstr "El nombre nuevo es el mismo que el antiguo, introduzca otro nombre." msgstr "El nombre nuevo es el mismo que el antiguo, introduzca otro nombre."
...@@ -593,7 +587,7 @@ msgid "" ...@@ -593,7 +587,7 @@ msgid ""
msgstr "" msgstr ""
"El archivo ya existe en «%s». Si lo reemplaza sobrescribirá su contenido." "El archivo ya existe en «%s». Si lo reemplaza sobrescribirá su contenido."
#: src/fr-new-archive-dialog.c:506 src/fr-window.c:6780 #: src/fr-new-archive-dialog.c:506 src/fr-window.c:6783
msgid "_Replace" msgid "_Replace"
msgstr "_Reemplazar" msgstr "_Reemplazar"
...@@ -614,185 +608,185 @@ msgstr "Todos los archivadores" ...@@ -614,185 +608,185 @@ msgstr "Todos los archivadores"
msgid "All files" msgid "All files"
msgstr "Todos los archivos" msgstr "Todos los archivos"
#: src/fr-window.c:1221 #: src/fr-window.c:1226
msgid "Operation completed" msgid "Operation completed"
msgstr "Operación completada" msgstr "Operación completada"
#: src/fr-window.c:1634 #: src/fr-window.c:1639
msgid "Folder" msgid "Folder"
msgstr "Carpeta" msgstr "Carpeta"
#: src/fr-window.c:2024 #: src/fr-window.c:2029
msgid "[read only]" msgid "[read only]"
msgstr "[sólo lectura]" msgstr "[sólo lectura]"
#: src/fr-window.c:2165 #: src/fr-window.c:2170
#, c-format #, c-format
msgid "Could not display the folder “%s”" msgid "Could not display the folder “%s”"
msgstr "No se pudo mostrar la carpeta «%s»" msgstr "No se pudo mostrar la carpeta «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2338 src/fr-window.c:2376 #: src/fr-window.c:2343 src/fr-window.c:2381
#, c-format #, c-format
msgid "Creating “%s”" msgid "Creating “%s”"
msgstr "Creando «%s»" msgstr "Creando «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2342 #: src/fr-window.c:2347
#, c-format #, c-format
msgid "Loading “%s”" msgid "Loading “%s”"
msgstr "Cargando «%s»" msgstr "Cargando «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2346 #: src/fr-window.c:2351
#, c-format #, c-format
msgid "Reading “%s”" msgid "Reading “%s”"
msgstr "Leyendo «%s»" msgstr "Leyendo «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2350 #: src/fr-window.c:2355
#, c-format #, c-format
msgid "Deleting the files from “%s”" msgid "Deleting the files from “%s”"
msgstr "Eliminando los archivos de «%s»" msgstr "Eliminando los archivos de «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2354 #: src/fr-window.c:2359
#, c-format #, c-format
msgid "Testing “%s”" msgid "Testing “%s”"
msgstr "Verificando «%s»" msgstr "Verificando «%s»"
#: src/fr-window.c:2357 #: src/fr-window.c:2362
msgid "Getting the file list" msgid "Getting the file list"
msgstr "Obteniendo la lista de archivos" msgstr "Obteniendo la lista de archivos"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2361 #: src/fr-window.c:2366
#, c-format #, c-format
msgid "Copying the files to add to “%s”" msgid "Copying the files to add to “%s”"
msgstr "Copiando los archivos que añadir a «%s»" msgstr "Copiando los archivos que añadir a «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2365 #: src/fr-window.c:2370
#, c-format #, c-format
msgid "Adding the files to “%s”" msgid "Adding the files to “%s”"
msgstr "Añadiendo los archivos a «%s»" msgstr "Añadiendo los archivos a «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2369 #: src/fr-window.c:2374
#, c-format #, c-format
msgid "Extracting the files from “%s”" msgid "Extracting the files from “%s”"
msgstr "Extrayendo los archivos de «%s»" msgstr "Extrayendo los archivos de «%s»"
#: src/fr-window.c:2372 #: src/fr-window.c:2377
msgid "Copying the extracted files to the destination" msgid "Copying the extracted files to the destination"
msgstr "Copiando los archivos extraídos al destino" msgstr "Copiando los archivos extraídos al destino"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2381 #: src/fr-window.c:2386
#, c-format #, c-format
msgid "Saving “%s”" msgid "Saving “%s”"
msgstr "Guardando «%s»" msgstr "Guardando «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2388 #: src/fr-window.c:2393
#, c-format #, c-format
msgid "Renaming the files in “%s”" msgid "Renaming the files in “%s”"
msgstr "Renombrando los archivos en «%s»" msgstr "Renombrando los archivos en «%s»"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2392 #: src/fr-window.c:2397
#, c-format #, c-format
msgid "Updating the files in “%s”" msgid "Updating the files in “%s”"
msgstr "Actualizando los archivos en «%s»" msgstr "Actualizando los archivos en «%s»"
#: src/fr-window.c:2681 #: src/fr-window.c:2686
#, c-format #, c-format
msgid "%d file remaining" msgid "%d file remaining"
msgid_plural "%'d files remaining" msgid_plural "%'d files remaining"
msgstr[0] "queda %d archivo" msgstr[0] "queda %d archivo"
msgstr[1] "quedan %'d archivos" msgstr[1] "quedan %'d archivos"
#: src/fr-window.c:2685 src/fr-window.c:3309 #: src/fr-window.c:2690 src/fr-window.c:3314
msgid "Please wait…" msgid "Please wait…"
msgstr "Espere…" msgstr "Espere…"
#: src/fr-window.c:2803 #: src/fr-window.c:2808
msgid "Extraction completed successfully" msgid "Extraction completed successfully"
msgstr "La extracción se completó satisfactoriamente" msgstr "La extracción se completó satisfactoriamente"
#: src/fr-window.c:2806 #: src/fr-window.c:2811
msgid "_Show the Files" msgid "_Show the Files"
msgstr "_Mostrar los archivos" msgstr "_Mostrar los archivos"
#. Translators: %s is a filename #. Translators: %s is a filename
#: src/fr-window.c:2823 src/fr-window.c:6266 #: src/fr-window.c:2828 src/fr-window.c:6269
#, c-format #, c-format
msgid "“%s” created successfully" msgid "“%s” created successfully"
msgstr "«%s» creado con éxito" msgstr "«%s» creado con éxito"
#: src/fr-window.c:2830 #: src/fr-window.c:2835
msgid "_Open the Archive" msgid "_Open the Archive"
msgstr "_Abrir el archivador" msgstr "_Abrir el archivador"
#: src/fr-window.c:2918 src/fr-window.c:3088 #: src/fr-window.c:2923 src/fr-window.c:3093
msgid "Command exited abnormally." msgid "Command exited abnormally."
msgstr "El comando terminó con error." msgstr "El comando terminó con error."
#: src/fr-window.c:3037 #: src/fr-window.c:3042
msgid "An error occurred while extracting files." msgid "An error occurred while extracting files."
msgstr "Ha ocurrido un error mientras se extraían los archivos." msgstr "Ha ocurrido un error mientras se extraían los archivos."
#: src/fr-window.c:3043 #: src/fr-window.c:3048
#, c-format #, c-format
msgid "Could not open “%s”" msgid "Could not open “%s”"
msgstr "No se pudo abrir «%s»" msgstr "No se pudo abrir «%s»"
#: src/fr-window.c:3048 #: src/fr-window.c:3053
msgid "An error occurred while loading the archive." msgid "An error occurred while loading the archive."
msgstr "Se produjo un error cargando el archivador." msgstr "Se produjo un error cargando el archivador."
#: src/fr-window.c:3052 #: src/fr-window.c:3057
msgid "An error occurred while deleting files from the archive." msgid "An error occurred while deleting files from the archive."
msgstr "Se produjo un error al eliminar archivos del archivador." msgstr "Se produjo un error al eliminar archivos del archivador."
#: src/fr-window.c:3058 #: src/fr-window.c:3063
msgid "An error occurred while adding files to the archive." msgid "An error occurred while adding files to the archive."
msgstr "Se produjo un error al añadir archivos al archivador." msgstr "Se produjo un error al añadir archivos al archivador."
#: src/fr-window.c:3062 #: src/fr-window.c:3067
msgid "An error occurred while testing archive." msgid "An error occurred while testing archive."
msgstr "Se produjo un error al comprobar el archivador." msgstr "Se produjo un error al comprobar el archivador."
#: src/fr-window.c:3067 #: src/fr-window.c:3072
msgid "An error occurred while saving the archive." msgid "An error occurred while saving the archive."
msgstr "Ocurrió un error al guardar el archivador." msgstr "Ocurrió un error al guardar el archivador."
#: src/fr-window.c:3071 #: src/fr-window.c:3076
msgid "An error occurred while renaming the files." msgid "An error occurred while renaming the files."
msgstr "Ocurrió un error al renombrar los archivos." msgstr "Ocurrió un error al renombrar los archivos."
#: src/fr-window.c:3075 #: src/fr-window.c:3080
msgid "An error occurred while updating the files." msgid "An error occurred while updating the files."
msgstr "Ocurrió un error al actualizar los archivos." msgstr "Ocurrió un error al actualizar los archivos."
#: src/fr-window.c:3079 #: src/fr-window.c:3084
msgid "An error occurred." msgid "An error occurred."
msgstr "Ocurrió un error." msgstr "Ocurrió un error."
#: src/fr-window.c:3085 #: src/fr-window.c:3090
msgid "Command not found." msgid "Command not found."
msgstr "Comando no encontrado." msgstr "Comando no encontrado."
#: src/fr-window.c:3241 #: src/fr-window.c:3246
msgid "Test Result" msgid "Test Result"
msgstr "Resultado de la comprobación" msgstr "Resultado de la comprobación"
#: src/fr-window.c:4212 src/fr-window.c:9022 src/fr-window.c:9056 #: src/fr-window.c:4217 src/fr-window.c:9025 src/fr-window.c:9059
#: src/fr-window.c:9336 #: src/fr-window.c:9339
msgid "Could not perform the operation" msgid "Could not perform the operation"
msgstr "No se pudo efectuar la operación" msgstr "No se pudo efectuar la operación"
#: src/fr-window.c:4237 #: src/fr-window.c:4242
msgid "" msgid ""
"Do you want to add this file to the current archive or open it as a new " "Do you want to add this file to the current archive or open it as a new "
"archive?" "archive?"
...@@ -800,127 +794,126 @@ msgstr "" ...@@ -800,127 +794,126 @@ msgstr ""
"¿Quiere añadir este archivo al archivador actual o prefiere abrirlo como un " "¿Quiere añadir este archivo al archivador actual o prefiere abrirlo como un "
"archivador nuevo ?" "archivador nuevo ?"
#: src/fr-window.c:4266 #: src/fr-window.c:4271
msgid "Do you want to create a new archive with these files?" msgid "Do you want to create a new archive with these files?"
msgstr "¿Quiere crear un nuevo archivador con estos archivos?" msgstr "¿Quiere crear un nuevo archivador con estos archivos?"
#: src/fr-window.c:4269 #: src/fr-window.c:4274
msgid "Create _Archive" msgid "Create _Archive"
msgstr "Crear _archivador" msgstr "Crear _archivador"
#: src/fr-window.c:4298 src/fr-window.c:7475 #: src/fr-window.c:4303 src/fr-window.c:7478
msgid "New Archive" msgid "New Archive"
msgstr "Nuevo archivador" msgstr "Nuevo archivador"
#: src/fr-window.c:5016 #: src/fr-window.c:5021
msgid "Folders" msgid "Folders"
msgstr "Carpetas" msgstr "Carpetas"
#: src/fr-window.c:5054 src/ui/file-selector.ui:221 #: src/fr-window.c:5059 src/ui/file-selector.ui:221
msgctxt "File" msgctxt "File"
msgid "Size" msgid "Size"
msgstr "Tamaño" msgstr "Tamaño"
#: src/fr-window.c:5055 #: src/fr-window.c:5060
msgctxt "File" msgctxt "File"
msgid "Type" msgid "Type"
msgstr "Tipo" msgstr "Tipo"
#: src/fr-window.c:5056 src/ui/file-selector.ui:237 #: src/fr-window.c:5061 src/ui/file-selector.ui:237
msgctxt "File" msgctxt "File"
msgid "Modified" msgid "Modified"
msgstr "Modificado" msgstr "Modificado"
#: src/fr-window.c:5057 #: src/fr-window.c:5062
msgctxt "File" msgctxt "File"
msgid "Location" msgid "Location"
msgstr "Ubilación" msgstr "Ubilación"
#: src/fr-window.c:5066 src/ui/file-selector.ui:190 #: src/fr-window.c:5071 src/ui/file-selector.ui:190
msgctxt "File" msgctxt "File"
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: src/fr-window.c:5820 src/ui/extract-dialog-options.ui:20 #: src/fr-window.c:5823 src/ui/extract-dialog-options.ui:20
msgctxt "Action" msgctxt "Action"
msgid "Extract" msgid "Extract"
msgstr "Extraer" msgstr "Extraer"
#: src/fr-window.c:5824 #: src/fr-window.c:5827
msgctxt "Action" msgctxt "Action"
msgid "Add Files" msgid "Add Files"
msgstr "Añadir archivos" msgstr "Añadir archivos"
#: src/fr-window.c:5829 src/fr-window.c:5859 #: src/fr-window.c:5832 src/fr-window.c:5862
msgid "Find files by name" msgid "Find files by name"
msgstr "Buscar archivos por nombre" msgstr "Buscar archivos por nombre"
#: src/fr-window.c:5876 #: src/fr-window.c:5879
msgid "Go to the previous visited location" msgid "Go to the previous visited location"
msgstr "Ir al anterior lugar visitado" msgstr "Ir al anterior lugar visitado"
#: src/fr-window.c:5881 #: src/fr-window.c:5884
msgid "Go to the next visited location" msgid "Go to the next visited location"
msgstr "Ir al siguiente lugar visitado" msgstr "Ir al siguiente lugar visitado"
#: src/fr-window.c:5891 #: src/fr-window.c:5894
msgid "Go to the home location" msgid "Go to the home location"
msgstr "Ir al lugar inicial" msgstr "Ir al lugar inicial"
#. Translators: after the colon there is a folder name. #. Translators: after the colon there is a folder name.
#: src/fr-window.c:5900 src/ui/file-selector.ui:98 #: src/fr-window.c:5903 src/ui/file-selector.ui:98
#: src/ui/new-archive-dialog.ui:93 #: src/ui/new-archive-dialog.ui:93
msgid "_Location:" msgid "_Location:"
msgstr "_Lugar:" msgstr "_Lugar:"
#: src/fr-window.c:6280 src/ui/menus.ui:7 src/ui/menus.ui:47 src/ui/menus.ui:83 #: src/fr-window.c:6283 src/ui/menus.ui:7 src/ui/menus.ui:47 src/ui/menus.ui:83
msgctxt "Action" msgctxt "Action"
msgid "Open" msgid "Open"
msgstr "Abrir" msgstr "Abrir"
#: src/fr-window.c:6768 #: src/fr-window.c:6771
#, c-format #, c-format
msgid "Replace file “%s”?" msgid "Replace file “%s”?"
msgstr "¿Reemplazar el archivo «%s»?" msgstr "¿Reemplazar el archivo «%s»?"
#: src/fr-window.c:6771 #: src/fr-window.c:6774
#, c-format #, c-format
msgid "Another file with the same name already exists in “%s”." msgid "Another file with the same name already exists in “%s”."
msgstr "Ya existe otro archivo con el mismo nombre en «%s»." msgstr "Ya existe otro archivo con el mismo nombre en «%s»."
#: src/fr-window.c:6777 #: src/fr-window.c:6780
msgid "Replace _All" msgid "Replace _All"
msgstr "Reemplazar _todo" msgstr "Reemplazar _todo"
#: src/fr-window.c:6778 #: src/fr-window.c:6781
#| msgid "Replace _All"
msgid "Replace _Nothing" msgid "Replace _Nothing"
msgstr "Reemplazar _nada" msgstr "Reemplazar _nada"
#: src/fr-window.c:6779 #: src/fr-window.c:6782
msgid "_Skip" msgid "_Skip"
msgstr "_Omitir" msgstr "_Omitir"
#: src/fr-window.c:7659 src/fr-window.c:8016 #: src/fr-window.c:7662 src/fr-window.c:8019
#, c-format #, c-format
msgid "Could not save the archive “%s”" msgid "Could not save the archive “%s”"
msgstr "No se pudo guardar el archivador «%s»" msgstr "No se pudo guardar el archivador «%s»"
#: src/fr-window.c:7786 #: src/fr-window.c:7789
msgid "Save" msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: src/fr-window.c:8110 #: src/fr-window.c:8113
msgid "Last Output" msgid "Last Output"
msgstr "Último resultado" msgstr "Último resultado"
#. Translators: the name references to a filename. This message can appear when renaming a file. #. Translators: the name references to a filename. This message can appear when renaming a file.
#: src/fr-window.c:8333 #: src/fr-window.c:8336
msgid "New name is void, please type a name." msgid "New name is void, please type a name."
msgstr "El nombre nuevo está vacío, introduzca un nombre." msgstr "El nombre nuevo está vacío, introduzca un nombre."
#. Translators: the %s references to a filename. This message can appear when renaming a file. #. Translators: the %s references to a filename. This message can appear when renaming a file.
#: src/fr-window.c:8343 #: src/fr-window.c:8346
#, c-format #, c-format
msgid "" msgid ""
"Name “%s” is not valid because it contains at least one of the following " "Name “%s” is not valid because it contains at least one of the following "
...@@ -929,7 +922,7 @@ msgstr "" ...@@ -929,7 +922,7 @@ msgstr ""
"El nombre «%s» no es válido porque contiene al menos uno de los siguientes " "El nombre «%s» no es válido porque contiene al menos uno de los siguientes "
"caracteres: %s, introduzca otro nombre." "caracteres: %s, introduzca otro nombre."
#: src/fr-window.c:8379 #: src/fr-window.c:8382
#, c-format #, c-format
msgid "" msgid ""
"A folder named “%s” already exists.\n" "A folder named “%s” already exists.\n"
...@@ -940,11 +933,11 @@ msgstr "" ...@@ -940,11 +933,11 @@ msgstr ""
"\n" "\n"
"%s" "%s"
#: src/fr-window.c:8379 src/fr-window.c:8381 #: src/fr-window.c:8382 src/fr-window.c:8384
msgid "Please use a different name." msgid "Please use a different name."
msgstr "Use un nombre diferente." msgstr "Use un nombre diferente."
#: src/fr-window.c:8381 #: src/fr-window.c:8384
#, c-format #, c-format
msgid "" msgid ""
"A file named “%s” already exists.\n" "A file named “%s” already exists.\n"
...@@ -955,51 +948,51 @@ msgstr "" ...@@ -955,51 +948,51 @@ msgstr ""
"\n" "\n"
"%s" "%s"
#: src/fr-window.c:8451 #: src/fr-window.c:8454
msgid "Rename" msgid "Rename"
msgstr "Renombrar" msgstr "Renombrar"
#: src/fr-window.c:8452 #: src/fr-window.c:8455
msgid "_New folder name:" msgid "_New folder name:"
msgstr "_Nombre de carpeta nueva:" msgstr "_Nombre de carpeta nueva:"
#: src/fr-window.c:8452 #: src/fr-window.c:8455
msgid "_New file name:" msgid "_New file name:"
msgstr "_Nombre del archivo nuevo:" msgstr "_Nombre del archivo nuevo:"
#: src/fr-window.c:8456 #: src/fr-window.c:8459
msgid "_Rename" msgid "_Rename"
msgstr "_Renombrar" msgstr "_Renombrar"
#: src/fr-window.c:8473 src/fr-window.c:8491 #: src/fr-window.c:8476 src/fr-window.c:8494
msgid "Could not rename the folder" msgid "Could not rename the folder"
msgstr "No se pudo renombrar la carpeta" msgstr "No se pudo renombrar la carpeta"
#: src/fr-window.c:8473 src/fr-window.c:8491 #: src/fr-window.c:8476 src/fr-window.c:8494
msgid "Could not rename the file" msgid "Could not rename the file"
msgstr "No se pudo renombrar el archivo" msgstr "No se pudo renombrar el archivo"
#. Translators: %s are archive filenames #. Translators: %s are archive filenames
#: src/fr-window.c:8929 #: src/fr-window.c:8932
#, c-format #, c-format
msgid "Moving the files from “%s” to “%s”" msgid "Moving the files from “%s” to “%s”"
msgstr "Moviendo los archivos de «%s» a «%s»" msgstr "Moviendo los archivos de «%s» a «%s»"
#. Translators: %s are archive filenames #. Translators: %s are archive filenames
#: src/fr-window.c:8932 #: src/fr-window.c:8935
#, c-format #, c-format
msgid "Copying the files from “%s” to “%s”" msgid "Copying the files from “%s” to “%s”"
msgstr "Copiando los archivos de «%s» a «%s»" msgstr "Copiando los archivos de «%s» a «%s»"
#: src/fr-window.c:8983 #: src/fr-window.c:8986
msgid "Paste Selection" msgid "Paste Selection"
msgstr "Pegar selección" msgstr "Pegar selección"
#: src/fr-window.c:8984 #: src/fr-window.c:8987
msgid "_Destination folder:" msgid "_Destination folder:"
msgstr "Carpeta de _destino:" msgstr "Carpeta de _destino:"
#: src/fr-window.c:8988 src/ui/app-menubar.ui:61 #: src/fr-window.c:8991 src/ui/app-menubar.ui:61
msgid "_Paste" msgid "_Paste"
msgstr "_Pegar" msgstr "_Pegar"
...@@ -1329,6 +1322,10 @@ msgstr "Número de archivos:" ...@@ -1329,6 +1322,10 @@ msgstr "Número de archivos:"
msgid "S_elect the files you want to update:" msgid "S_elect the files you want to update:"
msgstr "S_eleccione los archivos que quiere actualizar:" msgstr "S_eleccione los archivos que quiere actualizar:"
#~| msgid "Archive Manager"
#~ msgid "org.gnome.ArchiveManager"
#~ msgstr "org.gnome.ArchiveManager"
#~| msgid "File Roller" #~| msgid "File Roller"
#~ msgid "file-roller" #~ msgid "file-roller"
#~ msgstr "file-roller" #~ msgstr "file-roller"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -73,6 +73,9 @@ file_selector_response_cb (GtkWidget *widget, ...@@ -73,6 +73,9 @@ file_selector_response_cb (GtkWidget *widget,
const char *exclude_folders; const char *exclude_folders;
GList *files; GList *files;
if (response == GTK_RESPONSE_NONE)
return TRUE;
dlg_add_folder_save_last_options (data); dlg_add_folder_save_last_options (data);
if ((response == GTK_RESPONSE_CANCEL) || (response == GTK_RESPONSE_DELETE_EVENT)) { if ((response == GTK_RESPONSE_CANCEL) || (response == GTK_RESPONSE_DELETE_EVENT)) {
...@@ -207,11 +210,7 @@ dlg_add (FrWindow *window) ...@@ -207,11 +210,7 @@ dlg_add (FrWindow *window)
/* add the buttons */ /* add the buttons */
if (! use_header) if (! use_header)
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (data->dialog))), gtk_dialog_add_action_widget (GTK_DIALOG (data->dialog), options_button, GTK_RESPONSE_NONE);
options_button,
FALSE,
FALSE,
0);
gtk_dialog_add_button (GTK_DIALOG (data->dialog), gtk_dialog_add_button (GTK_DIALOG (data->dialog),
_GTK_LABEL_CANCEL, _GTK_LABEL_CANCEL,
......
...@@ -175,7 +175,7 @@ install_packages (InstallerData *idata) ...@@ -175,7 +175,7 @@ install_packages (InstallerData *idata)
if (window != NULL) { if (window != NULL) {
GdkCursor *cursor; GdkCursor *cursor;
cursor = gdk_cursor_new (GDK_WATCH); cursor = gdk_cursor_new_for_display (gdk_display_get_default(), GDK_WATCH);
gdk_window_set_cursor (window, cursor); gdk_window_set_cursor (window, cursor);
g_object_unref (cursor); g_object_unref (cursor);
......
...@@ -42,15 +42,15 @@ ...@@ -42,15 +42,15 @@
#define FILE_ATTRIBUTES_NEEDED_BY_ARCHIVE_ENTRY ("standard::*,time::*,access::*,unix::*") #define FILE_ATTRIBUTES_NEEDED_BY_ARCHIVE_ENTRY ("standard::*,time::*,access::*,unix::*")
G_DEFINE_TYPE (FrArchiveLibarchive, fr_archive_libarchive, FR_TYPE_ARCHIVE)
struct _FrArchiveLibarchivePrivate { struct _FrArchiveLibarchivePrivate {
gssize compressed_size; gssize compressed_size;
gssize uncompressed_size; gssize uncompressed_size;
}; };
G_DEFINE_TYPE_WITH_PRIVATE (FrArchiveLibarchive, fr_archive_libarchive, FR_TYPE_ARCHIVE)
static void static void
fr_archive_libarchive_finalize (GObject *object) fr_archive_libarchive_finalize (GObject *object)
{ {
...@@ -83,13 +83,16 @@ const char *libarchiver_mime_types[] = { ...@@ -83,13 +83,16 @@ const char *libarchiver_mime_types[] = {
"application/x-lrzip-compressed-tar", "application/x-lrzip-compressed-tar",
"application/x-lzip-compressed-tar", "application/x-lzip-compressed-tar",
"application/x-lzma-compressed-tar", "application/x-lzma-compressed-tar",
"application/x-lzop-compressed-tar",
"application/x-rar", "application/x-rar",
"application/x-rpm", "application/x-rpm",
"application/x-tar", "application/x-tar",
"application/x-tarz", "application/x-tarz",
"application/x-tzo",
"application/x-xar", "application/x-xar",
"application/x-xz-compressed-tar", "application/x-xz-compressed-tar",
#if (ARCHIVE_VERSION_NUMBER >= 3003003)
"application/x-zstd-compressed-tar",
#endif
"application/zip", "application/zip",
NULL NULL
}; };
...@@ -111,10 +114,14 @@ fr_archive_libarchive_get_capabilities (FrArchive *archive, ...@@ -111,10 +114,14 @@ fr_archive_libarchive_get_capabilities (FrArchive *archive,
capabilities = FR_ARCHIVE_CAN_STORE_MANY_FILES; capabilities = FR_ARCHIVE_CAN_STORE_MANY_FILES;
/* write-only formats */ /* give priority to 7z* for 7z archives. */
if (strcmp (mime_type, "application/x-7z-compressed") == 0) { if (strcmp (mime_type, "application/x-7z-compressed") == 0) {
capabilities |= FR_ARCHIVE_CAN_WRITE; if (_g_program_is_available ("7za", check_command)
return capabilities; || _g_program_is_available ("7zr", check_command)
|| _g_program_is_available ("7z", check_command))
{
return capabilities;
}
} }
/* give priority to 7za that supports CAB files better. */ /* give priority to 7za that supports CAB files better. */
...@@ -274,6 +281,73 @@ load_data_read (struct archive *a, ...@@ -274,6 +281,73 @@ load_data_read (struct archive *a,
} }
static gint64
load_data_seek (struct archive *a,
void *client_data,
gint64 request,
int whence)
{
GSeekable *seekable;
GSeekType seektype;
off_t new_offset;
LoadData *load_data = client_data;
seekable = (GSeekable*)(load_data->istream);
if ((load_data->error != NULL) || (load_data->istream == NULL))
return -1;
switch (whence) {
case SEEK_SET:
seektype = G_SEEK_SET;
break;
case SEEK_CUR:
seektype = G_SEEK_CUR;
break;
case SEEK_END:
seektype = G_SEEK_END;
break;
default:
return -1;
}
g_seekable_seek (seekable,
request,
seektype,
load_data->cancellable,
&load_data->error);
new_offset = g_seekable_tell (seekable);
if (load_data->error != NULL)
return -1;
return new_offset;
}
static gint64
load_data_skip (struct archive *a,
void *client_data,
gint64 request)
{
GSeekable *seekable;
off_t old_offset, new_offset;
LoadData *load_data = client_data;
seekable = (GSeekable*)(load_data->istream);
if (load_data->error != NULL || load_data->istream == NULL)
return -1;
old_offset = g_seekable_tell (seekable);
new_offset = load_data_seek (a, client_data, request, SEEK_CUR);
if (new_offset > old_offset)
return (new_offset - old_offset);
return 0;
}
static int static int
load_data_close (struct archive *a, load_data_close (struct archive *a,
void *client_data) void *client_data)
...@@ -292,6 +366,25 @@ load_data_close (struct archive *a, ...@@ -292,6 +366,25 @@ load_data_close (struct archive *a,
} }
static int
create_read_object (LoadData *load_data,
struct archive **a)
{
*a = archive_read_new ();
archive_read_support_filter_all (*a);
archive_read_support_format_all (*a);
archive_read_set_open_callback (*a, load_data_open);
archive_read_set_read_callback (*a, load_data_read);
archive_read_set_close_callback (*a, load_data_close);
archive_read_set_seek_callback (*a, load_data_seek);
archive_read_set_skip_callback (*a, load_data_skip);
archive_read_set_callback_data (*a, load_data);
return archive_read_open1 (*a);
}
/* -- list -- */ /* -- list -- */
...@@ -349,10 +442,12 @@ list_archive_thread (GSimpleAsyncResult *result, ...@@ -349,10 +442,12 @@ list_archive_thread (GSimpleAsyncResult *result,
fr_archive_progress_set_total_bytes (load_data->archive, fr_archive_progress_set_total_bytes (load_data->archive,
_g_file_get_size (fr_archive_get_file (load_data->archive), cancellable)); _g_file_get_size (fr_archive_get_file (load_data->archive), cancellable));
a = archive_read_new (); r = create_read_object (load_data, &a);
archive_read_support_filter_all (a); if (r != ARCHIVE_OK) {
archive_read_support_format_all (a); archive_read_free(a);
archive_read_open (a, load_data, load_data_open, load_data_read, load_data_close); return;
}
while ((r = archive_read_next_header (a, &entry)) == ARCHIVE_OK) { while ((r = archive_read_next_header (a, &entry)) == ARCHIVE_OK) {
FileData *file_data; FileData *file_data;
const char *pathname; const char *pathname;
...@@ -620,15 +715,17 @@ extract_archive_thread (GSimpleAsyncResult *result, ...@@ -620,15 +715,17 @@ extract_archive_thread (GSimpleAsyncResult *result,
extract_data = g_simple_async_result_get_op_res_gpointer (result); extract_data = g_simple_async_result_get_op_res_gpointer (result);
load_data = LOAD_DATA (extract_data); load_data = LOAD_DATA (extract_data);
r = create_read_object (load_data, &a);
if (r != ARCHIVE_OK) {
archive_read_free(a);
return;
}
checked_folders = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, NULL); checked_folders = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, NULL);
created_files = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, g_object_unref); created_files = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, g_object_unref);
folders_created_during_extraction = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, NULL); folders_created_during_extraction = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, NULL);
fr_archive_progress_set_total_files (load_data->archive, extract_data->n_files_to_extract); fr_archive_progress_set_total_files (load_data->archive, extract_data->n_files_to_extract);
a = archive_read_new ();
archive_read_support_filter_all (a);
archive_read_support_format_all (a);
archive_read_open (a, load_data, load_data_open, load_data_read, load_data_close);
while ((r = archive_read_next_header (a, &entry)) == ARCHIVE_OK) { while ((r = archive_read_next_header (a, &entry)) == ARCHIVE_OK) {
const char *pathname; const char *pathname;
char *fullpath; char *fullpath;
...@@ -1163,7 +1260,7 @@ _archive_write_set_format_from_context (struct archive *a, ...@@ -1163,7 +1260,7 @@ _archive_write_set_format_from_context (struct archive *a,
archive_write_set_format_pax_restricted (a); archive_write_set_format_pax_restricted (a);
archive_filter = ARCHIVE_FILTER_LZMA; archive_filter = ARCHIVE_FILTER_LZMA;
} }
else if (_g_str_equal (mime_type, "application/x-lzop-compressed-tar")) { else if (_g_str_equal (mime_type, "application/x-tzo")) {
archive_write_set_format_pax_restricted (a); archive_write_set_format_pax_restricted (a);
archive_filter = ARCHIVE_FILTER_LZOP; archive_filter = ARCHIVE_FILTER_LZOP;
} }
...@@ -1171,6 +1268,12 @@ _archive_write_set_format_from_context (struct archive *a, ...@@ -1171,6 +1268,12 @@ _archive_write_set_format_from_context (struct archive *a,
archive_write_set_format_pax_restricted (a); archive_write_set_format_pax_restricted (a);
archive_filter = ARCHIVE_FILTER_XZ; archive_filter = ARCHIVE_FILTER_XZ;
} }
#if (ARCHIVE_VERSION_NUMBER >= 3003003)
else if (_g_str_equal (mime_type, "application/x-zstd-compressed-tar")) {
archive_write_set_format_pax_restricted (a);
archive_filter = ARCHIVE_FILTER_ZSTD;
}
#endif
else if (_g_str_equal (mime_type, "application/x-tar")) { else if (_g_str_equal (mime_type, "application/x-tar")) {
archive_write_add_filter_none (a); archive_write_add_filter_none (a);
archive_write_set_format_pax_restricted (a); archive_write_set_format_pax_restricted (a);
...@@ -1225,6 +1328,11 @@ _archive_write_set_format_from_context (struct archive *a, ...@@ -1225,6 +1328,11 @@ _archive_write_set_format_from_context (struct archive *a,
case ARCHIVE_FILTER_XZ: case ARCHIVE_FILTER_XZ:
archive_write_add_filter_xz (a); archive_write_add_filter_xz (a);
break; break;
#if (ARCHIVE_VERSION_NUMBER >= 3003003)
case ARCHIVE_FILTER_ZSTD:
archive_write_add_filter_zstd (a);
break;
#endif
default: default:
break; break;
} }
...@@ -1232,19 +1340,40 @@ _archive_write_set_format_from_context (struct archive *a, ...@@ -1232,19 +1340,40 @@ _archive_write_set_format_from_context (struct archive *a,
/* set the compression level */ /* set the compression level */
compression_level = NULL; compression_level = NULL;
switch (save_data->compression) { #if (ARCHIVE_VERSION_NUMBER >= 3003003)
case FR_COMPRESSION_VERY_FAST: if (archive_filter == ARCHIVE_FILTER_ZSTD) {
compression_level = "1"; switch (save_data->compression) {
break; case FR_COMPRESSION_VERY_FAST:
case FR_COMPRESSION_FAST: compression_level = "1";
compression_level = "3"; break;
break; case FR_COMPRESSION_FAST:
case FR_COMPRESSION_NORMAL: compression_level = "2";
compression_level = "6"; break;
break; case FR_COMPRESSION_NORMAL:
case FR_COMPRESSION_MAXIMUM: compression_level = "3";
compression_level = "9"; break;
break; case FR_COMPRESSION_MAXIMUM:
compression_level = "22";
break;
}
}
else
#endif
{
switch (save_data->compression) {
case FR_COMPRESSION_VERY_FAST:
compression_level = "1";
break;
case FR_COMPRESSION_FAST:
compression_level = "3";
break;
case FR_COMPRESSION_NORMAL:
compression_level = "6";
break;
case FR_COMPRESSION_MAXIMUM:
compression_level = "9";
break;
}
} }
if (compression_level != NULL) if (compression_level != NULL)
archive_write_set_filter_option (a, NULL, "compression-level", compression_level); archive_write_set_filter_option (a, NULL, "compression-level", compression_level);
...@@ -1436,10 +1565,7 @@ save_archive_thread (GSimpleAsyncResult *result, ...@@ -1436,10 +1565,7 @@ save_archive_thread (GSimpleAsyncResult *result,
archive_write_open (b, save_data, save_data_open, save_data_write, save_data_close); archive_write_open (b, save_data, save_data_open, save_data_write, save_data_close);
archive_write_set_bytes_in_last_block (b, 1); archive_write_set_bytes_in_last_block (b, 1);
a = archive_read_new (); create_read_object (load_data, &a);
archive_read_support_filter_all (a);
archive_read_support_format_all (a);
archive_read_open (a, load_data, load_data_open, load_data_read, load_data_close);
if (save_data->begin_operation != NULL) if (save_data->begin_operation != NULL)
save_data->begin_operation (save_data, save_data->user_data); save_data->begin_operation (save_data, save_data->user_data);
...@@ -2161,7 +2287,6 @@ fr_archive_libarchive_class_init (FrArchiveLibarchiveClass *klass) ...@@ -2161,7 +2287,6 @@ fr_archive_libarchive_class_init (FrArchiveLibarchiveClass *klass)
FrArchiveClass *archive_class; FrArchiveClass *archive_class;
fr_archive_libarchive_parent_class = g_type_class_peek_parent (klass); fr_archive_libarchive_parent_class = g_type_class_peek_parent (klass);
g_type_class_add_private (klass, sizeof (FrArchiveLibarchivePrivate));
gobject_class = G_OBJECT_CLASS (klass); gobject_class = G_OBJECT_CLASS (klass);
gobject_class->finalize = fr_archive_libarchive_finalize; gobject_class->finalize = fr_archive_libarchive_finalize;
...@@ -2186,7 +2311,7 @@ fr_archive_libarchive_init (FrArchiveLibarchive *self) ...@@ -2186,7 +2311,7 @@ fr_archive_libarchive_init (FrArchiveLibarchive *self)
{ {
FrArchive *base = FR_ARCHIVE (self); FrArchive *base = FR_ARCHIVE (self);
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, FR_TYPE_ARCHIVE_LIBARCHIVE, FrArchiveLibarchivePrivate); self->priv = fr_archive_libarchive_get_instance_private (self);
base->propAddCanReplace = TRUE; base->propAddCanReplace = TRUE;
base->propAddCanUpdate = TRUE; base->propAddCanUpdate = TRUE;
......
...@@ -65,9 +65,6 @@ char *action_names[] = { "NONE", ...@@ -65,9 +65,6 @@ char *action_names[] = { "NONE",
"UPDATING_FILES" }; "UPDATING_FILES" };
G_DEFINE_TYPE (FrArchive, fr_archive, G_TYPE_OBJECT)
typedef struct _DroppedItemsData DroppedItemsData; typedef struct _DroppedItemsData DroppedItemsData;
...@@ -97,6 +94,9 @@ struct _FrArchivePrivate { ...@@ -97,6 +94,9 @@ struct _FrArchivePrivate {
}; };
G_DEFINE_TYPE_WITH_PRIVATE (FrArchive, fr_archive, G_TYPE_OBJECT)
enum { enum {
START, START,
PROGRESS, PROGRESS,
...@@ -301,7 +301,6 @@ fr_archive_class_init (FrArchiveClass *klass) ...@@ -301,7 +301,6 @@ fr_archive_class_init (FrArchiveClass *klass)