[SCM] easytag/master: Imported Upstream version 2.3.4

amigadave-guest at users.alioth.debian.org amigadave-guest at users.alioth.debian.org
Fri Feb 6 19:33:28 UTC 2015


The following commit has been merged in the master branch:
commit 94e4737159a77ee493985cf598472ad77f2c37c3
Author: David King <amigadave at amigadave.com>
Date:   Fri Feb 6 19:32:56 2015 +0000

    Imported Upstream version 2.3.4

diff --git a/ChangeLog b/ChangeLog
index 866de50..ad172c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,505 @@
+commit bec4bdd64f7650e0051f90d198ab3e6ee9a4dfb3
+Author: David King <amigadave at amigadave.com>
+Date:   Fri Feb 6 17:49:05 2015 +0000
+
+    Update NEWS for 2.3.4 release
+
+M	NEWS
+M	configure.ac
+
+commit a2d8e7a5c8cb4541666e7c3156ab1e87078ec015
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Feb 6 17:45:09 2015 +0000
+
+    Fix redefinition warning from TagLib
+
+    https://github.com/taglib/taglib/commit/7d7a7be115976d31715b7d4051d50249f32d2a05
+
+M	src/tags/mp4_tag.cc
+
+commit ecf346d48f601c5c1c42a772338bef5f34ef2e99
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Feb 6 17:31:35 2015 +0000
+
+    Fix redefinition warning in Windows compat code
+
+    Only define a custom mkstemp() or truncate() if the functions are not
+    available.
+
+M	src/win32/win32dep.c
+M	src/win32/win32dep.h
+
+commit 44ee9ec20ce2f6dd0810a0abf268cd0209783d92
+Author: David King <amigadave at amigadave.com>
+Date:	Thu Jan 8 20:03:47 2015 +0000
+
+    Remove several unused functions
+
+    Found with the -fdata-sections and -ffunction-sections arguments
+    to the
+    compiler, and --gc-sections and --print-gc-sections linker arguments.
+
+M	src/application_window.c
+M	src/application_window.h
+M	src/charset.c
+M	src/charset.h
+M	src/misc.c
+M	src/misc.h
+M	src/preferences_dialog.c
+M	src/scan_dialog.c
+M	src/scan_dialog.h
+
+commit 8a94b7defb5600919930434410f69eb1bdbf7697
+Author: David King <amigadave at amigadave.com>
+Date:	Wed Jan 7 21:02:58 2015 +0000
+
+    Refactor several file list functions
+
+    Accept a file list as the first parameter, and return the list pointer
+    as necessary.
+
+M	src/application_window.c
+M	src/browser.c
+M	src/easytag.c
+M	src/file.c
+M	src/file_list.c
+M	src/file_list.h
+M	src/tag_area.c
+
+commit e319c907d92245ac581258d43e4e8491a1830090
+Author: David King <amigadave at amigadave.com>
+Date:	Wed Jan 7 20:46:44 2015 +0000
+
+    Remove unused displayed list function
+
+M	src/file_list.c
+M	src/file_list.h
+
+commit f6f2e4d32fd037960db81b6fba32abb21380d154
+Author: David King <amigadave at amigadave.com>
+Date:	Mon Jan 5 23:24:14 2015 +0000
+
+    Refactor artist album file list functions
+
+    Take a file list as the first parameter.
+
+M	src/browser.c
+M	src/file_list.c
+M	src/file_list.h
+
+commit e9225a10b223f6ac1a5ffb9e15c882b273846373
+Author: David King <amigadave at amigadave.com>
+Date:	Mon Jan 5 22:48:49 2015 +0000
+
+    Refactor file list freeing functions
+
+    Accept the list to be freed as a parameter. Zero out the list
+    pointer in
+    ET_Core_Free() instead of in the list freeing functions.
+
+M	src/et_core.c
+M	src/file_list.c
+M	src/file_list.h
+
+commit 4d2e91f89457275b7527209605644d1074ecc318
+Author: David King <amigadave at amigadave.com>
+Date:	Mon Jan 5 21:27:34 2015 +0000
+
+    Refactor function to check if all files are saved
+
+    Accept the file list as a parameter.
+
+M	src/application_window.c
+M	src/browser.c
+M	src/file_list.c
+M	src/file_list.h
+
+commit 8097699d1170248d09721bfda9baf8a747fe5085
+Author: David King <amigadave at amigadave.com>
+Date:	Wed Feb 4 08:28:32 2015 +0000
+
+    Use AX_GENERATE_CHANGELOG
+
+    Use the upstream autoconf archive ChangeLog generation macro, rather
+    than a custom equivalent.
+
+M	Makefile.am
+M	configure.ac
+A	m4/ax_generate_changelog.m4
+
+commit 7f2d67b9a02a6c4d5f6cae10b012d9fc86f821a7
+Author: David King <amigadave at amigadave.com>
+Date:	Tue Feb 3 23:17:12 2015 +0000
+
+    Use AX_IS_RELEASE to control compiler warnings
+
+    Make compiler warnings non-fatal for release builds (those in which a
+    git directory is not present).
+
+M	configure.ac
+A	m4/ax_is_release.m4
+
+commit 3aaf603fb5579ba547f2295c541f4887cae7e161
+Author: David King <amigadave at amigadave.com>
+Date:	Sat Jan 31 14:08:56 2015 +0100
+
+    Port to AX_COMPILER_FLAGS
+
+M	configure.ac
+A	m4/ax_append_compile_flags.m4
+A	m4/ax_append_flag.m4
+A	m4/ax_check_compile_flag.m4
+A	m4/ax_check_enable_debug.m4
+A	m4/ax_compiler_flags.m4
+A	m4/ax_compiler_flags_cflags.m4
+A	m4/ax_compiler_flags_cxxflags.m4
+A	m4/ax_compiler_flags_gir.m4
+A	m4/ax_compiler_flags_ldflags.m4
+A	m4/ax_require_defined.m4
+
+commit 127157defbb9965c2cd5d0a591fd8a24336f3c57
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 30 14:10:57 2015 +0000
+
+    Fix const correctness warnings
+
+M	src/file_area.c
+M	src/scan_dialog.c
+M	src/tag_area.c
+M	src/tags/ogg_header.c
+
+commit e0a9c2f75c9a65d1bd4508dbde46abc0d1742106
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 30 13:53:50 2015 +0000
+
+    Fix sign comparison warnings
+
+M	src/cddb_dialog.c
+M	src/charset.c
+M	src/charset.h
+M	src/core_types.h
+M	src/file.c
+M	src/file.h
+M	src/log.c
+M	src/scan_dialog.c
+M	src/tags/id3v24_tag.c
+
+commit 9110197224fb3084b926828c9a1466e89d1b5390
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 30 13:50:17 2015 +0000
+
+    Avoid old-style function declaration
+
+M	src/application.c
+M	src/log.c
+
+commit e90a7e842f459fd3354d5de9f9da8410de143386
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 30 13:49:40 2015 +0000
+
+    Avoid unhandled switch cases warning
+
+M	src/application.c
+M	src/picture.c
+M	src/playlist_dialog.c
+M	src/scan_dialog.c
+M	src/tag_area.c
+M	src/tags/flac_header.c
+M	src/tags/flac_tag.c
+M	src/tags/id3_tag.c
+M	src/tags/id3v24_tag.c
+M	src/tags/mp4_tag.cc
+M	src/tags/mpeg_header.c
+M	src/tags/ogg_header.c
+M	src/tags/vcedit.c
+
+commit 6f19b8589cb2857c646dbdc443108026ccd62d09
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 30 13:43:57 2015 +0000
+
+    Avoid shadowed variable warnings
+
+M	src/application_window.c
+M	src/cddb_dialog.c
+M	src/charset.c
+M	src/easytag.c
+M	src/file.c
+M	src/file_list.c
+M	src/log.c
+M	src/playlist_dialog.c
+M	src/scan_dialog.c
+M	src/tags/gio_wrapper.cc
+M	src/tags/id3_tag.c
+M	src/tags/id3v24_tag.c
+M	src/tags/libapetag/apetaglib.c
+M	src/tags/mp4_tag.cc
+M	src/tags/ogg_tag.c
+M	src/tags/vcedit.c
+
+commit 0a6d0228a7cd2ea8a92fe502f15d07a09a44d4f0
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 30 13:35:25 2015 +0000
+
+    Add missing default cases in switch statements
+
+M	src/application_window.c
+M	src/browser.c
+M	src/cddb_dialog.c
+M	src/file_list.c
+M	src/load_files_dialog.c
+M	src/playlist_dialog.c
+M	src/scan_dialog.c
+M	src/tag_area.c
+M	src/tags/opus_header.c
+M	src/tags/vcedit.c
+
+commit 2db55ba7ecf762762bf95d27c673dd16bf1110c8
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 30 13:31:15 2015 +0000
+
+    Remove redundant declaration
+
+M	src/file_list.h
+M	src/scan_dialog.c
+
+commit 91e48e8a6cdc551cb6e0220591a3b3d7350ee9c0
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 30 14:26:19 2015 +0000
+
+    Handle OptimFrog files as if they are unknown
+
+M	src/file.c
+M	src/file_list.c
+
+commit 65435b7197b5edf8404da3dee5ec633bbb5f9861
+Author: David King <amigadave at amigadave.com>
+Date:	Mon Feb 2 20:55:13 2015 +0000
+
+    Fix compilation of misc test
+
+M	tests/test-misc.c
+
+commit 2703196a5c7446c0873aa71bdd3d26428ed53296
+Author: David King <amigadave at amigadave.com>
+Date:	Thu Jan 22 16:32:20 2015 +0000
+
+    Remove unnecessary NULL check in CDDB dialog
+
+    Found with Coverity (CID 1265641).
+
+M	src/cddb_dialog.c
+
+commit 7c04a8693a4a05aa5a4d19e9ea65ffc3502e7a67
+Author: David King <amigadave at amigadave.com>
+Date:	Thu Jan 22 16:31:55 2015 +0000
+
+    Add missing break in switch
+
+    Avoid an assert when opening Opus files.
+
+    Found with Coverity (CID 1265644).
+
+M	src/tags/vcedit.c
+
+commit c47e1c630c7d510a33758e1886f2569bffd6e1f7
+Author: Daniel Mustieles <daniel.mustieles at gmail.com>
+Date:	Mon Jan 12 19:13:06 2015 +0100
+
+    Updated Spanish translation
+
+M	po/es.po
+
+commit 31b6782943c2470e71a83835b07f723046d23da2
+Author: Christian Kirbach <christian.kirbach at gmail.com>
+Date:	Sun Jan 11 23:43:12 2015 +0100
+
+    Added German help translation
+
+M	help/Makefile.am
+A	help/de/de.po
+
+commit 93b17aed08fae4c89739b7ad84419fb173ce2042
+Author: David King <amigadave at amigadave.com>
+Date:	Fri Jan 9 18:54:12 2015 +0000
+
+    Simplify GtkFileFilter creation
+
+M	src/tag_area.c
+
+commit 5709590dda8e909e5d0c85881aa1ced632d92e1b
+Author: David King <amigadave at amigadave.com>
+Date:	Thu Jan 8 20:02:01 2015 +0000
+
+    Fix common symbol linker warnings
+
+    Found with the --warn-common linker argument.
+
+M	src/easytag.c
+M	src/easytag.h
+M	src/setting.c
+M	src/setting.h
+
+commit debc2d333fa7a1679e4828f1d8f78f8a1546f7e2
+Author: David King <amigadave at amigadave.com>
+Date:	Wed Jan 7 09:23:54 2015 +0000
+
+    Fix pointer arithmetic when reading CDDB result
+
+    Found with cppcheck.
+
+M	src/cddb_dialog.c
+
+commit b8719737110fb33bd4c169308f9b316191beb9c1
+Author: David King <amigadave at amigadave.com>
+Date:	Wed Jan 7 09:23:32 2015 +0000
+
+    Avoid an unnecessary variable assignment
+
+    Found with cppcheck.
+
+M	src/browser.c
+
+commit ebe269ac7bedf4394f57db8712f8dfd402f2d5e3
+Author: David King <amigadave at amigadave.com>
+Date:	Wed Jan 7 09:16:46 2015 +0000
+
+    Fix crash when saving FLAC tags
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=742350
+
+M	src/tags/id3_tag.c
+
+commit 9aad89da3bbe7c822eb12fb082e7d4a085eb3ed6
+Author: David King <amigadave at amigadave.com>
+Date:	Mon Jan 5 00:09:36 2015 +0000
+
+    Refactor File_Tag copying functions
+
+    Change functions which accept ET_File for the purposes of copying a
+    File_Tag struct to instead use the File_Tag directly. Move the
+    declarations to file_tag.h.
+
+M	src/cddb_dialog.c
+M	src/file.c
+M	src/file.h
+M	src/file_tag.c
+M	src/file_tag.h
+M	src/scan_dialog.c
+M	src/tag_area.c
+
+commit 5068f6537caa6748cf535405a6ef59776bb0f683
+Author: David King <amigadave at amigadave.com>
+Date:	Sun Jan 4 22:24:36 2015 +0000
+
+    Update copyright year in about dialog
+
+M	src/about.c
+
+commit f1b5b2ab94bdd5448e3415f1189c846fabfbcd36
+Author: David King <amigadave at amigadave.com>
+Date:	Sun Jan 4 22:15:56 2015 +0000
+
+    Simplify ET_Copy_File_Tag_Item()
+
+    Use File_Tag setters to avoid code duplication.
+
+M	src/file_tag.c
+
+commit c2d9b91f88f0255d4f54d48b1f108d7675c1ec56
+Author: David King <amigadave at amigadave.com>
+Date:	Sun Jan 4 21:58:57 2015 +0000
+
+    Remove unnecessary et_file_tag_init()
+
+    Use g_slice_new0() to zero-initialize the File_Tag struct, and do away
+    with the separate function.
+
+M	src/file_tag.c
+
+commit 4db3cfad59ada303745ca1d938daf0fdec92b88d
+Author: David King <amigadave at amigadave.com>
+Date:	Sun Jan 4 21:51:44 2015 +0000
+
+    Use consistent naming for File_Tag methods
+
+    Use et_file_tag_ as a prefix for functions dealing with File_Tag
+    structs.
+
+M	src/application_window.c
+M	src/cddb_dialog.c
+M	src/file.c
+M	src/file_list.c
+M	src/file_tag.c
+M	src/file_tag.h
+M	src/scan_dialog.c
+M	src/tag_area.c
+M	src/tags/flac_tag.c
+M	src/tags/id3_tag.c
+
+commit fda6ef148fa2c1f68494b17806d64083bc4a511a
+Author: Marek Černocký <marek at manet.cz>
+Date:	Sun Jan 4 23:35:33 2015 +0100
+
+    Updated Czech translation
+
+M	help/cs/cs.po
+
+commit 46ce097031559cf279f1d63c4fff25026ef2040e
+Author: Marek Černocký <marek at manet.cz>
+Date:	Sun Jan 4 22:38:12 2015 +0100
+
+    Add Czech help translation
+
+M	help/Makefile.am
+A	help/cs/cs.po
+
+commit 6224dff545be6ae7776d13f4ed37b148edd9c1a9
+Author: David King <amigadave at amigadave.com>
+Date:	Sun Jan 4 14:26:40 2015 +0000
+
+    Relicense id3lib wrapper to GPLv2+
+
+    Invoke Section 3 of the LGPL, and apply the terms of the GPL to
+    all the
+    LGPL portions of id3lib code inside EasyTAG.
+
+M	src/tags/id3lib/c_wrapper.cpp
+M	src/tags/id3lib/id3_bugfix.h
+
+commit 608a91f515004efe1ad44534e7cafc79c93e08e5
+Author: David King <amigadave at amigadave.com>
+Date:	Sun Jan 4 12:07:19 2015 +0000
+
+    Check for a valid Vorbis comment image MIME type
+
+M	src/tags/ogg_tag.c
+
+commit 8944602a8154fd7cbbaa6911e3f43b3e6f432368
+Author: David King <amigadave at amigadave.com>
+Date:	Sun Jan 4 11:34:44 2015 +0000
+
+    Do some validation of Vorbis artwork field lengths
+
+M	src/tags/ogg_tag.c
+
+commit 2024a4be439afd9cdf1b897e72bbda7b76052fdb
+Author: David King <amigadave at amigadave.com>
+Date:	Sun Jan 4 10:41:11 2015 +0000
+
+    Check for an invalid field when reading Vorbis art
+
+    When reading cover art from Vorbis comments, check that the
+    Base64-decoded data is at least long enough to hold the
+    METADATA_BLOCK_PICTURE fields. Mark any invalid files as modified, so
+    that the invalid field is removed upon saving.
+
+    https://retrace.fedoraproject.org/faf2/problems/516585/
+
+M	src/tags/ogg_tag.c
+
 commit e4c4e1a17c0a6c006f2e7e9669e68703bcad1367
 Author: David King <amigadave at amigadave.com>
-Date:   Wed Dec 31 19:21:12 2014 +0000
+Date:	Wed Dec 31 19:21:12 2014 +0000
 
     Update NEWS for 2.3.3 release
 
diff --git a/Makefile.am b/Makefile.am
index 13eeede..4857525 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -541,15 +541,8 @@ clean-local-dstamp:
 	-rm -f data/.dstamp
 	-rm -f tests/.dstamp
 
-git-changelog-hook:
-	$(AM_V_at)if $(top_srcdir)/build-aux/missing --run git \
-		--git-dir=$(top_srcdir)/.git --work-tree=$(top_srcdir) log \
-		--stat -M -C --name-status --no-color \
-		| fmt --split-only >.ChangeLog.tmp; \
-	then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \
-	else rm -f .ChangeLog.tmp; exit 1; fi
+ at GENERATE_CHANGELOG_RULES@
+dist-hook: dist-ChangeLog
 
-dist-hook: git-changelog-hook
-
-.PHONY: clean-local-dstamp git-changelog-hook
+.PHONY: clean-local-dstamp
 .PHONY: test test-report perf-report full-report
diff --git a/Makefile.in b/Makefile.in
index 5b065fa..62601fc 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -18,7 +18,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -88,28 +98,19 @@ bin_PROGRAMS = easytag$(EXEEXT)
 @EASYTAG_ENABLE_TESTS_TRUE@	tests/test-picture$(EXEEXT) \
 @EASYTAG_ENABLE_TESTS_TRUE@	tests/test-scan$(EXEEXT)
 subdir = .
-DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
-	$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/config.h.in $(top_srcdir)/doc/version.xml.in \
-	$(top_srcdir)/src/win32/easytag.rc.in $(dist_noinst_SCRIPTS) \
-	$(top_srcdir)/build-aux/depcomp $(dist_appicon128_DATA) \
-	$(dist_appicon16_DATA) $(dist_appicon22_DATA) \
-	$(dist_appicon24_DATA) $(dist_appicon256_DATA) \
-	$(dist_appicon32_DATA) $(dist_appicon48_DATA) \
-	$(dist_appicon64_DATA) $(dist_appiconscalable_DATA) \
-	$(dist_noinst_DATA) $(top_srcdir)/build-aux/test-driver \
-	COPYING THANKS TODO build-aux/compile build-aux/config.guess \
-	build-aux/config.sub build-aux/depcomp build-aux/install-sh \
-	build-aux/missing build-aux/ltmain.sh \
-	$(top_srcdir)/build-aux/compile \
-	$(top_srcdir)/build-aux/config.guess \
-	$(top_srcdir)/build-aux/config.sub \
-	$(top_srcdir)/build-aux/install-sh \
-	$(top_srcdir)/build-aux/ltmain.sh \
-	$(top_srcdir)/build-aux/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
+	$(top_srcdir)/m4/ax_append_flag.m4 \
+	$(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags_cxxflags.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
+	$(top_srcdir)/m4/ax_generate_changelog.m4 \
+	$(top_srcdir)/m4/ax_is_release.m4 \
+	$(top_srcdir)/m4/ax_require_defined.m4 \
+	$(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
 	$(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.m4 \
 	$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -117,6 +118,14 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(dist_noinst_SCRIPTS) \
+	$(dist_appicon128_DATA) $(dist_appicon16_DATA) \
+	$(dist_appicon22_DATA) $(dist_appicon24_DATA) \
+	$(dist_appicon256_DATA) $(dist_appicon32_DATA) \
+	$(dist_appicon48_DATA) $(dist_appicon64_DATA) \
+	$(dist_appiconscalable_DATA) $(dist_noinst_DATA) \
+	$(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -574,6 +583,20 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
 	$(TEST_LOG_FLAGS)
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/build-aux/compile \
+	$(top_srcdir)/build-aux/config.guess \
+	$(top_srcdir)/build-aux/config.sub \
+	$(top_srcdir)/build-aux/depcomp \
+	$(top_srcdir)/build-aux/install-sh \
+	$(top_srcdir)/build-aux/ltmain.sh \
+	$(top_srcdir)/build-aux/missing \
+	$(top_srcdir)/build-aux/test-driver \
+	$(top_srcdir)/doc/version.xml.in \
+	$(top_srcdir)/src/win32/easytag.rc.in AUTHORS COPYING \
+	ChangeLog INSTALL NEWS README THANKS TODO build-aux/compile \
+	build-aux/config.guess build-aux/config.sub build-aux/depcomp \
+	build-aux/install-sh build-aux/ltmain.sh build-aux/missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -639,7 +662,6 @@ CYGPATH_W = @CYGPATH_W@
 DATADIRNAME = @DATADIRNAME@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
-DEPRECATED_CPPFLAGS = @DEPRECATED_CPPFLAGS@
 DESKTOP_FILE_VALIDATE = @DESKTOP_FILE_VALIDATE@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
@@ -654,6 +676,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GDK_PIXBUF_PIXDATA = @GDK_PIXBUF_PIXDATA@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIT = @GIT@
 GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
 GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GLIB_MKENUMS = @GLIB_MKENUMS@
@@ -721,6 +744,8 @@ USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WARN_CXXFLAGS = @WARN_CXXFLAGS@
+WARN_LDFLAGS = @WARN_LDFLAGS@
+WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
 WINDRES = @WINDRES@
 XGETTEXT = @XGETTEXT@
 XMLCATALOG = @XMLCATALOG@
@@ -1204,7 +1229,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -3030,7 +3054,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 	if test -n "$$am__remaking_logs"; then \
 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
 	       "recursion detected" >&2; \
-	else \
+	elif test -n "$$redo_logs"; then \
 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
 	fi; \
 	if $(am__make_dryrun); then :; else \
@@ -3287,15 +3311,15 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
@@ -3331,17 +3355,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	    --srcdir=.. --prefix="$$dc_install_base" \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -3584,6 +3608,8 @@ uninstall-man: uninstall-man1
 	uninstall-man uninstall-man1 \
 	uninstall-nautilus_extensionLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 src/resource.c src/resource.h: data/org.gnome.EasyTAG.gresource.xml Makefile $(noinst_resource_files)
 	$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/data --generate $<
@@ -3711,17 +3737,10 @@ clean-local-dstamp:
 	-rm -f data/.dstamp
 	-rm -f tests/.dstamp
 
-git-changelog-hook:
-	$(AM_V_at)if $(top_srcdir)/build-aux/missing --run git \
-		--git-dir=$(top_srcdir)/.git --work-tree=$(top_srcdir) log \
-		--stat -M -C --name-status --no-color \
-		| fmt --split-only >.ChangeLog.tmp; \
-	then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \
-	else rm -f .ChangeLog.tmp; exit 1; fi
-
-dist-hook: git-changelog-hook
+ at GENERATE_CHANGELOG_RULES@
+dist-hook: dist-ChangeLog
 
-.PHONY: clean-local-dstamp git-changelog-hook
+.PHONY: clean-local-dstamp
 .PHONY: test test-report perf-report full-report
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/NEWS b/NEWS
index 35ae841..4b37378 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,17 @@
+2.3.4 - 2014-02-06 :
+====================
+
+    * Fix crash when saving FLAC tags
+    * Port to use AX_COMPILER_FLAGS for improved compiler warning checks
+    * Many compiler warning fixes, discovered after enabling extra warnings
+    * Fixes for two Coverity warnings
+    * Improve validation of Vorbis artwork and MIME types
+    * Refactoring of internal file list code
+    * Relicense id3lib wrapper to GPLv2+
+    * Christian Kirbach’s German help translation
+    * Marek Černocký’s Czech help translation
+    * Daniel Mustieles’ Spanish translation update
+
 2.3.3 - 2014-12-31 :
 ====================
 
diff --git a/aclocal.m4 b/aclocal.m4
index 7c399c9..604203f 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -657,7 +657,7 @@ AC_SUBST([YELP_HELP_RULES])
 m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([YELP_HELP_RULES])])
 ])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -669,10 +669,10 @@ m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([YELP_HELP_RULES])])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.14.1], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -688,14 +688,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14.1])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -740,15 +740,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -779,7 +778,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -970,7 +969,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1046,7 +1045,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1136,8 +1135,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -1210,7 +1209,11 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi])
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -1239,7 +1242,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1250,7 +1253,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -1260,7 +1263,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1282,7 +1285,7 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1317,7 +1320,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1367,7 +1370,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1406,7 +1409,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1435,7 +1438,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1482,7 +1485,7 @@ AC_LANG_POP([C])])
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1501,7 +1504,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1582,7 +1585,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1642,7 +1645,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1670,7 +1673,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1689,7 +1692,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1820,6 +1823,17 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
+m4_include([m4/ax_append_compile_flags.m4])
+m4_include([m4/ax_append_flag.m4])
+m4_include([m4/ax_check_compile_flag.m4])
+m4_include([m4/ax_compiler_flags.m4])
+m4_include([m4/ax_compiler_flags_cflags.m4])
+m4_include([m4/ax_compiler_flags_cxxflags.m4])
+m4_include([m4/ax_compiler_flags_gir.m4])
+m4_include([m4/ax_compiler_flags_ldflags.m4])
+m4_include([m4/ax_generate_changelog.m4])
+m4_include([m4/ax_is_release.m4])
+m4_include([m4/ax_require_defined.m4])
 m4_include([m4/gtkdoc_jh_check_xml_catalog.m4])
 m4_include([m4/gtkdoc_jh_path_xml_catalog.m4])
 m4_include([m4/intltool.m4])
diff --git a/build-aux/compile b/build-aux/compile
index 531136b..a85b723 100755
--- a/build-aux/compile
+++ b/build-aux/compile
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey at cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/build-aux/config.guess b/build-aux/config.guess
index 1f5c50c..dbfb978 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-03-23'
+timestamp='2015-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -24,12 +24,12 @@ timestamp='2014-03-23'
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 #
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -579,8 +579,9 @@ EOF
 	else
 		IBM_ARCH=powerpc
 	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
+	if [ -x /usr/bin/lslpp ] ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
diff --git a/build-aux/config.sub b/build-aux/config.sub
index 66c5074..6467c95 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-07-28'
+timestamp='2015-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@ timestamp='2014-07-28'
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -260,7 +260,7 @@ case $basic_machine in
 	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| epiphany \
-	| fido | fr30 | frv \
+	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
@@ -302,6 +302,7 @@ case $basic_machine in
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
+	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -312,6 +313,7 @@ case $basic_machine in
 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -326,6 +328,9 @@ case $basic_machine in
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
 	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
@@ -436,6 +441,7 @@ case $basic_machine in
 	| ubicom32-* \
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
+	| visium-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -773,6 +779,9 @@ case $basic_machine in
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	leon-*|leon[3-9]-*)
+		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		;;
 	m68knommu)
 		basic_machine=m68k-unknown
 		os=-linux
diff --git a/build-aux/depcomp b/build-aux/depcomp
index 4ebd5b3..fc98710 100755
--- a/build-aux/depcomp
+++ b/build-aux/depcomp
@@ -3,7 +3,7 @@
 
 scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 
 # 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
diff --git a/build-aux/install-sh b/build-aux/install-sh
index 377bb86..0b0fdcb 100755
--- a/build-aux/install-sh
+++ b/build-aux/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
+tab='	'
 nl='
 '
-IFS=" ""	$nl"
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
 
-# Don't use :- since 4.3BSD and earlier shells don't like it.
 doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
 rmprog=${RMPROG-rm}
 stripprog=${STRIPPROG-strip}
 
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
 posix_mkdir=
 
 # Desired mode of installed file.
@@ -97,7 +82,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@ while test $# -ne 0; do
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-	shift;;
+        shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
 
     -o) chowncmd="$chownprog $2"
-	shift;;
+        shift;;
 
     -s) stripcmd=$stripprog;;
 
-    -t) dst_arg=$2
-	# Protect names problematic for 'test' and other utilities.
-	case $dst_arg in
-	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
-	esac
-	shift;;
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
 
-    -T) no_target_directory=true;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)	shift
-	break;;
+    --) shift
+        break;;
 
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -208,6 +204,15 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
+if test -z "$dir_arg"; then
   do_exit='(exit $ret); exit $ret'
   trap "ret=129; $do_exit" 1
   trap "ret=130; $do_exit" 2
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
 
     *[0-7])
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw='% 200'
+        u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw=,u+rw
+        u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -269,41 +274,15 @@ do
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-	echo "$0: $dst_arg: Is a directory" >&2
-	exit 1
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
       fi
       dstdir=$dst
       dst=$dstdir/`basename "$src"`
       dstdir_status=0
     else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-	(dirname "$dst") 2>/dev/null ||
-	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	     X"$dst" : 'X\(//\)[^/]' \| \
-	     X"$dst" : 'X\(//\)$' \| \
-	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-	echo X"$dst" |
-	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)[^/].*/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\).*/{
-		   s//\1/
-		   q
-		 }
-		 s/.*/./; q'
-      `
-
+      dstdir=`dirname "$dst"`
       test -d "$dstdir"
       dstdir_status=$?
     fi
@@ -314,74 +293,74 @@ do
   if test $dstdir_status != 0; then
     case $posix_mkdir in
       '')
-	# Create intermediate dirs using mode 755 as modified by the umask.
-	# This is like FreeBSD 'install' as of 1997-10-28.
-	umask=`umask`
-	case $stripcmd.$umask in
-	  # Optimize common cases.
-	  *[2367][2367]) mkdir_umask=$umask;;
-	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-	  *[0-7])
-	    mkdir_umask=`expr $umask + 22 \
-	      - $umask % 100 % 40 + $umask % 20 \
-	      - $umask % 10 % 4 + $umask % 2
-	    `;;
-	  *) mkdir_umask=$umask,go-w;;
-	esac
-
-	# With -d, create the new directory with the user-specified mode.
-	# Otherwise, rely on $mkdir_umask.
-	if test -n "$dir_arg"; then
-	  mkdir_mode=-m$mode
-	else
-	  mkdir_mode=
-	fi
-
-	posix_mkdir=false
-	case $umask in
-	  *[123567][0-7][0-7])
-	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
-	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-	    ;;
-	  *)
-	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-	    if (umask $mkdir_umask &&
-		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-	    then
-	      if test -z "$dir_arg" || {
-		   # Check for POSIX incompatibilities with -m.
-		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writable bit of parent directory when it shouldn't.
-		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-		   case $ls_ld_tmpdir in
-		     d????-?r-*) different_mode=700;;
-		     d????-?--*) different_mode=755;;
-		     *) false;;
-		   esac &&
-		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-		   }
-		 }
-	      then posix_mkdir=:
-	      fi
-	      rmdir "$tmpdir/d" "$tmpdir"
-	    else
-	      # Remove any dirs left behind by ancient mkdir implementations.
-	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-	    fi
-	    trap '' 0;;
-	esac;;
+        # Create intermediate dirs using mode 755 as modified by the umask.
+        # This is like FreeBSD 'install' as of 1997-10-28.
+        umask=`umask`
+        case $stripcmd.$umask in
+          # Optimize common cases.
+          *[2367][2367]) mkdir_umask=$umask;;
+          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+          *[0-7])
+            mkdir_umask=`expr $umask + 22 \
+              - $umask % 100 % 40 + $umask % 20 \
+              - $umask % 10 % 4 + $umask % 2
+            `;;
+          *) mkdir_umask=$umask,go-w;;
+        esac
+
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
+
+        posix_mkdir=false
+        case $umask in
+          *[123567][0-7][0-7])
+            # POSIX mkdir -p sets u+wx bits regardless of umask, which
+            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+            ;;
+          *)
+            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+            if (umask $mkdir_umask &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+            then
+              if test -z "$dir_arg" || {
+                   # Check for POSIX incompatibilities with -m.
+                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                   # other-writable bit of parent directory when it shouldn't.
+                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   case $ls_ld_tmpdir in
+                     d????-?r-*) different_mode=700;;
+                     d????-?--*) different_mode=755;;
+                     *) false;;
+                   esac &&
+                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                   }
+                 }
+              then posix_mkdir=:
+              fi
+              rmdir "$tmpdir/d" "$tmpdir"
+            else
+              # Remove any dirs left behind by ancient mkdir implementations.
+              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+            fi
+            trap '' 0;;
+        esac;;
     esac
 
     if
       $posix_mkdir && (
-	umask $mkdir_umask &&
-	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
@@ -391,53 +370,51 @@ do
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-	/*) prefix='/';;
-	[-=\(\)!]*) prefix='./';;
-	*)  prefix='';;
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
       esac
 
-      eval "$initialize_posix_glob"
-
       oIFS=$IFS
       IFS=/
-      $posix_glob set -f
+      set -f
       set fnord $dstdir
       shift
-      $posix_glob set +f
+      set +f
       IFS=$oIFS
 
       prefixes=
 
       for d
       do
-	test X"$d" = X && continue
-
-	prefix=$prefix$d
-	if test -d "$prefix"; then
-	  prefixes=
-	else
-	  if $posix_mkdir; then
-	    (umask=$mkdir_umask &&
-	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-	    # Don't fail if two instances are running concurrently.
-	    test -d "$prefix" || exit 1
-	  else
-	    case $prefix in
-	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-	      *) qprefix=$prefix;;
-	    esac
-	    prefixes="$prefixes '$qprefix'"
-	  fi
-	fi
-	prefix=$prefix/
+        test X"$d" = X && continue
+
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask=$mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
       done
 
       if test -n "$prefixes"; then
-	# Don't fail if two instances are running concurrently.
-	(umask $mkdir_umask &&
-	 eval "\$doit_exec \$mkdirprog $prefixes") ||
-	  test -d "$dstdir" || exit 1
-	obsolete_mkdir_used=true
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
       fi
     fi
   fi
@@ -472,15 +449,12 @@ do
 
     # If -C, don't bother to copy if it wouldn't change the file.
     if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
+       set +f &&
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
@@ -493,24 +467,24 @@ do
       # to itself, or perhaps because mv is so ancient that it does not
       # support -f.
       {
-	# Now remove or move aside any old file at destination location.
-	# We try this two ways since rm can't unlink itself on some
-	# systems and the destination file might be busy for other
-	# reasons.  In this case, the final cleanup might fail but the new
-	# file should still install successfully.
-	{
-	  test ! -f "$dst" ||
-	  $doit $rmcmd -f "$dst" 2>/dev/null ||
-	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-	  } ||
-	  { echo "$0: cannot unlink or rename $dst" >&2
-	    (exit 1); exit 1
-	  }
-	} &&
-
-	# Now rename the file to the real destination.
-	$doit $mvcmd "$dsttmp" "$dst"
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd -f "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
+
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
       }
     fi || exit 1
 
diff --git a/build-aux/missing b/build-aux/missing
index db98974..f62bbae 100755
--- a/build-aux/missing
+++ b/build-aux/missing
@@ -3,7 +3,7 @@
 
 scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
diff --git a/build-aux/test-driver b/build-aux/test-driver
index d306056..8e575b0 100755
--- a/build-aux/test-driver
+++ b/build-aux/test-driver
@@ -3,7 +3,7 @@
 
 scriptversion=2013-07-13.22; # UTC
 
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
 #
 # 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
@@ -106,11 +106,14 @@ trap "st=143; $do_exit" 15
 # Test script is run here.
 "$@" >$log_file 2>&1
 estatus=$?
+
 if test $enable_hard_errors = no && test $estatus -eq 99; then
-  estatus=1
+  tweaked_estatus=1
+else
+  tweaked_estatus=$estatus
 fi
 
-case $estatus:$expect_failure in
+case $tweaked_estatus:$expect_failure in
   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
   77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
@@ -119,6 +122,12 @@ case $estatus:$expect_failure in
   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
 esac
 
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
 # Report outcome to console.
 echo "${col}${res}${std}: $test_name"
 
diff --git a/configure b/configure
index cfbe773..d81d40b 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for EasyTAG 2.3.3.
+# Generated by GNU Autoconf 2.69 for EasyTAG 2.3.4.
 #
 # Report bugs to <https://bugzilla.gnome.org/enter_bug.cgi?product=easytag>.
 #
@@ -591,8 +591,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='EasyTAG'
 PACKAGE_TARNAME='easytag'
-PACKAGE_VERSION='2.3.3'
-PACKAGE_STRING='EasyTAG 2.3.3'
+PACKAGE_VERSION='2.3.4'
+PACKAGE_STRING='EasyTAG 2.3.4'
 PACKAGE_BUGREPORT='https://bugzilla.gnome.org/enter_bug.cgi?product=easytag'
 PACKAGE_URL='https://wiki.gnome.org/Apps/EasyTAG'
 
@@ -641,7 +641,8 @@ GSETTINGS_RULES
 GLIB_COMPILE_SCHEMAS
 gsettingsschemadir
 GSETTINGS_DISABLE_SCHEMAS_COMPILE
-DEPRECATED_CPPFLAGS
+WARN_SCANNERFLAGS
+WARN_LDFLAGS
 WARN_CXXFLAGS
 WARN_CFLAGS
 EASYTAG_LIBS
@@ -674,6 +675,8 @@ XSLTPROC
 GLIB_MKENUMS
 GDK_PIXBUF_PIXDATA
 GLIB_COMPILE_RESOURCES
+GENERATE_CHANGELOG_RULES
+GIT
 PKG_CONFIG_LIBDIR
 PKG_CONFIG_PATH
 PKG_CONFIG
@@ -867,6 +870,7 @@ enable_flac
 enable_mp4
 enable_wavpack
 enable_nautilus_actions
+enable_compile_warnings
 enable_schemas_compile
 '
       ac_precious_vars='build_alias
@@ -1431,7 +1435,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures EasyTAG 2.3.3 to adapt to many kinds of systems.
+\`configure' configures EasyTAG 2.3.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1501,7 +1505,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of EasyTAG 2.3.3:";;
+     short | recursive ) echo "Configuration of EasyTAG 2.3.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1541,6 +1545,8 @@ Optional Features:
   --disable-nautilus-actions
                           do not build the nautilus context menu actions
                           (default=auto)
+  --enable-compile-warnings=[no/minimum/yes/maximum/error]
+                          Enable different levels of compiler warnings
   --disable-schemas-compile
                           Disable regeneration of gschemas.compiled on install
 
@@ -1651,7 +1657,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-EasyTAG configure 2.3.3
+EasyTAG configure 2.3.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2050,7 +2056,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by EasyTAG $as_me 2.3.3, which was
+It was created by EasyTAG $as_me 2.3.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2433,7 +2439,7 @@ ac_config_headers="$ac_config_headers config.h"
 
 
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2605,8 +2611,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2625,7 +2631,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -2919,7 +2925,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='easytag'
- VERSION='2.3.3'
+ VERSION='2.3.4'
 
 
 # Some tools Automake needs.
@@ -2944,8 +2950,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3003,6 +3009,7 @@ END
   fi
 fi
 
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
     # Check whether --enable-maintainer-mode was given.
@@ -17040,6 +17047,90 @@ $as_echo "no" >&6; }
 	fi
 fi
 
+
+	# Find git, defaulting to the 'missing' script so the user gets a nice
+	# message if git is missing, rather than a plain 'command not found'.
+	# Extract the first word of "git", so it can be a program name with args.
+set dummy git; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GIT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GIT="$GIT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_GIT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_GIT" && ac_cv_path_GIT="${am_missing_run}git"
+  ;;
+esac
+fi
+GIT=$ac_cv_path_GIT
+if test -n "$GIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIT" >&5
+$as_echo "$GIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+	# Build the ChangeLog rules.
+
+GENERATE_CHANGELOG_RULES='
+# Generate ChangeLog
+#
+# Optional:
+#  - CHANGELOG_START: git commit ID or tag name to output changelogs from
+#    (exclusive). (Default: include all commits)
+#  - CHANGELOG_GIT_FLAGS: General flags to pass to git-log when generating the
+#    ChangeLog. (Default: various)
+#  - CHANGELOG_GIT_DIR: .git directory to use. (Default: $(top_srcdir)/.git)
+
+# git-specific
+CHANGELOG_GIT_FLAGS ?= --stat -M -C --name-status --no-color
+CHANGELOG_GIT_DIR ?= $(top_srcdir)/.git
+
+ifeq ($(CHANGELOG_START),)
+CHANGELOG_GIT_RANGE =
+else
+CHANGELOG_GIT_RANGE = $(CHANGELOG_START)..
+endif
+
+# Generate a ChangeLog in $(top_distdir)
+dist-ChangeLog:
+	$(AM_V_GEN)if $(GIT) \
+		--git-dir=$(CHANGELOG_GIT_DIR) --work-tree=$(top_srcdir) log \
+		$(CHANGELOG_GIT_FLAGS) $(CHANGELOG_GIT_RANGE) \
+		| fmt --split-only >.ChangeLog.tmp; \
+	then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \
+	else rm -f .ChangeLog.tmp; exit 1; fi
+
+.PHONY: dist-ChangeLog
+'
+
+
+
+
+
 GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
 
 
@@ -18581,15 +18672,192 @@ $as_echo "$have_ws2" >&6; }
 fi
 
 
-warning_flags="-Wall -Wstrict-prototypes -Wnested-externs -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format-security -Werror=format=2 -Werror=missing-include-dirs -Werror=declaration-after-statement -Werror=return-type"
 
-realsave_CFLAGS="$CFLAGS"
-for option in $warning_flags; do
-    save_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $option"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler understands $option" >&5
-$as_echo_n "checking whether the compiler understands $option... " >&6; }
-	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+
+        # $is_release = (.git directory does not exist)
+        if test -d .git; then :
+  ax_is_release=no
+else
+  ax_is_release=yes
+fi
+
+
+
+
+
+
+
+
+
+
+    # Check whether --enable-compile-warnings was given.
+if test "${enable_compile_warnings+set}" = set; then :
+  enableval=$enable_compile_warnings;
+else
+  if test "$ax_is_release" = "yes"; then :
+  enable_compile_warnings="yes"
+else
+  enable_compile_warnings="error"
+fi
+fi
+
+
+    # Return the user’s chosen warning level
+    ax_enable_compile_warnings=$enable_compile_warnings
+
+
+
+
+
+
+
+
+
+    # Variable names
+
+
+    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
+    # flags, otherwise they are always appended to the warn_cflags variable, and
+    # Clang warns on them for every compilation unit.
+    # If this is passed to GCC, it will explode, so the flag must be enabled
+    # conditionally.
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=unknown-warning-option" >&5
+$as_echo_n "checking whether C compiler accepts -Werror=unknown-warning-option... " >&6; }
+if ${ax_cv_check_cflags___Werror_unknown_warning_option+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -Werror=unknown-warning-option"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___Werror_unknown_warning_option=yes
+else
+  ax_cv_check_cflags___Werror_unknown_warning_option=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_unknown_warning_option" >&5
+$as_echo "$ax_cv_check_cflags___Werror_unknown_warning_option" >&6; }
+if test "x$ax_cv_check_cflags___Werror_unknown_warning_option" = xyes; then :
+
+        ax_compiler_flags_test="-Werror=unknown-warning-option"
+
+else
+
+        ax_compiler_flags_test=""
+
+fi
+
+
+    # Base flags
+
+
+
+
+for flag in          -fno-strict-aliasing              ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CFLAGS+:} false; then :
+
+  case $WARN_CFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
+  (: WARN_CFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+    if test "$ax_enable_compile_warnings" != "no"; then :
+
+        # "minimum" flags
+
+
+
+
+for flag in              -Wall                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -18601,39 +18869,76 @@ main ()
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  has_option=yes
+  eval "$as_CACHEVAR=yes"
 else
-  has_option=no
+  eval "$as_CACHEVAR=no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-	CFLAGS="$save_CFLAGS"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5
-$as_echo "$has_option" >&6; }
-	if test $has_option = yes; then :
-  tested_warning_flags="$tested_warning_flags $option"
-fi
-	unset has_option
-	unset save_CFLAGS
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CFLAGS+:} false; then :
+
+  case $WARN_CFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
+  (: WARN_CFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
 done
-unset option
-CFLAGS="$realsave_CFLAGS"
 
-WARN_CFLAGS="$tested_warning_flags"
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+fi
+    if test "$ax_enable_compile_warnings" != "no" -a \
+                "$ax_enable_compile_warnings" != "minimum"; then :
+
+        # "yes" flags
+
+
 
 
-realsave_CXXFLAGS="$CXXFLAGS"
-for option in $warning_flags; do
-    save_CXXFLAGS="$CXXFLAGS"
-    CXXFLAGS="$CXXFLAGS -Werror $option"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the c++ compiler understands $option" >&5
-$as_echo_n "checking whether the c++ compiler understands $option... " >&6; }
-	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+for flag in              -Wextra             -Wundef             -Wnested-externs             -Wwrite-strings             -Wpointer-arith             -Wmissing-declarations             -Wmissing-prototypes             -Wstrict-prototypes             -Wredundant-decls             -Wno-unused-parameter             -Wno-missing-field-initializers             -Wdeclaration-after-statement             -Wformat=2             -Wold-style-definition             -Wcast-align             -Wformat-nonliteral             -Wformat-security             -Wsign-compare             -Wstrict-aliasing             -Wshadow             -Winline             -Wpacked             -Wmissing-format-attribute             -Wmissing-noreturn             -Winit-self             -Wredundant-decls             -Wmissing-include-dirs             -Wunused-but-set-variable             -Warray-bounds             -Wimplicit-function-declaration             -Wreturn-type                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -18644,33 +18949,1428 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  has_option=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
 else
-  has_option=no
+  eval "$as_CACHEVAR=no"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-	CXXFLAGS="$save_CXXFLAGS"
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5
-$as_echo "$has_option" >&6; }
-	if test $has_option = yes; then :
-  tested_cxx_warning_flags="$tested_cxx_warning_flags $option"
-fi
-	unset has_option
-	unset save_CXXFLAGS
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CFLAGS+:} false; then :
+
+  case $WARN_CFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
+  (: WARN_CFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
 done
-unset option
-CXXFLAGS="$realsave_CXXFLAGS"
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-WARN_CXXFLAGS="$tested_cxx_warning_flags"
+fi
+    if test "$ax_enable_compile_warnings" = "maximum" -o \
+                "$ax_enable_compile_warnings" = "error"; then :
+
+        # "maximum" flags
+
+
+
+
+for flag in              -Wswitch-enum             -Wswitch-default             -Waggregate-return                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CFLAGS+:} false; then :
+
+  case $WARN_CFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
+  (: WARN_CFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+    if test "$ax_enable_compile_warnings" = "error"; then :
+
+        # "error" flags; -Werror has to be appended unconditionally because
+        # it’s not possible to test for
+        #
+        # suggest-attribute=format is disabled because it gives too many false
+        # positives
+
+if ${WARN_CFLAGS+:} false; then :
+
+  case $WARN_CFLAGS in #(
+  "* -Werror *|*-Werror") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains -Werror"; } >&5
+  (: WARN_CFLAGS already contains -Werror) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CFLAGS " -Werror"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CFLAGS=-Werror
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+
+
+
+
+
+for flag in              -Wno-suggest-attribute=format                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CFLAGS+:} false; then :
+
+  case $WARN_CFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5
+  (: WARN_CFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5
+  (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+
+    # Substitute the variables
+
+
+
+
+
+
+
+
+
+
+    # Variable names
+
+
+    ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
+    # flags, otherwise they are always appended to the warn_cxxflags variable,
+    # and Clang warns on them for every compilation unit.
+    # If this is passed to GCC, it will explode, so the flag must be enabled
+    # conditionally.
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Werror=unknown-warning-option" >&5
+$as_echo_n "checking whether C++ compiler accepts -Werror=unknown-warning-option... " >&6; }
+if ${ax_cv_check_cxxflags___Werror_unknown_warning_option+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CXXFLAGS
+  CXXFLAGS="$CXXFLAGS  -Werror=unknown-warning-option"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ax_cv_check_cxxflags___Werror_unknown_warning_option=yes
+else
+  ax_cv_check_cxxflags___Werror_unknown_warning_option=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CXXFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___Werror_unknown_warning_option" >&5
+$as_echo "$ax_cv_check_cxxflags___Werror_unknown_warning_option" >&6; }
+if test "x$ax_cv_check_cxxflags___Werror_unknown_warning_option" = xyes; then :
+
+        ax_compiler_flags_test="-Werror=unknown-warning-option"
+
+else
+
+        ax_compiler_flags_test=""
+
+fi
+
+
+    # Base flags
+
+
+
+
+for flag in          -fno-strict-aliasing              ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CXXFLAGS
+  CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CXXFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CXXFLAGS+:} false; then :
+
+  case $WARN_CXXFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS already contains \$flag"; } >&5
+  (: WARN_CXXFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CXXFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CXXFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+    if test "$ax_enable_compile_warnings" != "no"; then :
+
+        # "minimum" flags
+
+
+
+
+for flag in              -Wall                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CXXFLAGS
+  CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CXXFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CXXFLAGS+:} false; then :
+
+  case $WARN_CXXFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS already contains \$flag"; } >&5
+  (: WARN_CXXFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CXXFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CXXFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+    if test "$ax_enable_compile_warnings" != "no" -a \
+                "$ax_enable_compile_warnings" != "minimum"; then :
+
+        # "yes" flags
+
+
+
+
+for flag in              -Wextra             -Wundef             -Wwrite-strings             -Wpointer-arith             -Wmissing-declarations             -Wredundant-decls             -Wno-unused-parameter             -Wno-missing-field-initializers             -Wformat=2             -Wcast-align             -Wformat-nonliteral             -Wformat-security             -Wsign-compare             -Wstrict-aliasing             -Wshadow             -Winline             -Wpacked             -Wmissing-format-attribute             -Wmissing-noreturn             -Winit-self             -Wredundant-decls             -Wmissing-include-dirs             -Wunused-but-set-variable             -Warray-bounds             -Wreturn-type             -Wno-overloaded-virtual                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CXXFLAGS
+  CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CXXFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CXXFLAGS+:} false; then :
+
+  case $WARN_CXXFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS already contains \$flag"; } >&5
+  (: WARN_CXXFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CXXFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CXXFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+    if test "$ax_enable_compile_warnings" = "maximum" -o \
+                "$ax_enable_compile_warnings" = "error"; then :
+
+        # "maximum" flags
+
+
+
+
+for flag in              -Wswitch-enum             -Wswitch-default                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CXXFLAGS
+  CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CXXFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CXXFLAGS+:} false; then :
+
+  case $WARN_CXXFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS already contains \$flag"; } >&5
+  (: WARN_CXXFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CXXFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CXXFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+    if test "$ax_enable_compile_warnings" = "error"; then :
+
+        # "error" flags; -Werror has to be appended unconditionally because
+        # it’s not possible to test for
+        #
+        # suggest-attribute=format is disabled because it gives too many false
+        # positives
+
+if ${WARN_CXXFLAGS+:} false; then :
+
+  case $WARN_CXXFLAGS in #(
+  "* -Werror *|*-Werror") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS already contains -Werror"; } >&5
+  (: WARN_CXXFLAGS already contains -Werror) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CXXFLAGS " -Werror"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CXXFLAGS=-Werror
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+
+
+
+
+
+for flag in              -Wno-suggest-attribute=format                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CXXFLAGS
+  CXXFLAGS="$CXXFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CXXFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_CXXFLAGS+:} false; then :
+
+  case $WARN_CXXFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS already contains \$flag"; } >&5
+  (: WARN_CXXFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_CXXFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_CXXFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CXXFLAGS=\"\$WARN_CXXFLAGS\""; } >&5
+  (: WARN_CXXFLAGS="$WARN_CXXFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+
+    ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+    # Substitute the variables
+
+
+
+
+
+
+
+
+
+
+    # Variable names
+
+
+    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
+    # flags, otherwise they are always appended to the warn_ldflags variable,
+    # and Clang warns on them for every compilation unit.
+    # If this is passed to GCC, it will explode, so the flag must be enabled
+    # conditionally.
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=unknown-warning-option" >&5
+$as_echo_n "checking whether C compiler accepts -Werror=unknown-warning-option... " >&6; }
+if ${ax_cv_check_cflags___Werror_unknown_warning_option+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -Werror=unknown-warning-option"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___Werror_unknown_warning_option=yes
+else
+  ax_cv_check_cflags___Werror_unknown_warning_option=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_unknown_warning_option" >&5
+$as_echo "$ax_cv_check_cflags___Werror_unknown_warning_option" >&6; }
+if test "x$ax_cv_check_cflags___Werror_unknown_warning_option" = xyes; then :
+
+        ax_compiler_flags_test="-Werror=unknown-warning-option"
+
+else
+
+        ax_compiler_flags_test=""
+
+fi
+
+
+    # Base flags
+
+
+
+
+for flag in          -Wl,--no-as-needed              ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_LDFLAGS+:} false; then :
+
+  case $WARN_LDFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5
+  (: WARN_LDFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_LDFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_LDFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+    if test "$ax_enable_compile_warnings" != "no"; then :
+
+        # "minimum" flags
+
+
+
+
+for flag in ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_LDFLAGS+:} false; then :
+
+  case $WARN_LDFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5
+  (: WARN_LDFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_LDFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_LDFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+    if test "$ax_enable_compile_warnings" != "no" -a \
+                "$ax_enable_compile_warnings" != "minimum"; then :
+
+        # "yes" flags
+
+
+
+
+for flag in ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_LDFLAGS+:} false; then :
+
+  case $WARN_LDFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5
+  (: WARN_LDFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_LDFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_LDFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+    if test "$ax_enable_compile_warnings" = "maximum" -o \
+                "$ax_enable_compile_warnings" = "error"; then :
+
+        # "maximum" flags
+
+
+
+
+for flag in ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_LDFLAGS+:} false; then :
+
+  case $WARN_LDFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5
+  (: WARN_LDFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_LDFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_LDFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+    if test "$ax_enable_compile_warnings" = "error"; then :
+
+        # "error" flags; -Werror has to be appended unconditionally because
+        # it’s not possible to test for
+        #
+        # suggest-attribute=format is disabled because it gives too many false
+        # positives
+
+
+
+
+for flag in              -Wl,--fatal-warnings                      ; do
+  as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
+$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS $ax_compiler_flags_test $flag"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
+
+if ${WARN_LDFLAGS+:} false; then :
+
+  case $WARN_LDFLAGS in #(
+  "* $flag *|*$flag") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS already contains \$flag"; } >&5
+  (: WARN_LDFLAGS already contains $flag) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_LDFLAGS " $flag"
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_LDFLAGS=$flag
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_LDFLAGS=\"\$WARN_LDFLAGS\""; } >&5
+  (: WARN_LDFLAGS="$WARN_LDFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+else
+  :
+fi
+
+done
+
+
+fi
+
+    # Substitute the variables
+
+
+
+
+
+
+    # Variable names
+
+
+    # Base flags
+
+if ${WARN_SCANNERFLAGS+:} false; then :
+
+  case $WARN_SCANNERFLAGS in #(
+  "*  *|*") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS already contains "; } >&5
+  (: WARN_SCANNERFLAGS already contains ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_SCANNERFLAGS " "
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_SCANNERFLAGS=
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+
+    if test "$ax_enable_compile_warnings" != "no"; then :
+
+        # "minimum" flags
+
+if ${WARN_SCANNERFLAGS+:} false; then :
+
+  case $WARN_SCANNERFLAGS in #(
+  "*              --warn-all                       *|*             --warn-all                      ") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS already contains              --warn-all                      "; } >&5
+  (: WARN_SCANNERFLAGS already contains              --warn-all                      ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_SCANNERFLAGS "              --warn-all                      "
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_SCANNERFLAGS=             --warn-all
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+
+fi
+    if test "$ax_enable_compile_warnings" != "no" -a \
+                "$ax_enable_compile_warnings" != "minimum"; then :
+
+        # "yes" flags
+
+if ${WARN_SCANNERFLAGS+:} false; then :
+
+  case $WARN_SCANNERFLAGS in #(
+  "*  *|*") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS already contains "; } >&5
+  (: WARN_SCANNERFLAGS already contains ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_SCANNERFLAGS " "
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_SCANNERFLAGS=
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+
+fi
+    if test "$ax_enable_compile_warnings" = "maximum" -o \
+                "$ax_enable_compile_warnings" = "error"; then :
+
+        # "maximum" flags
+
+if ${WARN_SCANNERFLAGS+:} false; then :
+
+  case $WARN_SCANNERFLAGS in #(
+  "*  *|*") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS already contains "; } >&5
+  (: WARN_SCANNERFLAGS already contains ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_SCANNERFLAGS " "
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_SCANNERFLAGS=
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+
+fi
+    if test "$ax_enable_compile_warnings" = "error"; then :
+
+        # "error" flags
+
+if ${WARN_SCANNERFLAGS+:} false; then :
+
+  case $WARN_SCANNERFLAGS in #(
+  "*              --warn-error                       *|*             --warn-error                      ") :
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS already contains              --warn-error                      "; } >&5
+  (: WARN_SCANNERFLAGS already contains              --warn-error                      ) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } ;; #(
+  *) :
+
+     as_fn_append WARN_SCANNERFLAGS "              --warn-error                      "
+     { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+     ;;
+esac
+
+else
+
+  WARN_SCANNERFLAGS=             --warn-error
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_SCANNERFLAGS=\"\$WARN_SCANNERFLAGS\""; } >&5
+  (: WARN_SCANNERFLAGS="$WARN_SCANNERFLAGS") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+
+fi
+
+
+fi
+
+    # Substitute the variables
+
 
-DEPRECATED_CPPFLAGS="-DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -DG_DISABLE_DEPRECATED $GLIB_DEPRECATION_FLAGS $GTK_DEPRECATION_FLAGS"
 
 
 for ac_func in mkstemp truncate
@@ -19483,7 +21183,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by EasyTAG $as_me 2.3.3, which was
+This file was extended by EasyTAG $as_me 2.3.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19550,7 +21250,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-EasyTAG config.status 2.3.3
+EasyTAG config.status 2.3.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 394b034..82463e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ AC_PREREQ([2.64])
 
 dnl To set also in config.h.mingw
 dnl defines ($PACKAGE_NAME, $PACKAGE_VERSION, etc.)
-AC_INIT([EasyTAG], [2.3.3], [https://bugzilla.gnome.org/enter_bug.cgi?product=easytag], [easytag], [https://wiki.gnome.org/Apps/EasyTAG])
+AC_INIT([EasyTAG], [2.3.4], [https://bugzilla.gnome.org/enter_bug.cgi?product=easytag], [easytag], [https://wiki.gnome.org/Apps/EasyTAG])
 
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h])
@@ -47,6 +47,8 @@ AC_PROG_CXXCPP
 AC_PROG_SED
 PKG_PROG_PKG_CONFIG([0.24])
 
+AX_GENERATE_CHANGELOG
+
 AC_SUBST([GLIB_COMPILE_RESOURCES], [`$PKG_CONFIG --variable glib_compile_resources gio-2.0`])
 
 AC_PATH_PROG([GDK_PIXBUF_PIXDATA], [gdk-pixbuf-pixdata])
@@ -343,47 +345,10 @@ AC_SEARCH_LIBS([gethostbyname], [nsl socket], [],
         [have_ws2=yes], [have_ws2=no LIBS=$saved_LIBS])
      AC_MSG_RESULT([$have_ws2])])
 
-dnl Check that the compiler accepts the given warning flags.
-warning_flags="-Wall -Wstrict-prototypes -Wnested-externs -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=pointer-arith -Werror=init-self -Werror=format-security -Werror=format=2 -Werror=missing-include-dirs -Werror=declaration-after-statement -Werror=return-type"
-
-realsave_CFLAGS="$CFLAGS"
-for option in $warning_flags; do
-    save_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $option"
-	AC_MSG_CHECKING([whether the compiler understands $option])
-	AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [has_option=yes], [has_option=no])
-	CFLAGS="$save_CFLAGS"
-	AC_MSG_RESULT([$has_option])
-	AS_IF([test $has_option = yes],
-	      [tested_warning_flags="$tested_warning_flags $option"])
-	unset has_option
-	unset save_CFLAGS
-done
-unset option
-CFLAGS="$realsave_CFLAGS"
-
-AC_SUBST([WARN_CFLAGS], ["$tested_warning_flags"])
-AC_LANG_PUSH([C++])
-
-realsave_CXXFLAGS="$CXXFLAGS"
-for option in $warning_flags; do
-    save_CXXFLAGS="$CXXFLAGS"
-    CXXFLAGS="$CXXFLAGS -Werror $option"
-	AC_MSG_CHECKING([whether the c++ compiler understands $option])
-	AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [has_option=yes], [has_option=no])
-	CXXFLAGS="$save_CXXFLAGS"
-	AC_MSG_RESULT([$has_option])
-	AS_IF([test $has_option = yes],
-	      [tested_cxx_warning_flags="$tested_cxx_warning_flags $option"])
-	unset has_option
-	unset save_CXXFLAGS
-done
-unset option
-CXXFLAGS="$realsave_CXXFLAGS"
-
-AC_LANG_POP([C++])
-AC_SUBST([WARN_CXXFLAGS], ["$tested_cxx_warning_flags"])
-AC_SUBST([DEPRECATED_CPPFLAGS], ["-DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -DG_DISABLE_DEPRECATED $GLIB_DEPRECATION_FLAGS $GTK_DEPRECATION_FLAGS"])
+dnl Set warning flags
+AX_IS_RELEASE([git-directory])
+AX_COMPILER_FLAGS([WARN_CFLAGS], [WARN_LDFLAGS],
+                  [$ax_is_release])
 
 dnl -------------------------------
 dnl Checks for library functions.
diff --git a/help/Makefile.am b/help/Makefile.am
index ec50e60..d4b1289 100644
--- a/help/Makefile.am
+++ b/help/Makefile.am
@@ -25,4 +25,4 @@ HELP_FILES = \
 HELP_MEDIA = \
 	media/icon.png
 
-HELP_LINGUAS =	el es
+HELP_LINGUAS = cs de el es
diff --git a/help/Makefile.in b/help/Makefile.in
index f9199b8..bd4f8d3 100644
--- a/help/Makefile.in
+++ b/help/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,9 +88,19 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = help
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
+	$(top_srcdir)/m4/ax_append_flag.m4 \
+	$(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags_cflags.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags_cxxflags.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags_gir.m4 \
+	$(top_srcdir)/m4/ax_compiler_flags_ldflags.m4 \
+	$(top_srcdir)/m4/ax_generate_changelog.m4 \
+	$(top_srcdir)/m4/ax_is_release.m4 \
+	$(top_srcdir)/m4/ax_require_defined.m4 \
+	$(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
 	$(top_srcdir)/m4/gtkdoc_jh_path_xml_catalog.m4 \
 	$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -88,6 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtkdoc_jh_check_xml_catalog.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
@@ -112,6 +133,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALL_LINGUAS = @ALL_LINGUAS@
@@ -136,7 +158,6 @@ CYGPATH_W = @CYGPATH_W@
 DATADIRNAME = @DATADIRNAME@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
-DEPRECATED_CPPFLAGS = @DEPRECATED_CPPFLAGS@
 DESKTOP_FILE_VALIDATE = @DESKTOP_FILE_VALIDATE@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
@@ -151,6 +172,7 @@ EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GDK_PIXBUF_PIXDATA = @GDK_PIXBUF_PIXDATA@
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIT = @GIT@
 GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
 GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
 GLIB_MKENUMS = @GLIB_MKENUMS@
@@ -218,6 +240,8 @@ USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 WARN_CFLAGS = @WARN_CFLAGS@
 WARN_CXXFLAGS = @WARN_CXXFLAGS@
+WARN_LDFLAGS = @WARN_LDFLAGS@
+WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@
 WINDRES = @WINDRES@
 XGETTEXT = @XGETTEXT@
 XMLCATALOG = @XMLCATALOG@
@@ -307,7 +331,7 @@ HELP_FILES = \
 HELP_MEDIA = \
 	media/icon.png
 
-HELP_LINGUAS = el es
+HELP_LINGUAS = cs de el es
 all: all-am
 
 .SUFFIXES:
@@ -323,7 +347,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu help/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu help/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -498,6 +521,8 @@ uninstall-am:
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 @YELP_HELP_RULES@
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/help/cs/cddb-search.page b/help/cs/cddb-search.page
new file mode 100644
index 0000000..9eb7abd
--- /dev/null
+++ b/help/cs/cddb-search.page
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="cddb-search" xml:lang="cs">
+
+  <info>
+    <link type="guide" style="2column" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-10-07" status="review"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Jak štítky vyplnit informacemi z databáze CD</desc>
+  </info>
+
+  <title>Vyhledávání v CDDB</title>
+
+  <p>Pokud je vaše hudba uspořádána do alba, <app>EasyTAG</app> může vyhledat informace v on-line databázi pomocí protokolu <sys>CDDB</sys> a automaticky vyplnit některá pole štítku.</p>
+
+  <steps>
+    <item>
+      <p><link xref="file-select">Vyberte všechna pole</link> v albu, která chcete vyhledat. Pořadí souborů musí odpovídat pořadí skladeb na albu.</p>
+    </item>
+    <item>
+      <p>Vyberte <guiseq><gui style="menu">Různé</gui> <gui style="menuitem">Hledat v CDDB…</gui></guiseq></p>
+    </item>
+    <item>
+      <p>Zmáčkněte <gui style="button">Najít</gui> a vyčkejte na výsledky hledání.</p>
+    </item>
+    <item>
+      <!-- TODO Split Manual search into a tip? -->
+      <!-- TODO Search within the results. -->
+      <p>V seznamu výsledků vyberte album a napravo se ukáží informace o skladbách. Pokud se nejedná o album, které jste chtěli, zkuste v seznamu výsledků vybrat jiné.</p>
+      <p>Pokud nezískáte žádné výsledky, které by odpovídali vámi vybraným skladbám, zvolte <gui style="tab">Ruční hledání</gui> a zadejte do vyhledávacího pole název alba. Zmáčkněte <gui style="button">Najít</gui> a vyčkejte, než se hledání dokončí. Pak znovu zkontrolujte, jestli mezi výsledky uvidíte album, které odpovídá vámi vybraným skladbám.</p>
+    </item>
+    <item>
+      <p>Zvolte pole štítku, která se mají vyplnit, buď volbou <gui style="checkbox">Vše</gui> nebo kombinací <gui style="checkbox">Název souboru</gui>, <gui style="checkbox">Název</gui>, <gui style="checkbox">Umělec</gui>, <gui style="checkbox">Album</gui>, <gui style="checkbox">Rok</gui>, <gui style="checkbox">Číslo skladby</gui>, <gui style="checkbox">Počet skladeb</gui> a <gui style="checkbox">Žánr</gui>.</p>
+    </item>
+    <!-- TODO Run the scanner for each file -->
+    <!-- TODO Levenshtein matching -->
+    <item>
+      <p>Pro vyplnění štítků u vybraných souborů podle údajů ve výsledcích hledání zmáčkněte <gui style="button">Použít</gui>.</p>
+    </item>
+  </steps>
+
+  <p>Jestli chcete vyplnit štítky jen u některých souborů, můžete změnit svůj výběr i po dokončení hledání.</p>
+
+</page>
diff --git a/help/es/es.po b/help/cs/cs.po
similarity index 57%
copy from help/es/es.po
copy to help/cs/cs.po
index ada2611..bf980fa 100644
--- a/help/es/es.po
+++ b/help/cs/cs.po
@@ -1,31 +1,31 @@
-# Spanish translation for easytag.
+# Czech translation for easytag.
 # Copyright (C) 2014 easytag's COPYRIGHT HOLDER
 # This file is distributed under the same license as the easytag package.
-# Daniel Mustieles <daniel.mustieles at gmail.com>, 2014.
+# Marek Černocký <marek at manet.cz>, 2014.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: easytag master\n"
-"POT-Creation-Date: 2014-07-08 03:13+0000\n"
-"PO-Revision-Date: 2014-07-08 17:35+0200\n"
-"Last-Translator: Daniel Mustieles <daniel.mustieles at gmail.com>\n"
-"Language-Team: Español; Castellano <gnome-es-list at gnome.org>\n"
-"Language: es\n"
+"POT-Creation-Date: 2015-01-04 21:39+0000\n"
+"PO-Revision-Date: 2014-08-26 08:37+0200\n"
+"Last-Translator: Marek Černocký <marek at manet.cz>\n"
+"Language-Team: Czech <gnome-cs-list at gnome.org>\n"
+"Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 "X-Generator: Gtranslator 2.91.6\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
 msgctxt "_"
 msgid "translator-credits"
-msgstr "Daniel Mustieles, <daniel.mustieles at gmail.com>"
+msgstr "Marek Černocký <marek at manet.cz>"
 
 #. (itstool) path: credit/name
 #: C/cddb-search.page:11 C/file-rename.page:10 C/file-select.page:11
 #: C/format-specifier.page:11 C/image-delete.page:13 C/image-export.page:13
-#: C/image.page:15 C/index.page:11 C/introduction.page:12
+#: C/image.page:15 C/index.page:14 C/introduction.page:12
 #: C/keyboard-shortcuts.page:11 C/playlist-generate.page:11
 #: C/problems-ogg-split.page:17 C/scanner.page:11 C/starting.page:10
 #: C/tag-field.page:14 C/tag.page:13
@@ -35,12 +35,12 @@ msgstr "Ekaterina Gerasimova"
 #. (itstool) path: info/desc
 #: C/cddb-search.page:17
 msgid "Fill tags using information from a CD database"
-msgstr "Rellenar las etiquetas usando información de una base de datos de CD"
+msgstr "Jak štítky vyplnit informacemi z databáze CD"
 
 #. (itstool) path: page/title
 #: C/cddb-search.page:20
 msgid "Search CDDB"
-msgstr "Buscar CDDB"
+msgstr "Vyhledávání v CDDB"
 
 #. (itstool) path: page/p
 #: C/cddb-search.page:22
@@ -49,6 +49,9 @@ msgid ""
 "databases using the <sys>CDDB</sys> protocol and automatically fill in "
 "several tag fields."
 msgstr ""
+"Pokud je vaše hudba uspořádána do alba, <app>EasyTAG</app> může vyhledat "
+"informace v on-line databázi pomocí protokolu <sys>CDDB</sys> a automaticky "
+"vyplnit některá pole štítku."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:28
@@ -57,6 +60,8 @@ msgid ""
 "want to search for. The ordering of the files must match the track order on "
 "the album."
 msgstr ""
+"<link xref=\"file-select\">Vyberte všechna pole</link> v albu, která chcete "
+"vyhledat. Pořadí souborů musí odpovídat pořadí skladeb na albu."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:33
@@ -64,13 +69,15 @@ msgid ""
 "Select <guiseq><gui style=\"menu\">Miscellaneous</gui> <gui style=\"menuitem"
 "\">CDDB Search…</gui></guiseq>."
 msgstr ""
+"Vyberte <guiseq><gui style=\"menu\">Různé</gui> <gui style=\"menuitem"
+"\">Hledat v CDDB…</gui></guiseq>"
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:37
 msgid ""
 "Press <gui style=\"button\">Find</gui> and wait for the search to finish."
 msgstr ""
-"Pulse <gui style=\"button\">Buscar</gui> y espere a que la búsqueda termine."
+"Zmáčkněte <gui style=\"button\">Najít</gui> a vyčkejte na výsledky hledání."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:43
@@ -79,6 +86,9 @@ msgid ""
 "shown to the right. If the album is not the one that you wanted, try "
 "selecting another result in the list."
 msgstr ""
+"V seznamu výsledků vyberte album a napravo se ukáží informace o skladbách. "
+"Pokud se nejedná o album, které jste chtěli, zkuste v seznamu výsledků "
+"vybrat jiné."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:46
@@ -89,6 +99,11 @@ msgid ""
 "search to finish, and check the results again to see if you can find an "
 "album which matches the tracks that you selected."
 msgstr ""
+"Pokud nezískáte žádné výsledky, které by odpovídali vámi vybraným skladbám, "
+"zvolte <gui style=\"tab\">Ruční hledání</gui> a zadejte do vyhledávacího "
+"pole název alba. Zmáčkněte <gui style=\"button\">Najít</gui> a vyčkejte, než "
+"se hledání dokončí. Pak znovu zkontrolujte, jestli mezi výsledky uvidíte "
+"album, které odpovídá vámi vybraným skladbám."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:53
@@ -100,6 +115,12 @@ msgid ""
 "<gui style=\"checkbox\">Track #</gui>, <gui style=\"checkbox\"># Tracks</"
 "gui> and <gui style=\"checkbox\">Genre</gui>."
 msgstr ""
+"Zvolte pole štítku, která se mají vyplnit, buď volbou <gui style=\"checkbox"
+"\">Vše</gui> nebo kombinací <gui style=\"checkbox\">Název souboru</gui>, "
+"<gui style=\"checkbox\">Název</gui>, <gui style=\"checkbox\">Umělec</gui>, "
+"<gui style=\"checkbox\">Album</gui>, <gui style=\"checkbox\">Rok</gui>, <gui "
+"style=\"checkbox\">Číslo skladby</gui>, <gui style=\"checkbox\">Počet "
+"skladeb</gui> a <gui style=\"checkbox\">Žánr</gui>."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:64
@@ -107,6 +128,8 @@ msgid ""
 "To fill in the tags of the selected files using the details in the search "
 "result, press <gui style=\"button\">Apply</gui>."
 msgstr ""
+"Pro vyplnění štítků u vybraných souborů podle údajů ve výsledcích hledání "
+"zmáčkněte <gui style=\"button\">Použít</gui>."
 
 #. (itstool) path: page/p
 #: C/cddb-search.page:69
@@ -114,16 +137,18 @@ msgid ""
 "If you wish to tag only specific files, you can change your selection after "
 "the search is complete."
 msgstr ""
+"Jestli chcete vyplnit štítky jen u některých souborů, můžete změnit svůj "
+"výběr i po dokončení hledání."
 
 #. (itstool) path: info/desc
 #: C/file-rename.page:16
 msgid "Change the file names using tags"
-msgstr "Cambiar los nombres de los archivos usando etiquetas"
+msgstr "Jak změnit název souboru pomocí štítku"
 
 #. (itstool) path: page/title
 #: C/file-rename.page:19
 msgid "Rename files"
-msgstr "Renombrar archivos"
+msgstr "Přejmenování souborů"
 
 #. (itstool) path: page/p
 #: C/file-rename.page:21
@@ -131,6 +156,8 @@ msgid ""
 "You can rename your music files using the tags from within <app>EasyTAG</"
 "app>:"
 msgstr ""
+"Přímo v aplikaci <app>EasyTAG</app> můžete své hudební soubory přejmenovat "
+"pomocí štítků:"
 
 #. (itstool) path: item/p
 #: C/file-rename.page:26
@@ -138,64 +165,75 @@ msgid ""
 "<link xref=\"file-select\">Select the files</link> that you wish to rename "
 "in the file view."
 msgstr ""
-"<link xref=\"file-select\">Seleccione los archivos</link> que quiere "
-"renombrar en la vista de archivos."
+"<link xref=\"file-select\">Vyberte soubory</link>, které si přejete v "
+"zobrazení souborů přejmenovat."
 
 #. (itstool) path: item/p
 #: C/file-rename.page:30
 msgid ""
-"Select <guiseq><gui style=\"menu\">Scanner</gui> <gui style=\"menuitem"
-"\">Rename Files and Directories…</gui></guiseq>."
+"Select <guiseq><gui style=\"menu\">View</gui> <gui style=\"menuitem\">Show "
+"Scanner</gui></guiseq>."
 msgstr ""
-"Seleccione <guiseq><gui style=\"menu\">Analizador</gui> <gui style=\"menuitem"
-"\">Renombrar archivos y carpetas…</gui></guiseq>."
+"Vyberte <guiseq><gui style=\"menu\">Zobrazit</gui> <gui style=\"menuitem"
+"\">Zobrazit průzkumníka</gui></guiseq>."
 
 #. (itstool) path: item/p
 #: C/file-rename.page:34
+msgid "Select the <gui>Rename File and Directory</gui> scanner."
+msgstr "Vyberte průzkumníka <gui>Přejmenovat soubory a složky</gui>."
+
+#. (itstool) path: item/p
+#: C/file-rename.page:37
 msgid ""
 "Using the <gui xref=\"format-specifier\">Legend</gui>, type in the structure "
 "that you would like to use for the file naming. For example, if you wish "
 "your files to be named <file>[artist] - [title].[extension]</file>, "
 "enter <input>%a - %t</input> into the renaming field."
 msgstr ""
+"Podle <gui xref=\"format-specifier\">legendy</gui> zapište strukturu názvu "
+"souboru, aby odpovídala tomu, jak chcete soubor pojmenovat. Když například "
+"chcete název ve tvaru <file>[umělec] - [název].[přípona]</file>, zadejte do "
+"pole pro přejmenování <input>%a - %t</input>"
 
 #. (itstool) path: item/p
-#: C/file-rename.page:41
+#: C/file-rename.page:44
 msgid ""
-"To apply the changes to all files, select <guiseq><gui style=\"menu\">File</"
-"gui> <gui style=\"menuitem\">Scan Files…</gui></guiseq>."
+"To apply the changes to the selected files, click <gui style=\"button\">Scan "
+"Files</gui>."
 msgstr ""
-"Para aplicar los cambios a todos los archivos, seleccione <guiseq><gui style="
-"\"menu\">Archivo</gui> <gui style=\"menuitem\">Analizar archivos</gui></guiseq>."
+"Pro použití změn u vybraných souborů klikněte na <gui style=\"button"
+"\">Prozkoumat soubory</gui>."
 
 #. (itstool) path: item/p
-#: C/file-rename.page:46
-msgid "Close the <gui style=\"dialog\">Tag and Filename scan</gui> dialog."
+#: C/file-rename.page:48
+msgid "Close the <gui style=\"dialog\">Tag and Filename Scan</gui> dialog."
 msgstr ""
+"Zavřete dialogové okno <gui style=\"dialog\">Průzkum štítků a názvů souborů</"
+"gui>."
 
 #. (itstool) path: item/p
-#: C/file-rename.page:49
+#: C/file-rename.page:51
 msgid ""
 "To save the applied changes, select <guiseq><gui style=\"menu\">File</gui> "
 "<gui style=\"menuitem\">Save Files</gui></guiseq>."
 msgstr ""
-"Para guardar los cambios aplicados, seleccione <guiseq><gui style=\"menu"
-"\">Archivo</gui> <gui style=\"menuitem\">Guardar archivos</gui></guiseq>."
+"Aby se použité změny uložily, vyberte <guiseq><gui style=\"menu\">Soubor</"
+"gui> <gui style=\"menuitem\">Uložit soubory</gui></guiseq>."
 
 #. (itstool) path: note/p
-#: C/file-rename.page:56
+#: C/file-rename.page:58
 msgid "If you close the application without saving, your changes will be lost."
-msgstr "Si cierra la aplicación sin guardar los cambios, éstos se perderán."
+msgstr "Pokud aplikaci zavřete bez uložení, budou vaše změny ztraceny."
 
 #. (itstool) path: info/desc
 #: C/file-select.page:17
 msgid "Choose files in the file list"
-msgstr "Elegir archivos en la lista"
+msgstr "Jak vybrat soubory v seznamu souborů"
 
 #. (itstool) path: page/title
 #: C/file-select.page:20
 msgid "Select files"
-msgstr "Seleccionar archivos"
+msgstr "Výběr souborů"
 
 #. (itstool) path: page/p
 #: C/file-select.page:22
@@ -207,16 +245,22 @@ msgid ""
 "another file to select all the files between the two, including the first "
 "and last file."
 msgstr ""
+"<app>EasyTAG</app> má několik funkcí pracujících se soubory, které jsou "
+"právě označené v seznamu souborů. K výběru více souborů můžete buď držet "
+"zmáčknutou klávesu <key>Ctrl</key> během klikání na soubory, které si "
+"přejete vybrat, nebo můžete držet zmáčknutou klávesu <key>Shift</key> a "
+"kliknout na další soubor, aby se označily všechny soubory mezi dvěma "
+"soubory, včetně toho prvního a posledního."
 
 #. (itstool) path: info/desc
 #: C/format-specifier.page:17
 msgid "What is a format-specifier and which ones can I use?"
-msgstr "¿Qué es un especificador de formato y cuáles puedo usar?"
+msgstr "Co jsou to formátovací značky, a které můžete použít"
 
 #. (itstool) path: page/title
 #: C/format-specifier.page:21
 msgid "Format specifiers"
-msgstr "Especificadores de formato"
+msgstr "Formátovací značky"
 
 #. (itstool) path: page/p
 #: C/format-specifier.page:23
@@ -225,20 +269,19 @@ msgid ""
 "name a file or playlist based on existing tags using <link xref=\"scanner"
 "\">the scanner</link>."
 msgstr ""
-"Los <em>especificadores de formato</em> se pueden usar para dividir el "
-"nombre de un archivo en etiquetas y para nombrar un archivo o una lista de "
-"reproducción basándose en las etiquetas existentes usando <link xref="
-"\"scanner\">el analizador</link>."
+"<em>Formátovací značky</em> můžete použí k rozdělení názvu souboru na štítky "
+"a k pojmenování souboru nebo seznamu k přehrání podle štítků pomocí <link "
+"xref=\"scanner\">průzkumníka</link>."
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:31
 msgid "Format specifier"
-msgstr "Especificador de formato"
+msgstr "Formátovací značka"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:34
 msgid "Corresponding tag field"
-msgstr "Campo de etiqueta correspondiente"
+msgstr "Příslušné pole štítku"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:41
@@ -251,8 +294,8 @@ msgid ""
 "Artist: this is the artist or artists who created the track, this field may "
 "contact a featured artist as well as the album artist"
 msgstr ""
-"Artista: esto es el artista o artistas que crearon la pista. Este campo debe "
-"contener un artista destacado así como el álbum del artista."
+"umělec: jedná se o umělce, či více umělců, kteří vytvořili skladbu; pole "
+"může odkazovat na umělce skladby i na umělce alba"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:50
@@ -262,7 +305,7 @@ msgstr "%z"
 #. (itstool) path: td/p
 #: C/format-specifier.page:53
 msgid "Album artist"
-msgstr "Artista del álbum"
+msgstr "umělec alba"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:58
@@ -272,7 +315,7 @@ msgstr "%b"
 #. (itstool) path: td/p
 #: C/format-specifier.page:61
 msgid "Album title"
-msgstr "Título del álbum"
+msgstr "název alba"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:66
@@ -282,7 +325,7 @@ msgstr "%c"
 #. (itstool) path: td/p
 #: C/format-specifier.page:69
 msgid "Comment: this is the free-form comment field"
-msgstr "Comentario: esto es un campo libre para comentarios"
+msgstr "komentáře: jedná se o volnou formu"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:74
@@ -292,7 +335,7 @@ msgstr "%p"
 #. (itstool) path: td/p
 #: C/format-specifier.page:77
 msgid "Composer: this is the creator of the track"
-msgstr "Compositor: esto es el creado de la pista"
+msgstr "skladatel: jedná se tvůrce skladby"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:82
@@ -305,8 +348,8 @@ msgid ""
 "Copyright holder: this is usually the artist, but it can also be the record "
 "label"
 msgstr ""
-"Propietario del copyright: normalmente esto es el artista, pero también "
-"puede ser el sello del disco"
+"držitel autorských práv: obvykle se jedná o umělce, ale může jít i o "
+"vydavatele"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:91
@@ -316,7 +359,7 @@ msgstr "%d"
 #. (itstool) path: td/p
 #: C/format-specifier.page:94
 msgid "Disc number"
-msgstr "Número de disco"
+msgstr "číslo disku"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:99
@@ -329,9 +372,8 @@ msgid ""
 "Encoded by: this is usually the person who encoded the file, but the field "
 "is also used for the application that was used to encode the file"
 msgstr ""
-"Codificado por: normalmente esto es la persona que ha codificado el archivo, "
-"pero este campo también lo puede usar la aplicación que se usó para "
-"codificar el archivo"
+"zakódoval: obvykle se jedná o osobu, který soubor kódovala, ale pole bývá "
+"používáno i pro název aplikace, ve které bylo kódování souboru provedeno"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:109
@@ -341,7 +383,7 @@ msgstr "%g"
 #. (itstool) path: td/p
 #: C/format-specifier.page:112
 msgid "Genre"
-msgstr "Género"
+msgstr "žánr"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:117
@@ -354,9 +396,9 @@ msgid ""
 "Ignored: this format specifier can only be used in <gui>Fill Tag</gui> to "
 "specify parts of the file name which should be ignored"
 msgstr ""
-"Ignorado: este especificador de formato sólo se puede usar en <gui>Rellenar "
-"etiqueta</gui> para especificar partes del nombre del archivo que se deben "
-"ignorar"
+"ignorováno: tuto formátovací značku je možné použít jen ve funkci "
+"<gui>Vyplnit štítek</gui> k určení části názvu souboru, která má být "
+"ignorována"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:127
@@ -366,7 +408,7 @@ msgstr "%l"
 #. (itstool) path: td/p
 #: C/format-specifier.page:130
 msgid "Number of tracks: the total number of tracks on the medium"
-msgstr "Número de pistas: el número total de pistas del medio"
+msgstr "počet skladeb: celkový počet skladeb na médiu"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:135
@@ -376,7 +418,7 @@ msgstr "%o"
 #. (itstool) path: td/p
 #: C/format-specifier.page:138
 msgid "Original artist"
-msgstr "Artista original"
+msgstr "původní umělec"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:143
@@ -386,7 +428,7 @@ msgstr "%n"
 #. (itstool) path: td/p
 #: C/format-specifier.page:146
 msgid "Track number"
-msgstr "Número de pista"
+msgstr "číslo skladby"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:151
@@ -396,7 +438,7 @@ msgstr "%t"
 #. (itstool) path: td/p
 #: C/format-specifier.page:154
 msgid "Track title"
-msgstr "Título de la pista"
+msgstr "název skladby"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:159
@@ -406,7 +448,7 @@ msgstr "%u"
 #. (itstool) path: td/p
 #: C/format-specifier.page:162
 msgid "URL"
-msgstr "URL"
+msgstr "adresa URL"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:167
@@ -416,7 +458,7 @@ msgstr "%x"
 #. (itstool) path: td/p
 #: C/format-specifier.page:170
 msgid "Number of discs"
-msgstr "Número de discos"
+msgstr "počet disků"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:175
@@ -426,14 +468,12 @@ msgstr "%y"
 #. (itstool) path: td/p
 #: C/format-specifier.page:178
 msgid "Year of recording, sometimes the date of release is used instead"
-msgstr ""
-"Año de la grabación, aunque algunas veces se usa el año de publicación en su "
-"lugar"
+msgstr "rok nahrání, někdy je místo toho použit rok vydání"
 
 #. (itstool) path: page/title
 #: C/image-delete.page:19
 msgid "Delete an image"
-msgstr "Eliminar una imagen"
+msgstr "Odstranění obrázku"
 
 #. (itstool) path: page/p
 #: C/image-delete.page:21
@@ -441,13 +481,16 @@ msgid ""
 "To delete an image from a tag, select it and press the <gui style=\"button"
 "\">Remove selected images from the tag</gui> button."
 msgstr ""
+"Když chcete ze štítku odstranit obrázek, vyberte jej a zmáčkněte tlačítko "
+"<gui style=\"button\">Odstranit vybrané obrázky ze štítku</gui>."
 
 #. (itstool) path: page/p
 #: C/image-delete.page:24
 msgid ""
 "To delete more than one image, select those images before deleting them."
 msgstr ""
-"Para eliminar más de una imane, seleccione las imágenes antes de eliminarlas."
+"Abyste odstranili více obrázků naráz, nejprve je všechny vyberte a pak "
+"odstraňte."
 
 #. (itstool) path: page/p
 #: C/image-delete.page:27
@@ -457,11 +500,15 @@ msgid ""
 "images from the <gui style=\"tab\">Image</gui> tab, then press the <gui "
 "style=\"button\">Tag selected files with these images</gui> button."
 msgstr ""
+"Je také možné odstranit všechny obrázky z více souborů naráz. Udělá se to "
+"tak, že se vyberou soubory, ze kterých chcete obrázky odstranit, odstraní se "
+"obrázky z karty <gui style=\"tab\">Obrázek</gui> a po té se zmáčkne tlačítko "
+"<gui style=\"button\">Nastavit vybraným souborům tyto obrázky</gui>."
 
 #. (itstool) path: page/title
 #: C/image-export.page:19
 msgid "Save an image"
-msgstr "Guardar una imagen"
+msgstr "Ukládání obrázku"
 
 #. (itstool) path: page/p
 #: C/image-export.page:21
@@ -471,6 +518,10 @@ msgid ""
 "images to files</gui> button. The default filename will be the image "
 "description."
 msgstr ""
+"Když máte soubor, který ve štítku obsahuje obrázek, můžete si tento obrázek "
+"vyexportovat. Stačí jej vybrat a zmáčknout tlačítko <gui style=\"button"
+"\">Uložit vybrané obrázky do souborů</gui>. Jako výchozí název souboru se "
+"použije popis obrázku."
 
 #. (itstool) path: page/p
 #: C/image-export.page:26
@@ -478,16 +529,18 @@ msgid ""
 "To export a number of images, select these images, then press the <gui style="
 "\"button\">Save the selected images to files</gui> button."
 msgstr ""
+"Abyste vyexportovali více obrázků, nejprve je vyberte a pak zmáčkněte "
+"tlačítko <gui style=\"button\">Uložit vybrané obrázky do souborů</gui>."
 
 #. (itstool) path: info/desc
 #: C/image.page:19
 msgid "Add images, such as cover art to the tag"
-msgstr "Añadir imágenes, como la carátula, a la etiqueta"
+msgstr "Jak přidat obrázek, např. přebal, do štítku"
 
 #. (itstool) path: page/title
 #: C/image.page:23
 msgid "Add an image to a file"
-msgstr "Añadir una imagen a un archivo"
+msgstr "Přidání obrázku do souboru"
 
 #. (itstool) path: page/p
 #: C/image.page:25
@@ -495,6 +548,9 @@ msgid ""
 "Most audio file formats support an <sys>image</sys> tag field which can be "
 "used to add cover art and other related images to the audio file."
 msgstr ""
+"Většina formátů zvukových souborů podporuje pole štítku <sys>obrázek</sys>, "
+"které lze použít pro přidání grafiky přebalu a jiných obrázků, vztahujících "
+"se k danému zvukovému souboru."
 
 #. (itstool) path: page/p
 #: C/image.page:28
@@ -503,6 +559,9 @@ msgid ""
 "\">Images</gui> tab and press the <gui style=\"button\">Add images to the "
 "tag</gui> button. Select the image and confirm your selection."
 msgstr ""
+"Abyste do souboru přidali obrázek, vyberte soubor, otevřete kartu <gui style="
+"\"tab\">Obrázky</gui> a zmáčkněte tlačítko <gui style=\"button\">Přidat "
+"obrázky do štítku</gui>. Vyberte obrázek a svůj výběr potvrďte."
 
 #. (itstool) path: page/p
 #: C/image.page:33
@@ -513,11 +572,16 @@ msgid ""
 "properties</gui> button. Once you have made the changes, press <gui style="
 "\"button\">OK</gui> to apply the changes."
 msgstr ""
+"Jakmile je obrázek načten, je automaticky označen jako přední přebal a "
+"popsán stejně, jako je pojmenován soubor. Jestli chcete <gui>typ</gui> a "
+"<gui>popis</gui> změnit, zmáčkněte tlačítko <gui style=\"button\">Upravit "
+"vlastnosti obrázku</gui>. Po provedení změn zmáčkněte <gui style=\"button"
+"\">Budiž</gui> a změny se použijí."
 
 #. (itstool) path: note/p
 #: C/image.page:40
 msgid "Your changes will not be saved automatically."
-msgstr "Sus cambios no se guardará automáticamente."
+msgstr "Vaše změny se neukládají automaticky."
 
 #. (itstool) path: page/p
 #: C/image.page:43
@@ -527,6 +591,10 @@ msgid ""
 "\">Tag selected files with these images</gui> button. You will need to save "
 "these changes to write them to the files."
 msgstr ""
+"Stejný obrázek můžete přiřadit do štítku více souborům. Stačí soubory vybrat "
+"v seznamu souborů, pak vybrat obrázek a zmáčknout tlačítko <gui style="
+"\"button\">Nastavit vybraným souborům tyto obrázky</gui>. Aby se změny do "
+"souboru zapsaly, musíte je uložit."
 
 #. (itstool) path: page/p
 #: C/image.page:48
@@ -534,48 +602,61 @@ msgid ""
 "You can work with more than one image at a time by selecting those images "
 "before you edit, apply, save to file or delete them."
 msgstr ""
+"Můžete pracovat i s více obrázky naráz, ale musíte je před jejich úpravou, "
+"použitím, uložením do souboru nebo smazáním vybrat."
 
 #. (itstool) path: info/title
-#: C/index.page:17
-msgctxt "link"
+#: C/index.page:11 C/index.page:21
+msgctxt "text"
 msgid "EasyTAG"
 msgstr "EasyTAG"
 
 #. (itstool) path: info/title
-#: C/index.page:18
-msgctxt "text"
+#: C/index.page:20
+msgctxt "link"
 msgid "EasyTAG"
 msgstr "EasyTAG"
 
+#. (itstool) path: info/desc
+#: C/index.page:23
+msgid ""
+"Learn how to use <app>EasyTAG</app>, a comprehensive tag editor for FLAC, "
+"Monkey's Audio, MP2, MP3, MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg Vorbis "
+"and WavPack audio files."
+msgstr ""
+"Naučte se, jak používat <app>EasyTAG</app>, komplexní editor štítků u "
+"zvukových souborů FLAC, Monkey's Audio, MP2, MP3, MP4/AAC, MusePack, Ogg "
+"Opus, Ogg Speex, Ogg Vorbis a WavPack."
+
 #. (itstool) path: page/title
-#: C/index.page:22
+#: C/index.page:29
 msgid "<_:media-1/> EasyTAG"
 msgstr "<_:media-1/> EasyTAG"
 
 #. (itstool) path: section/title
-#: C/index.page:28
+#: C/index.page:35
 msgid "Features"
-msgstr "Características"
+msgstr "Funkce"
 
 #. (itstool) path: section/title
-#: C/index.page:32
+#: C/index.page:39
 msgid "Tags"
-msgstr "Etiquetas"
+msgstr "Štítky"
 
 #. (itstool) path: section/title
-#: C/index.page:36
+#: C/index.page:43
 msgid "The image tag field"
-msgstr "El campo de etiqueta de la imagen"
+msgstr "Pole štítku s obrázkem"
 
 #. (itstool) path: section/title
-#: C/index.page:44
+#: C/index.page:51
 msgid "Common problems and questions"
-msgstr "Problemas comunes y preguntas"
+msgstr "Běžné problémy a dotazy"
 
 #. (itstool) path: page/title
 #: C/introduction.page:21
 msgid "Introduction"
-msgstr "Introducción"
+msgstr "Úvod"
 
 #. (itstool) path: page/p
 #: C/introduction.page:23
@@ -584,11 +665,14 @@ msgid ""
 "MP2, MP3, MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg Vorbis and WavPack "
 "audio files."
 msgstr ""
+"<app>EasyTAG</app> je komplexní editor štítků u zvukových souborů FLAC, "
+"Monkey's Audio, MP2, MP3, MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg Vorbis "
+"a WavPack."
 
 #. (itstool) path: page/title
 #: C/keyboard-shortcuts.page:20
 msgid "Keyboard shortcuts"
-msgstr "Atajos del teclado"
+msgstr "Klávesové zkratky"
 
 #. (itstool) path: page/p
 #: C/keyboard-shortcuts.page:22
@@ -596,31 +680,33 @@ msgid ""
 "<app>EasyTAG</app> has a number of keyboard shortcuts, most of which are "
 "listed in the menus. Here are some which are especially useful:"
 msgstr ""
+"<app>EasyTAG</app> má řadu klávesových zkratek, z nichž je většina uvedena v "
+"nabídkách. Zde je vybráno pár opravdu užitečných:"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:29
 msgid "Action"
-msgstr "Acción"
+msgstr "Činnost"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:32
 msgid "Shortcut"
-msgstr "Atajo"
+msgstr "Klávesová zkratka"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:39
 msgid "Apply tag to selected files"
-msgstr "Aplicar la etiqueta a los archivos seleccionados"
+msgstr "Použít štítky na vybrané soubory"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:42
 msgid "<keyseq><key>Ctrl</key><key>Return</key></keyseq>"
-msgstr "<keyseq><key>Ctrl</key><key>Intro</key></keyseq>"
+msgstr "<keyseq><key>Ctrl</key><key>Enter</key></keyseq>"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:47
 msgid "Search all files, including filenames and tags"
-msgstr "Buscar todos los archivos, incluyendo nombres de archivos y etiquetas"
+msgstr "Prohledat všechny soubory, hledá se v názvech souborů i ve štítcích"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:50
@@ -631,43 +717,43 @@ msgstr "<keyseq><key>Ctrl</key><key>F</key></keyseq>"
 #: C/keyboard-shortcuts.page:55
 msgid "Go to previous file while keeping focus on the same tag field"
 msgstr ""
-"Ir al archivo anterior manteniendo el foco en el mismo campo de etiqueta"
+"Přejít na předchozí soubor a přitom nechat zaměřené stejné pole ve štítku"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:58
 msgid "<key>Page Up</key>"
-msgstr "<key>Re Pág</key>"
+msgstr "<key>Page Up</key>"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:63
 msgid "Go to next file while keeping focus on the same tag field"
 msgstr ""
-"Ir al siguiente archivo manteniendo el foco en el mismo campo de etiqueta"
+"Přejít na následující soubor a přitom nechat zaměřené stejné pole ve štítku"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:66
 msgid "<key>Page Down</key>"
-msgstr "<key>Av Pág</key>"
+msgstr "<key>Page Down</key>"
 
 #. (itstool) path: p/link
 #: C/legal.xml:4
 msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License"
-msgstr "Creative Commons de Atribución-Compartir Igual 3.0 sin soporte"
+msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License"
 
 #. (itstool) path: license/p
 #: C/legal.xml:3
 msgid "This work is licensed under a <_:link-1/>."
-msgstr "Este trabajo está licenciado bajo la <_:link-1/>."
+msgstr "Tato práce je licencována pod <_:link-1/>."
 
 #. (itstool) path: info/desc
 #: C/playlist-generate.page:17
 msgid "Generate a playlist from the file list"
-msgstr "Generar una lista de reproducción de la lista de archivos"
+msgstr "Jak ze seznamu souborů vygenerovat seznam k přehrání, tzv. playlist"
 
 #. (itstool) path: page/title
 #: C/playlist-generate.page:20
 msgid "Create a playlist"
-msgstr "Crear una lista de reproducción"
+msgstr "Vytvoření seznamu k přehrání"
 
 #. (itstool) path: page/p
 #: C/playlist-generate.page:22
@@ -675,6 +761,8 @@ msgid ""
 "You can create a M3U playlist for use with a music player based on the list "
 "of files shown in <app>EasyTAG</app>:"
 msgstr ""
+"V aplikaci <app>EasyTAG</app> si můžete ze seznamu souborů vytvořit seznam k "
+"přehrání (tzv. playlist) M3U, který pak lze použít v hudebních přehrávačích."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:27
@@ -682,8 +770,8 @@ msgid ""
 "<link xref=\"file-select\">Select the files</link> that you wish to be in "
 "the playlist in the file list."
 msgstr ""
-"En la lista de archivos, <link xref=\"file-select\">seleccione los archivos</"
-"link> que quiere incluir en la lista de reproducción."
+"V seznamu souborů <link xref=\"file-select\">vyberte soubory</link>, které "
+"si přejete mít v seznamu k přehrání."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:31
@@ -691,8 +779,8 @@ msgid ""
 "Select <guiseq><gui style=\"menu\">Miscellaneous</gui> <gui style=\"menuitem"
 "\">Generate Playlist…</gui></guiseq>."
 msgstr ""
-"Seleccione <guiseq><gui style=\"menu\">Varios</gui> <gui style=\"menuitem"
-"\">Generar lista de reproducción…</gui></guiseq>."
+"Zvolte <guiseq><gui style=\"memu\">Různé</gui> <gui style=\"menuitem"
+"\">Vygenerovat seznam k přehrání…</gui></guiseq>."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:35
@@ -702,6 +790,11 @@ msgid ""
 "style=\"radiobutton\">Use directory name</gui> to name the playlist after "
 "the directory which is selected in the <gui style=\"group\">Browser</gui>."
 msgstr ""
+"Vyberte <gui style=\"radiobutton\">Použít masku</gui> a zadejte masku pomocí "
+"<link xref=\"format-specifier\">formátovacích značek</link> nebo vyberte "
+"<gui style=\"radiobutton\">Použít název složky</gui> k pojmenování seznamu k "
+"přehrání podle složky, která je vybrána v <gui style=\"group\">prohlížeči</"
+"gui>."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:42
@@ -710,6 +803,10 @@ msgid ""
 "the files which are selected in the file list when generating the playlist. "
 "Deselect it to include all the displayed files in the playlist."
 msgstr ""
+"Zaškrtněte <gui style=\"checkbox\">Zahrnout pouze vybrané soubory</gui>, aby "
+"se při generování seznamu k přehrání použily jen soubory, které jsou vybrané "
+"v seznamu souborů. Když zaškrtnutí zrušíte, budou součástí seznamu k "
+"přehrání všechny zobrazené soubory."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:48
@@ -719,6 +816,10 @@ msgid ""
 "do not plan to move the audio files, in which case you can select <gui style="
 "\"radiobutton\">Use full path for files in playlist</gui>."
 msgstr ""
+"Vyberte <gui style=\"radiobutton\">Použít relativní cestu k souborům</gui>. "
+"Pouze pokud plánujete používat seznam k přehrání pořád na stejném počítači a "
+"nechystáte se zvukové soubory někam přesouvat, můžete vybrat <gui style="
+"\"radiobutton\">Použít plnou cestu k souborům</gui>."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:55
@@ -728,6 +829,11 @@ msgid ""
 "the <gui style=\"group\">Browser</gui>. Otherwise, the playlist will be "
 "saved in the directory selected in the <gui style=\"group\">Browser</gui>."
 msgstr ""
+"Zaškrtněte <gui style=\"checkbox\">Vytvořit v nadřazené složce</gui>, pokud "
+"chcete uložit seznam k přehrání v rodičovské složce složky, která je vybraná "
+"v <gui style=\"group\">Prohlížeči</gui>. Když volba zaškrtnutá není, "
+"ukládají se seznamy k přehrání přímo ve složce vybrané v <gui style=\"group"
+"\">Prohlížeči</gui>."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:63
@@ -736,6 +842,10 @@ msgid ""
 "<sys>NTFS</sys> or <sys>FAT</sys> file system, select <gui style=\"checkbox"
 "\">Use DOS directory separator</gui>."
 msgstr ""
+"V případě, že vytváříte seznam k přehrání pro použití na počítači s Windows "
+"nebo na souborových systémech <sys>NTFS</sys> nebo <sys>FAT</sys>, "
+"zaškrtněte <gui style=\"checkbox\">Použít oddělovač složek jako v systému "
+"DOS</gui>."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:68
@@ -747,13 +857,20 @@ msgid ""
 "\"radiobutton\">Write info using</gui> and enter a mask, using format "
 "specifiers, to write custom extended information to the playlist."
 msgstr ""
+"Vyberte <gui style=\"radiobutton\">Zapsat jen seznam souborů</gui>, aby se "
+"vytvořit seznam k přehrání, který bude obsahovat jen seznam souborů. Pokud "
+"vyberte <gui style=\"radiobutton\">Zapsat informace za použití názvu "
+"souboru</gui>, zapíší se i rozšiřující informace, včetně délky zvukového "
+"souboru. Pomocí <gui style=\"radiobutton\">Zapsat informace za použití</gui> "
+"a zadání masky z formátovacích značek můžete do seznamu k přehrání nechat "
+"zapsat vlastní rozšiřující informace."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:77
 msgid "To generate the playlist, select <gui style=\"button\">Save</gui>."
 msgstr ""
-"Para generar la lista de reproducción, seleccione <gui style=\"button"
-"\">Guardar</gui>."
+"Výsledný seznam k přehrání vygenerujete zmáčknutím <gui style=\"button"
+"\">Uložit</gui>."
 
 #. (itstool) path: credit/name
 #: C/problems-id3.page:13 C/problems-ogg-split.page:13
@@ -764,11 +881,13 @@ msgstr "David King"
 #: C/problems-id3.page:17
 msgid "Fix ID3 tags that show up blank or incorrect tags in other applications"
 msgstr ""
+"Jak opravit štítky MP3, když se v jiných aplikacích zobrazují prázdné nebo "
+"nesprávně"
 
 #. (itstool) path: page/title
 #: C/problems-id3.page:21
 msgid "MP3 tags not showing correctly"
-msgstr "Las etiquetas MP3 no se muestran correctamente"
+msgstr "Štítky MP3 se nezobrazují správně"
 
 #. (itstool) path: page/p
 #: C/problems-id3.page:23
@@ -778,13 +897,17 @@ msgid ""
 "ID3v1.1. The default version in <app>EasyTAG</app> is ID3v2.4, which has the "
 "most features and is most efficient."
 msgstr ""
+"Štítky <em>ID3</em>, které se používají u souborů MP3, mohou být v několika "
+"různých verzích. <app>EasyTAG</app> podporuje ID3v2.4, ID3v2.3 a ID3v1.1. "
+"Výchozí verzí je v <app>EasyTAG</app> ID3v2.4, který má nejvíce možností a "
+"je nejefektivnější."
 
 #. (itstool) path: page/p
 #: C/problems-id3.page:28
 msgid ""
 "Most applications support the most recent version of the ID3 standard: "
 "ID3v2.4."
-msgstr ""
+msgstr "Většina aplikací podporuje nejnovější verzi standardu ID3: ID3v2.4."
 
 #. (itstool) path: page/p
 #: C/problems-id3.page:31
@@ -794,6 +917,10 @@ msgid ""
 "a problem reading tags from your files, you should try changing the ID3 tag "
 "version settings in the preferences:"
 msgstr ""
+"Některé aplikace a zařízení mohou podporovat jen štítky ID3v2.3 a ID3v1.1 a "
+"pár jich dokonce může podporovat jen štítky ID3v1.1. Pokud jiné aplikace "
+"nebo zařízení mají problémy se čtením štítků z vašich souborů, měli byste "
+"zkusit změnit verzi štítků ID3 v předvolbách:"
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:38 C/problems-ogg-split.page:45
@@ -801,11 +928,13 @@ msgid ""
 "Select <guiseq style=\"menuitem\"><gui style=\"menu\">Edit</gui><gui style="
 "\"menuitem\">Preferences</gui></guiseq>"
 msgstr ""
+"Vyberte <guiseq style=\"menuitem\"><gui style=\"menu\">Upravit</gui><gui "
+"style=\"menuitem\">Předvolby</gui></guiseq>."
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:42
 msgid "Select the <gui style=\"tab\">ID3 Tag Settings</gui> tab"
-msgstr ""
+msgstr "Vyberte kartu <gui style=\"tab\">Nastavení štítků ID3</gui>."
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:45
@@ -814,6 +943,9 @@ msgid ""
 "<gui>ID3v2.3</gui> setting in the <gui>Version</gui> drop-down lid to "
 "improve compatibility with other systems capable of reading ID3v2 tags"
 msgstr ""
+"V části <gui style=\"group\">Štítky ID3v2</gui> zvolte v rozbalovacím "
+"seznamu <gui>Verze</gui> nastavení <gui>ID3v2.3</gui>, abyste zlepšili "
+"kompatibilitu s ostatními systémy ohledně čtení štítků ID3v2."
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:50
@@ -821,12 +953,13 @@ msgid ""
 "Make sure that <gui style=\"check\">Write ID3v1.x tag</gui> is checked in "
 "the <gui style=\"group\">ID3v1 tags</gui> section"
 msgstr ""
+"Ujistěte se, že v části <gui style=\"group\">Štítky ID3v1</gui> je "
+"zaškrtnuto <gui style=\"check\">Zapisovat štítky ID3v1.x</gui>."
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:54 C/problems-ogg-split.page:56
 msgid "Click <gui style=\"button\">OK</gui> to save the settings"
-msgstr ""
-"Pulse <gui style=\"button\">Aceptar</gui> para guardar la configuración"
+msgstr "Kliknutím na <gui style=\"button\">Budiž</gui> nastavení uložte."
 
 #. (itstool) path: info/desc
 #: C/problems-ogg-split.page:21
@@ -834,11 +967,12 @@ msgid ""
 "Split a single tag field into multiple fields when you save Ogg and FLAC "
 "files"
 msgstr ""
+"Jak jedno pole štítku rozdělit do více polí při ukládání souborů Ogg a FLAC"
 
 #. (itstool) path: page/title
 #: C/problems-ogg-split.page:25
 msgid "Split tag fields when saving"
-msgstr "Dividir campos de etiquetas al guardar"
+msgstr "Rozdělení polí štítku při ukládání"
 
 #. (itstool) path: page/p
 #: C/problems-ogg-split.page:27
@@ -849,6 +983,11 @@ msgid ""
 "<app>EasyTAG</app> automatically reads the extra fields, combining them "
 "together and showing them as if they were a single field."
 msgstr ""
+"V souborech Ogg a FLAC je možné mít více než jedno <link xref=\"tag\">pole "
+"štítku</link> stejného typu. Například, když píseň zpívají dva umělci, "
+"můžete mít ve štítku dvě pole s umělci, pro každého jedno. <app>EasyTAG</"
+"app> automaticky načítá dodatečná pole, spojuje je dohromady a zobrazuje je, "
+"jako by šlo o jedno pole."
 
 #. (itstool) path: page/p
 #: C/problems-ogg-split.page:33
@@ -861,16 +1000,22 @@ msgid ""
 "the field \"David Bowie - Queen\", two fields would be saved: \"David Bowie"
 "\" and \"Queen\"."
 msgstr ""
+"Spousta aplikaci nečte pole s více hodnotami správně, takže výchozí "
+"nastavení je ukládat jen jedno pole na záznam. Pokud aplikace, kterou "
+"používáte podporuje více polí stejného typu, můžete nastavit <app>EasyTAG</"
+"app>, aby pole při ukládání souboru rozděloval. Pole se automaticky rozdělí "
+"na každém výskytu „ - “. Například pole s „David Bowie - Queen“ by se "
+"uložilo do dvou polí: „David Bowie“ a „Queen“."
 
 #. (itstool) path: page/p
 #: C/problems-ogg-split.page:41
 msgid "To split fields when you save the files:"
-msgstr "Para dividir campos cuando guarda los archivos:"
+msgstr "Aby se pole při ukládání rozdělovala:"
 
 #. (itstool) path: item/p
 #: C/problems-ogg-split.page:49
 msgid "Select the <gui style=\"tab\">Tag Settings</gui> tab"
-msgstr ""
+msgstr "Vyberte kartu <gui style=\"tab\">Nastavení štítků</gui>."
 
 #. (itstool) path: item/p
 #: C/problems-ogg-split.page:52
@@ -878,16 +1023,18 @@ msgid ""
 "In <gui style=\"group\">Tag Splitting</gui> section, check the fields that "
 "you want to be split into multiple fields when saving"
 msgstr ""
+"V části <gui style=\"group\">Rozdělování štítků</gui> zaškrtněte pole, která "
+"chcete při ukládání rozdělovat na více polí."
 
 #. (itstool) path: info/desc
 #: C/scanner.page:17
 msgid "Update tags automatically."
-msgstr "Actualizar las etiquetas automáticamente"
+msgstr "Jak aktualizovat štítky automaticky"
 
 #. (itstool) path: page/title
 #: C/scanner.page:21
 msgid "The <gui>Scanner</gui>"
-msgstr "El <gui>Analizador</gui>"
+msgstr "Průzkumník"
 
 #. (itstool) path: page/p
 #: C/scanner.page:23
@@ -896,11 +1043,14 @@ msgid ""
 "file and create a new directory based on the filled fields, and process the "
 "text in fields and the filename."
 msgstr ""
+"Průzkumníka můžete využít k vyplnění polí podle názvu souboru, k "
+"přejmenování souboru a k vytvoření nové složky na základě vyplněných polí a "
+"ke zpracování textu v polích a názvu souboru."
 
 #. (itstool) path: section/title
 #: C/scanner.page:28
 msgid "Fill fields from a filename and directory structure"
-msgstr ""
+msgstr "Vyplňování polí z názvu souboru a struktury složek"
 
 #. (itstool) path: section/p
 #: C/scanner.page:30
@@ -908,8 +1058,8 @@ msgid ""
 "<gui>Fill Tag</gui> can be used to fill in tag fields based on the filename "
 "and its parent directories."
 msgstr ""
-"<gui>Rellenar etiqueta</gui> se puede usar para rellenar campos de etiquetas "
-"basándose en el nombre del archivo o en las carpetas padre."
+"<gui>Vyplnit štítek</gui> můžete použít k vyplnění polí štítku na základě "
+"názvu souboru a jeho rodičovských složek."
 
 #. (itstool) path: section/p
 #: C/scanner.page:33
@@ -922,16 +1072,28 @@ msgid ""
 "the parent directories. Use <key>/</key> to add the <em>separator</em> for a "
 "parent directory."
 msgstr ""
+"Použijte <em xref=\"format-specifier\">formátovací značky </em> a "
+"<em>oddělovače</em> k rozdělení názvu souboru a rodičovských složek do "
+"různých polí štítku. <em>Formátovací značky</em>, jako je <input>%t</input> "
+"pro název skladby, které se používají k určení různých polí šítku, jsou "
+"uvedeny v <gui>legendě</gui>. <em>Oddělovače</em> mohou být libovolné části "
+"názvu souboru nebo rodičovských složek. Jako <em>oddělovač</em> rodičovské "
+"složky použijte <key>/</key>."
 
 #. (itstool) path: section/p
 #: C/scanner.page:41
 msgid ""
 "For example, if you keep your audio files using the <file>artist/"
 "album/01 track title.flac</file> directory structure and filenames, use the "
-"<input>%a/%b/%t %n</input> <em>format string</em> to extract the track "
+"<input>%a/%b/%n %t</input> <em>format string</em> to extract the track "
 "number and title from the filename, the album title from the parent "
 "directory and the artist from the grandparent directory."
 msgstr ""
+"Když například své zvukové soubory uchováváte ve struktuře složek a s názvy "
+"souborů <file>umělec/album/01 název skladby.flac</file>, použijte "
+"<em>formátovací řetězec</em> <input>%a/%b/%n %t</input> k získání čísla "
+"skladby a názvu skladby z názvu souboru, názvu alba z názvu rodičovské "
+"složky a umělce z názvu prarodičovské složky."
 
 #. (itstool) path: section/p
 #: C/scanner.page:47
@@ -939,11 +1101,13 @@ msgid ""
 "Fill the tag fields for the selected files using the <gui style=\"button"
 "\">Scan Files</gui> button."
 msgstr ""
+"K vyplnění polí štítku u vybraných souborů použijte tlačítko <gui style="
+"\"button\">Prozkoumat soubory</gui>."
 
 #. (itstool) path: section/title
 #: C/scanner.page:53
 msgid "Rename files and create new directories"
-msgstr "Renombrar archivos y crear carpetas nuevas"
+msgstr "Přejmenování souborů a vytváření nových složek"
 
 #. (itstool) path: section/p
 #: C/scanner.page:55
@@ -953,16 +1117,25 @@ msgid ""
 "fields. If a new directory hierarchy is specified, it will be created inside "
 "the directory where the file is currently located."
 msgstr ""
+"<gui xref=\"file-rename\">Přejmenovat soubory a složky</gui> můžete použít k "
+"vytvoření hierarchie složek a k aktualizaci názvů souborů podle vyplněných "
+"polí štítku. V případě, že je zadána nová hierarchie složek, bude vytvořena "
+"uvnitř složky, ve které se soubor zrovna nachází."
 
 #. (itstool) path: section/p
 #: C/scanner.page:60
 msgid ""
 "For example, if you have a tagged file inside the <file>Music</file> "
-"directory, you can use the <input>%a/%b/%t %n</input> <em>format string</"
+"directory, you can use the <input>%a/%b/%n %t</input> <em>format string</"
 "em>, it will create the <file>Music/artist/album/01 track title.flac</file> "
 "file structure and filename. You will see a preview of the naming scheme "
 "below your specified format string."
 msgstr ""
+"Pokud například máte soubor se štítkem ve složce <file>Hudba</file>, můžete "
+"použít <em>formátovací řetězec</em> <input>%a/%b/%n %t</input>, aby se "
+"vytvořila struktura složek a souborů ve formě <file>Hudba/umělec/album/01 "
+"název skladby.flac</file>. Pod zadaným formátovacím řetězcem uvidíte náhled "
+"schématu pojmenování."
 
 #. (itstool) path: section/p
 #: C/scanner.page:66
@@ -970,13 +1143,13 @@ msgid ""
 "To prepare the files for moving and renaming, press the <gui style=\"button"
 "\">Scan Files</gui> button."
 msgstr ""
-"Para preparar los archivos para moverlos y renombrarlos, pulse el botón <gui "
-"style=\"button\">Analizar archivos</gui>."
+"Pro přípravu souborů k přesunu a přejmenování, zmáčkněte tlačítko <gui style="
+"\"button\">Prozkoumat soubory</gui>."
 
 #. (itstool) path: section/title
 #: C/scanner.page:72
 msgid "Bulk process tag fields and filename"
-msgstr ""
+msgstr "Hromadné zpracování polí štítků a názvů souborů"
 
 #. (itstool) path: section/p
 #: C/scanner.page:74
@@ -985,6 +1158,9 @@ msgid ""
 "allows you to select which tag fields to process. It also allows for the "
 "filename to be processed as well."
 msgstr ""
+"<gui>Zpracovat pole</gui> je sofistikovaná funkce hledání a nahrazování "
+"umožňující vybrat, která pole štítku se mají zpracovat. Rovněž umožňuje "
+"zpracovat název souboru."
 
 #. (itstool) path: section/p
 #: C/scanner.page:78
@@ -992,8 +1168,8 @@ msgid ""
 "You can <gui>Convert</gui> characters for a simple find and replace, change "
 "capitalization and add or remove spaces."
 msgstr ""
-"Puede <gui>Convertir</gui> caracteres para una búsqueda con reemplazamiento "
-"sencilla, cambiar la capitalización o eliminar espacios."
+"Můžete <gui>Převést</gui> znaky pomocí jednoduchého vyhledávání a "
+"nahrazování, měnit velikost písmen a přidávat nebo odstraňovat mezery."
 
 #. (itstool) path: section/p
 #: C/scanner.page:81
@@ -1001,16 +1177,19 @@ msgid ""
 "Use the <gui>Select fields</gui> buttons to specify which fields to change. "
 "You can also select or deselect all fields and invert your selection."
 msgstr ""
+"K určení polí, která se mají změnit, použijte tlačítka <gui>Vybrat pole</"
+"gui>. Můžete i hromadně všechna pole označit nebo zrušit jejich označení, "
+"případně označení prohodit."
 
 #. (itstool) path: info/desc
 #: C/starting.page:16
 msgid "Using <app>EasyTAG</app> for the first time"
-msgstr "Usar <app>EasyTAG</app> por primera vez"
+msgstr "Jak používat <app>EasyTAG</app> napoprvé"
 
 #. (itstool) path: page/title
 #: C/starting.page:19
 msgid "Start using <app>EasyTAG</app>"
-msgstr "Empezar a usar <app>EasyTAG</app>"
+msgstr "Začínáme s <app>EasyTAG</app>"
 
 #. (itstool) path: page/p
 #: C/starting.page:21
@@ -1019,6 +1198,9 @@ msgid ""
 "<file>Music</file> directory or your home directory for audio files. If you "
 "wish to skip the search, press the <gui style=\"button\">Stop</gui> button."
 msgstr ""
+"Když spustíte <app>EasyTAG</app> poprvé, pokusí se vyhledat zvukové soubory "
+"ve vaší složce <file>Hudba</file> nebo ve vaší domovské složce. Pokud chcete "
+"hledání přeskočit, zmáčkněte tlačítko <gui style=\"button\">Zastavit</gui>."
 
 #. (itstool) path: page/p
 #: C/starting.page:25
@@ -1028,6 +1210,10 @@ msgid ""
 "updates to the tag metadata containers and will not be applied until you "
 "save the changes."
 msgstr ""
+"<app>EasyTAG</app> může použít některé automatické korekce u některých "
+"vašich hudebních souborů. Tyto soubory budou zvýrazněny tučně. Budou mít "
+"aktualizovaná metadata ve štítcích, ale ta se nepoužijí, dokud změny "
+"neuložíte."
 
 #. (itstool) path: page/p
 #: C/starting.page:30
@@ -1039,16 +1225,22 @@ msgid ""
 "style=\"tab\">ID3 Tag Settings</gui> tab in the <gui style=\"dialog"
 "\">Preferences</gui> dialog."
 msgstr ""
+"Když chcete změny uložit, vyberte všechny dotčené soubory a zmáčkněte "
+"<keyseq><key>Ctrl</key><key>S</key></keyseq>. Automaticky provedené změny "
+"není možné vrátit zpět, ale neuloží se, dokud soubory nevyberete a neuložíte "
+"ručně. Některé z těchto automatických aktualizací můžete zakázat na kartě "
+"<gui style=\"tab\">Nastavení štítků ID3</gui> v dialogovém okně <gui style="
+"\"dialog\">Předvolby</gui>."
 
 #. (itstool) path: info/desc
 #: C/tag-field.page:18
 msgid "Add text tags to a file"
-msgstr "Añadir etiquetas de texto a un archivo"
+msgstr "Jak přidat štítky do souboru"
 
 #. (itstool) path: page/title
 #: C/tag-field.page:22
 msgid "Tag a file"
-msgstr "Etiquetar un archivo"
+msgstr "Přiřazení štítku souboru"
 
 #. (itstool) path: page/p
 #: C/tag-field.page:24
@@ -1056,24 +1248,25 @@ msgid ""
 "Audio files can support a number of different tag <em>fields</em> which "
 "depend on the file format."
 msgstr ""
-"Los archivos de sonido pueden soportar varios <em>campos</em> de etiqueta "
-"que dependen del formato del archivo."
+"Zvukové soubory mohou podporovat řadu různých <em>polí</em> štítků, které "
+"závisí na formátu souboru."
 
 #. (itstool) path: steps/title
 #: C/tag-field.page:28
 msgid "Update a tag field in a file"
-msgstr "Actualizar un campo de etiqueta en un archivo"
+msgstr "Aktualizace pole štítku v souboru"
 
 #. (itstool) path: item/p
 #: C/tag-field.page:30
 msgid "Select the file that you wish to tag."
-msgstr "Seleccione el archivo que quiere etiquetar"
+msgstr "Vyberte soubor, ve kterém si přejete upravit štítek."
 
 #. (itstool) path: item/p
 #: C/tag-field.page:33
 msgid "Update the field that you want to change in the <gui>Tag</gui> panel."
 msgstr ""
-"Actualice el campo que quiere cambiar en el panel <gui>Etiqueta</gui> panel."
+"V panelu <gui>Štítek</gui> aktualizujte informace v poli, které chcete "
+"změnit."
 
 #. (itstool) path: item/p
 #: C/tag-field.page:37
@@ -1081,6 +1274,8 @@ msgid ""
 "Select <guiseq><gui style=\"menu\">File</gui><gui style=\"menuitem\">Save "
 "files</gui></guiseq> to save your changes to the selected file."
 msgstr ""
+"Zvolte <guiseq><gui style=\"menu\">Soubor</gui> <gui style=\"menuitem"
+"\">Uložit soubory</gui></guiseq>, aby se změny do vybraného souboru uložily."
 
 #. (itstool) path: item/p
 #: C/tag-field.page:42
@@ -1088,6 +1283,8 @@ msgid ""
 "When you are asked to <gui>Confirm Tag Writing</gui>, press <gui style="
 "\"button\">Save</gui> to save the changes."
 msgstr ""
+"Až jste dotázání na <gui>Potvrzení zápisu štítku</gui>, zmáčkněte <gui style="
+"\"button\">Uložit</gui>, aby se změny uložily."
 
 #. (itstool) path: page/p
 #: C/tag-field.page:47
@@ -1097,16 +1294,20 @@ msgid ""
 "in the field that you want to tag. You will need to save these changes to "
 "write them to the files."
 msgstr ""
+"Můžete označit více souborů se stejným polem tak, že soubory vyberete v "
+"seznamu souborů a zmáčknete ikonu <gui>Nastavit vybraným souborům toto […]</"
+"gui> nacházející se v poli, které chcete ve štítcích použít. Změny musíte "
+"uložit, aby se zapsaly do souboru."
 
 #. (itstool) path: info/desc
 #: C/tag.page:17
 msgid "What is a tag and what are fields?"
-msgstr "¿Qué es un etiqueta e qué son los campos?"
+msgstr "Co jsou to štítky a co pole?"
 
 #. (itstool) path: page/title
 #: C/tag.page:21
 msgid "Audio file tags"
-msgstr "Etiquetas de archivos de sonido"
+msgstr "Štítky zvukových souborů"
 
 #. (itstool) path: page/p
 #: C/tag.page:23
@@ -1117,3 +1318,8 @@ msgid ""
 "fields using <app>EasyTAG</app>. The editable fields depend on the format of "
 "the file that you want to tag."
 msgstr ""
+"Zvukové soubory mohou obsahovat <em>metadata</em> – informace o sobě samých "
+"– ve <em>štítcích</em>. Každý štítek může obsahovat jedno nebo více "
+"<em>polí</em>, jako <gui>Název</gui> nebo <gui>Umělec</gui>. Některá z "
+"těchto polí můžete upravovat pomocí aplikace <app>EasyTAG</app>. Která pole "
+"lze upravovat, záleží na formátu souboru se štítky."
diff --git a/help/el/el.stamp b/help/cs/cs.stamp
similarity index 100%
copy from help/el/el.stamp
copy to help/cs/cs.stamp
diff --git a/help/cs/file-rename.page b/help/cs/file-rename.page
new file mode 100644
index 0000000..a4d580c
--- /dev/null
+++ b/help/cs/file-rename.page
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" type="topic" style="guide" id="file-rename" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-08-18" status="draft"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email>kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Jak změnit název souboru pomocí štítku</desc>
+  </info>
+
+  <title>Přejmenování souborů</title>
+
+  <p>Přímo v aplikaci <app>EasyTAG</app> můžete své hudební soubory přejmenovat pomocí štítků:</p>
+
+  <steps>
+    <item>
+      <p><link xref="file-select">Vyberte soubory</link>, které si přejete v zobrazení souborů přejmenovat.</p>
+    </item>
+    <item>
+      <p>Vyberte <guiseq><gui style="menu">Zobrazit</gui> <gui style="menuitem">Zobrazit průzkumníka</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Vyberte průzkumníka <gui>Přejmenovat soubory a složky</gui>.</p>
+    </item>
+    <item>
+      <p>Podle <gui xref="format-specifier">legendy</gui> zapište strukturu názvu souboru, aby odpovídala tomu, jak chcete soubor pojmenovat. Když například chcete název ve tvaru <file>[umělec] - [název].[přípona]</file>, zadejte do pole pro přejmenování <input>%a - %t</input></p>
+    </item>
+    <item>
+      <p>Pro použití změn u vybraných souborů klikněte na <gui style="button">Prozkoumat soubory</gui>.</p>
+    </item>
+    <item>
+      <p>Zavřete dialogové okno <gui style="dialog">Průzkum štítků a názvů souborů</gui>.</p>
+    </item>
+    <item>
+      <p>Aby se použité změny uložily, vyberte <guiseq><gui style="menu">Soubor</gui> <gui style="menuitem">Uložit soubory</gui></guiseq>.</p>
+    </item>
+  </steps>
+
+  <note style="tip">
+    <p>Pokud aplikaci zavřete bez uložení, budou vaše změny ztraceny.</p>
+  </note>
+
+</page>
diff --git a/help/cs/file-select.page b/help/cs/file-select.page
new file mode 100644
index 0000000..1859b2e
--- /dev/null
+++ b/help/cs/file-select.page
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="file-select" xml:lang="cs">
+
+  <info>
+    <link type="guide" style="2column" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-10-06" status="draft"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Jak vybrat soubory v seznamu souborů</desc>
+  </info>
+
+  <title>Výběr souborů</title>
+
+  <p><app>EasyTAG</app> má několik funkcí pracujících se soubory, které jsou právě označené v seznamu souborů. K výběru více souborů můžete buď držet zmáčknutou klávesu <key>Ctrl</key> během klikání na soubory, které si přejete vybrat, nebo můžete držet zmáčknutou klávesu <key>Shift</key> a kliknout na další soubor, aby se označily všechny soubory mezi dvěma soubory, včetně toho prvního a posledního.</p>
+
+</page>
diff --git a/help/es/format-specifier.page b/help/cs/format-specifier.page
similarity index 57%
copy from help/es/format-specifier.page
copy to help/cs/format-specifier.page
index e885a19..4192815 100644
--- a/help/es/format-specifier.page
+++ b/help/cs/format-specifier.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="format-specifier" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="format-specifier" xml:lang="cs">
 
   <info>
     <link type="guide" xref="index#main"/>
@@ -12,22 +12,22 @@
 
     <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
 
-    <desc>¿Qué es un especificador de formato y cuáles puedo usar?</desc>
+    <desc>Co jsou to formátovací značky, a které můžete použít</desc>
 
   </info>
 
-  <title>Especificadores de formato</title>
+  <title>Formátovací značky</title>
 
-  <p>Los <em>especificadores de formato</em> se pueden usar para dividir el nombre de un archivo en etiquetas y para nombrar un archivo o una lista de reproducción basándose en las etiquetas existentes usando <link xref="scanner">el analizador</link>.</p>
+  <p><em>Formátovací značky</em> můžete použí k rozdělení názvu souboru na štítky a k pojmenování souboru nebo seznamu k přehrání podle štítků pomocí <link xref="scanner">průzkumníka</link>.</p>
 
   <table rules="rows" frame="top bottom">
     <thead>
       <tr>
         <td>
-          <p>Especificador de formato</p>
+          <p>Formátovací značka</p>
         </td>
         <td>
-          <p>Campo de etiqueta correspondiente</p>
+          <p>Příslušné pole štítku</p>
         </td>
       </tr>
     </thead>
@@ -37,7 +37,7 @@
           <p>%a</p>
         </td>
         <td>
-          <p>Artista: esto es el artista o artistas que crearon la pista. Este campo debe contener un artista destacado así como el álbum del artista.</p>
+          <p>umělec: jedná se o umělce, či více umělců, kteří vytvořili skladbu; pole může odkazovat na umělce skladby i na umělce alba</p>
         </td>
       </tr>
       <tr>
@@ -45,7 +45,7 @@
           <p>%z</p>
         </td>
         <td>
-          <p>Artista del álbum</p>
+          <p>umělec alba</p>
         </td>
       </tr>
       <tr>
@@ -53,7 +53,7 @@
           <p>%b</p>
         </td>
         <td>
-          <p>Título del álbum</p>
+          <p>název alba</p>
         </td>
       </tr>
       <tr>
@@ -61,7 +61,7 @@
           <p>%c</p>
         </td>
         <td>
-          <p>Comentario: esto es un campo libre para comentarios</p>
+          <p>komentáře: jedná se o volnou formu</p>
         </td>
       </tr>
       <tr>
@@ -69,7 +69,7 @@
           <p>%p</p>
         </td>
         <td>
-          <p>Compositor: esto es el creado de la pista</p>
+          <p>skladatel: jedná se tvůrce skladby</p>
         </td>
       </tr>
       <tr>
@@ -77,7 +77,7 @@
           <p>%r</p>
         </td>
         <td>
-          <p>Propietario del copyright: normalmente esto es el artista, pero también puede ser el sello del disco</p>
+          <p>držitel autorských práv: obvykle se jedná o umělce, ale může jít i o vydavatele</p>
         </td>
       </tr>
       <tr>
@@ -85,7 +85,7 @@
           <p>%d</p>
         </td>
         <td>
-          <p>Número de disco</p>
+          <p>číslo disku</p>
         </td>
       </tr>
       <tr>
@@ -93,7 +93,7 @@
           <p>%e</p>
         </td>
         <td>
-          <p>Codificado por: normalmente esto es la persona que ha codificado el archivo, pero este campo también lo puede usar la aplicación que se usó para codificar el archivo</p>
+          <p>zakódoval: obvykle se jedná o osobu, který soubor kódovala, ale pole bývá používáno i pro název aplikace, ve které bylo kódování souboru provedeno</p>
         </td>
       </tr>
       <tr>
@@ -101,7 +101,7 @@
           <p>%g</p>
         </td>
         <td>
-          <p>Género</p>
+          <p>žánr</p>
         </td>
       </tr>
       <tr>
@@ -109,7 +109,7 @@
           <p>%i</p>
         </td>
         <td>
-          <p>Ignorado: este especificador de formato sólo se puede usar en <gui>Rellenar etiqueta</gui> para especificar partes del nombre del archivo que se deben ignorar</p>
+          <p>ignorováno: tuto formátovací značku je možné použít jen ve funkci <gui>Vyplnit štítek</gui> k určení části názvu souboru, která má být ignorována</p>
         </td>
       </tr>
       <tr>
@@ -117,7 +117,7 @@
           <p>%l</p>
         </td>
         <td>
-          <p>Número de pistas: el número total de pistas del medio</p>
+          <p>počet skladeb: celkový počet skladeb na médiu</p>
         </td>
       </tr>
       <tr>
@@ -125,7 +125,7 @@
           <p>%o</p>
         </td>
         <td>
-          <p>Artista original</p>
+          <p>původní umělec</p>
         </td>
       </tr>
       <tr>
@@ -133,7 +133,7 @@
           <p>%n</p>
         </td>
         <td>
-          <p>Número de pista</p>
+          <p>číslo skladby</p>
         </td>
       </tr>
       <tr>
@@ -141,7 +141,7 @@
           <p>%t</p>
         </td>
         <td>
-          <p>Título de la pista</p>
+          <p>název skladby</p>
         </td>
       </tr>
       <tr>
@@ -149,7 +149,7 @@
           <p>%u</p>
         </td>
         <td>
-          <p>URL</p>
+          <p>adresa URL</p>
         </td>
       </tr>
       <tr>
@@ -157,7 +157,7 @@
           <p>%x</p>
         </td>
         <td>
-          <p>Número de discos</p>
+          <p>počet disků</p>
         </td>
       </tr>
       <tr>
@@ -165,7 +165,7 @@
           <p>%y</p>
         </td>
         <td>
-          <p>Año de la grabación, aunque algunas veces se usa el año de publicación en su lugar</p>
+          <p>rok nahrání, někdy je místo toho použit rok vydání</p>
         </td>
       </tr>
     </tbody>
diff --git a/help/cs/image-delete.page b/help/cs/image-delete.page
new file mode 100644
index 0000000..ab1f9ff
--- /dev/null
+++ b/help/cs/image-delete.page
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="task" style="task" id="image-delete" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index#image"/>
+    <revision pkgversion="2.1.9" date="2013-06-02" status="candidate"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at googlemail.com</email>
+    </credit>
+
+  </info>
+
+  <title>Odstranění obrázku</title>
+
+  <p>Když chcete ze štítku odstranit obrázek, vyberte jej a zmáčkněte tlačítko <gui style="button">Odstranit vybrané obrázky ze štítku</gui>.</p>
+
+  <p>Abyste odstranili více obrázků naráz, nejprve je všechny vyberte a pak odstraňte.</p>
+
+  <p>Je také možné odstranit všechny obrázky z více souborů naráz. Udělá se to tak, že se vyberou soubory, ze kterých chcete obrázky odstranit, odstraní se obrázky z karty <gui style="tab">Obrázek</gui> a po té se zmáčkne tlačítko <gui style="button">Nastavit vybraným souborům tyto obrázky</gui>.</p>
+
+</page>
diff --git a/help/es/image-export.page b/help/cs/image-export.page
similarity index 52%
copy from help/es/image-export.page
copy to help/cs/image-export.page
index 5b48b7c..46963b9 100644
--- a/help/es/image-export.page
+++ b/help/cs/image-export.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="task" style="task" id="image-export" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="task" style="task" id="image-export" xml:lang="cs">
 
   <info>
     <link type="guide" xref="index#image"/>
@@ -14,14 +14,10 @@
 
   </info>
 
-  <title>Guardar una imagen</title>
+  <title>Ukládání obrázku</title>
 
-  <p>If the file is already tagged with an image, you can export the image from
-  the tag by selecting it and pressing <gui style="button">Save the selected
-  images to files</gui> button. The default filename will be the image
-  description.</p>
+  <p>Když máte soubor, který ve štítku obsahuje obrázek, můžete si tento obrázek vyexportovat. Stačí jej vybrat a zmáčknout tlačítko <gui style="button">Uložit vybrané obrázky do souborů</gui>. Jako výchozí název souboru se použije popis obrázku.</p>
 
-  <p>To export a number of images, select these images, then press the
-  <gui style="button">Save the selected images to files</gui> button.</p>
+  <p>Abyste vyexportovali více obrázků, nejprve je vyberte a pak zmáčkněte tlačítko <gui style="button">Uložit vybrané obrázky do souborů</gui>.</p>
 
 </page>
diff --git a/help/cs/image.page b/help/cs/image.page
new file mode 100644
index 0000000..792bc25
--- /dev/null
+++ b/help/cs/image.page
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="image" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index#image"/>
+    <link type="guide" xref="tag"/>
+    <revision pkgversion="2.1.9" date="2013-05-20" status="review"/>
+    <revision pkgversion="2.2.0" date="2014-04-10" status="review"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at googlemail.com</email>
+    </credit>
+
+    <desc>Jak přidat obrázek, např. přebal, do štítku</desc>
+
+  </info>
+
+  <title>Přidání obrázku do souboru</title>
+
+  <p>Většina formátů zvukových souborů podporuje pole štítku <sys>obrázek</sys>, které lze použít pro přidání grafiky přebalu a jiných obrázků, vztahujících se k danému zvukovému souboru.</p>
+
+  <p>Abyste do souboru přidali obrázek, vyberte soubor, otevřete kartu <gui style="tab">Obrázky</gui> a zmáčkněte tlačítko <gui style="button">Přidat obrázky do štítku</gui>. Vyberte obrázek a svůj výběr potvrďte.</p>
+
+  <p>Jakmile je obrázek načten, je automaticky označen jako přední přebal a popsán stejně, jako je pojmenován soubor. Jestli chcete <gui>typ</gui> a <gui>popis</gui> změnit, zmáčkněte tlačítko <gui style="button">Upravit vlastnosti obrázku</gui>. Po provedení změn zmáčkněte <gui style="button">Budiž</gui> a změny se použijí.</p>
+
+  <note>
+    <p>Vaše změny se neukládají automaticky.</p>
+  </note>
+
+  <p>Stejný obrázek můžete přiřadit do štítku více souborům. Stačí soubory vybrat v seznamu souborů, pak vybrat obrázek a zmáčknout tlačítko <gui style="button">Nastavit vybraným souborům tyto obrázky</gui>. Aby se změny do souboru zapsaly, musíte je uložit.</p>
+
+  <p>Můžete pracovat i s více obrázky naráz, ale musíte je před jejich úpravou, použitím, uložením do souboru nebo smazáním vybrat.</p>
+
+</page>
diff --git a/help/es/index.page b/help/cs/index.page
similarity index 71%
copy from help/es/index.page
copy to help/cs/index.page
index 3e476b1..5353216 100644
--- a/help/es/index.page
+++ b/help/cs/index.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:e="http://projectmallard.org/experimental/" type="guide" style="task" id="index" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:e="http://projectmallard.org/experimental/" type="guide" style="task" id="index" xml:lang="cs">
 
   <info>
     <revision pkgversion="2.1.9" date="2013-03-05" status="review"/>
@@ -17,24 +17,22 @@
     <title type="link">EasyTAG</title>
     <title type="text">EasyTAG</title>
 
-    <desc>Learn how to use <app>EasyTAG</app>, a comprehensive tag editor for
-    FLAC, Monkey's Audio, MP2, MP3, MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg
-    Vorbis and WavPack audio files.</desc>
+    <desc>Naučte se, jak používat <app>EasyTAG</app>, komplexní editor štítků u zvukových souborů FLAC, Monkey's Audio, MP2, MP3, MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg Vorbis a WavPack.</desc>
 
   </info>
 
   <title><media its:translate="no" type="image" mime="image/png" src="media/icon.png"/> EasyTAG</title>
 
   <section id="main" style="2column">
-    <title>Características</title>
+    <title>Funkce</title>
   </section>
 
   <section id="tag" style="2column">
-    <title>Etiquetas</title>
+    <title>Štítky</title>
   </section>
 
   <section id="image" style="2column">
-    <title>El campo de etiqueta de la imagen</title>
+    <title>Pole štítku s obrázkem</title>
   </section>
 
 <!--  <section id="preferences" style="2column">
@@ -42,7 +40,7 @@
   </section>-->
 
   <section id="problems">
-    <title>Problemas comunes y preguntas</title>
+    <title>Běžné problémy a dotazy</title>
   </section>
 
 </page>
diff --git a/help/es/introduction.page b/help/cs/introduction.page
similarity index 73%
copy from help/es/introduction.page
copy to help/cs/introduction.page
index 879922b..0bd0c1d 100644
--- a/help/es/introduction.page
+++ b/help/cs/introduction.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="introduction" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="introduction" xml:lang="cs">
 
   <info>
     <link type="guide" xref="index" group="#first"/>
@@ -16,10 +16,8 @@
     <desc/>
   </info>
 
-  <title>Introducción</title>
+  <title>Úvod</title>
 
-  <p><app>EasyTAG</app> is a comprehensive tag editor for FLAC, Monkey's Audio,
-  MP2, MP3, MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg Vorbis and WavPack
-  audio files.</p>
+  <p><app>EasyTAG</app> je komplexní editor štítků u zvukových souborů FLAC, Monkey's Audio, MP2, MP3, MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg Vorbis a WavPack.</p>
 
 </page>
diff --git a/help/es/keyboard-shortcuts.page b/help/cs/keyboard-shortcuts.page
similarity index 58%
copy from help/es/keyboard-shortcuts.page
copy to help/cs/keyboard-shortcuts.page
index 36a55dc..6faba66 100644
--- a/help/es/keyboard-shortcuts.page
+++ b/help/cs/keyboard-shortcuts.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="keyboard-shortcuts" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="keyboard-shortcuts" xml:lang="cs">
 
   <info>
     <link type="guide" xref="index#main"/>
@@ -15,34 +15,33 @@
     <desc/>
   </info>
 
-  <title>Atajos del teclado</title>
+  <title>Klávesové zkratky</title>
 
-  <p><app>EasyTAG</app> has a number of keyboard shortcuts, most of which are
-  listed in the menus. Here are some which are especially useful:</p>
+  <p><app>EasyTAG</app> má řadu klávesových zkratek, z nichž je většina uvedena v nabídkách. Zde je vybráno pár opravdu užitečných:</p>
 
   <table rules="rows" frame="top bottom">
     <thead>
       <tr>
         <td>
-          <p>Acción</p>
+          <p>Činnost</p>
         </td>
         <td>
-          <p>Atajo</p>
+          <p>Klávesová zkratka</p>
         </td>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>
-          <p>Aplicar la etiqueta a los archivos seleccionados</p>
+          <p>Použít štítky na vybrané soubory</p>
         </td>
         <td>
-          <p><keyseq><key>Ctrl</key><key>Intro</key></keyseq></p>
+          <p><keyseq><key>Ctrl</key><key>Enter</key></keyseq></p>
         </td>
       </tr>
       <tr>
         <td>
-          <p>Buscar todos los archivos, incluyendo nombres de archivos y etiquetas</p>
+          <p>Prohledat všechny soubory, hledá se v názvech souborů i ve štítcích</p>
         </td>
         <td>
           <p><keyseq><key>Ctrl</key><key>F</key></keyseq></p>
@@ -50,18 +49,18 @@
       </tr>
       <tr>
         <td>
-          <p>Ir al archivo anterior manteniendo el foco en el mismo campo de etiqueta</p>
+          <p>Přejít na předchozí soubor a přitom nechat zaměřené stejné pole ve štítku</p>
         </td>
         <td>
-          <p><key>Re Pág</key></p>
+          <p><key>Page Up</key></p>
         </td>
       </tr>
       <tr>
         <td>
-          <p>Ir al siguiente archivo manteniendo el foco en el mismo campo de etiqueta</p>
+          <p>Přejít na následující soubor a přitom nechat zaměřené stejné pole ve štítku</p>
         </td>
         <td>
-          <p><key>Av Pág</key></p>
+          <p><key>Page Down</key></p>
         </td>
       </tr>
     </tbody>
diff --git a/help/cs/legal.xml b/help/cs/legal.xml
new file mode 100644
index 0000000..2dee7af
--- /dev/null
+++ b/help/cs/legal.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<license xmlns="http://projectmallard.org/1.0/" href="http://creativecommons.org/licenses/by-sa/3.0/">
+  <p>Tato práce je licencována pod <link href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</link>.</p>
+</license>
diff --git a/help/cs/playlist-generate.page b/help/cs/playlist-generate.page
new file mode 100644
index 0000000..147a769
--- /dev/null
+++ b/help/cs/playlist-generate.page
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="playlist-generate" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-10-06" status="draft"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email>kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Jak ze seznamu souborů vygenerovat seznam k přehrání, tzv. playlist</desc>
+  </info>
+
+  <title>Vytvoření seznamu k přehrání</title>
+
+  <p>V aplikaci <app>EasyTAG</app> si můžete ze seznamu souborů vytvořit seznam k přehrání (tzv. playlist) M3U, který pak lze použít v hudebních přehrávačích.</p>
+
+  <steps>
+    <item>
+      <p>V seznamu souborů <link xref="file-select">vyberte soubory</link>, které si přejete mít v seznamu k přehrání.</p>
+    </item>
+    <item>
+      <p>Zvolte <guiseq><gui style="memu">Různé</gui> <gui style="menuitem">Vygenerovat seznam k přehrání…</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Vyberte <gui style="radiobutton">Použít masku</gui> a zadejte masku pomocí <link xref="format-specifier">formátovacích značek</link> nebo vyberte <gui style="radiobutton">Použít název složky</gui> k pojmenování seznamu k přehrání podle složky, která je vybrána v <gui style="group">prohlížeči</gui>.</p>
+    </item>
+    <item>
+      <p>Zaškrtněte <gui style="checkbox">Zahrnout pouze vybrané soubory</gui>, aby se při generování seznamu k přehrání použily jen soubory, které jsou vybrané v seznamu souborů. Když zaškrtnutí zrušíte, budou součástí seznamu k přehrání všechny zobrazené soubory.</p>
+    </item>
+    <item>
+      <p>Vyberte <gui style="radiobutton">Použít relativní cestu k souborům</gui>. Pouze pokud plánujete používat seznam k přehrání pořád na stejném počítači a nechystáte se zvukové soubory někam přesouvat, můžete vybrat <gui style="radiobutton">Použít plnou cestu k souborům</gui>.</p>
+    </item>
+    <item>
+      <p>Zaškrtněte <gui style="checkbox">Vytvořit v nadřazené složce</gui>, pokud chcete uložit seznam k přehrání v rodičovské složce složky, která je vybraná v <gui style="group">Prohlížeči</gui>. Když volba zaškrtnutá není, ukládají se seznamy k přehrání přímo ve složce vybrané v <gui style="group">Prohlížeči</gui>.</p>
+    </item>
+    <item>
+      <p>V případě, že vytváříte seznam k přehrání pro použití na počítači s Windows nebo na souborových systémech <sys>NTFS</sys> nebo <sys>FAT</sys>, zaškrtněte <gui style="checkbox">Použít oddělovač složek jako v systému DOS</gui>.</p>
+    </item>
+    <item>
+      <p>Vyberte <gui style="radiobutton">Zapsat jen seznam souborů</gui>, aby se vytvořit seznam k přehrání, který bude obsahovat jen seznam souborů. Pokud vyberte <gui style="radiobutton">Zapsat informace za použití názvu souboru</gui>, zapíší se i rozšiřující informace, včetně délky zvukového souboru. Pomocí <gui style="radiobutton">Zapsat informace za použití</gui> a zadání masky z formátovacích značek můžete do seznamu k přehrání nechat zapsat vlastní rozšiřující informace.</p>
+    </item>
+    <item>
+      <p>Výsledný seznam k přehrání vygenerujete zmáčknutím <gui style="button">Uložit</gui>.</p>
+    </item>
+  </steps>
+
+</page>
diff --git a/help/cs/problems-id3.page b/help/cs/problems-id3.page
new file mode 100644
index 0000000..6a6dd58
--- /dev/null
+++ b/help/cs/problems-id3.page
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="problems-id3" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index#problems"/>
+    <revision pkgversion="2.2.0" date="2014-04-09" status="review"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>David King</name>
+      <email its:translate="no">amigadave at amigadave.com</email>
+    </credit>
+
+    <desc>Jak opravit štítky MP3, když se v jiných aplikacích zobrazují prázdné nebo nesprávně</desc>
+  </info>
+
+  <title>Štítky MP3 se nezobrazují správně</title>
+
+  <p>Štítky <em>ID3</em>, které se používají u souborů MP3, mohou být v několika různých verzích. <app>EasyTAG</app> podporuje ID3v2.4, ID3v2.3 a ID3v1.1. Výchozí verzí je v <app>EasyTAG</app> ID3v2.4, který má nejvíce možností a je nejefektivnější.</p>
+
+  <p>Většina aplikací podporuje nejnovější verzi standardu ID3: ID3v2.4.</p>
+
+  <p>Některé aplikace a zařízení mohou podporovat jen štítky ID3v2.3 a ID3v1.1 a pár jich dokonce může podporovat jen štítky ID3v1.1. Pokud jiné aplikace nebo zařízení mají problémy se čtením štítků z vašich souborů, měli byste zkusit změnit verzi štítků ID3 v předvolbách:</p>
+
+  <steps>
+    <item>
+      <p>Vyberte <guiseq style="menuitem"><gui style="menu">Upravit</gui><gui style="menuitem">Předvolby</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Vyberte kartu <gui style="tab">Nastavení štítků ID3</gui>.</p>
+    </item>
+    <item>
+      <p>V části <gui style="group">Štítky ID3v2</gui> zvolte v rozbalovacím seznamu <gui>Verze</gui> nastavení <gui>ID3v2.3</gui>, abyste zlepšili kompatibilitu s ostatními systémy ohledně čtení štítků ID3v2.</p>
+    </item>
+    <item>
+      <p>Ujistěte se, že v části <gui style="group">Štítky ID3v1</gui> je zaškrtnuto <gui style="check">Zapisovat štítky ID3v1.x</gui>.</p>
+    </item>
+    <item>
+      <p>Kliknutím na <gui style="button">Budiž</gui> nastavení uložte.</p>
+    </item>
+  </steps>
+
+</page>
diff --git a/help/cs/problems-ogg-split.page b/help/cs/problems-ogg-split.page
new file mode 100644
index 0000000..d6f886d
--- /dev/null
+++ b/help/cs/problems-ogg-split.page
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="problems-ogg-split" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index#problems"/>
+    <revision pkgversion="2.2.0" date="2014-04-11" status="candidate"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>David King</name>
+      <email its:translate="no">amigadave at amigadave.com</email>
+    </credit>
+    <credit type="editor">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at gmail.com</email>
+    </credit>
+
+    <desc>Jak jedno pole štítku rozdělit do více polí při ukládání souborů Ogg a FLAC</desc>
+  </info>
+
+  <title>Rozdělení polí štítku při ukládání</title>
+
+  <p>V souborech Ogg a FLAC je možné mít více než jedno <link xref="tag">pole štítku</link> stejného typu. Například, když píseň zpívají dva umělci, můžete mít ve štítku dvě pole s umělci, pro každého jedno. <app>EasyTAG</app> automaticky načítá dodatečná pole, spojuje je dohromady a zobrazuje je, jako by šlo o jedno pole.</p>
+
+  <p>Spousta aplikaci nečte pole s více hodnotami správně, takže výchozí nastavení je ukládat jen jedno pole na záznam. Pokud aplikace, kterou používáte podporuje více polí stejného typu, můžete nastavit <app>EasyTAG</app>, aby pole při ukládání souboru rozděloval. Pole se automaticky rozdělí na každém výskytu „ - “. Například pole s „David Bowie - Queen“ by se uložilo do dvou polí: „David Bowie“ a „Queen“.</p>
+
+  <p>Aby se pole při ukládání rozdělovala:</p>
+
+  <steps>
+    <item>
+      <p>Vyberte <guiseq style="menuitem"><gui style="menu">Upravit</gui><gui style="menuitem">Předvolby</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Vyberte kartu <gui style="tab">Nastavení štítků</gui>.</p>
+    </item>
+    <item>
+      <p>V části <gui style="group">Rozdělování štítků</gui> zaškrtněte pole, která chcete při ukládání rozdělovat na více polí.</p>
+    </item>
+    <item>
+      <p>Kliknutím na <gui style="button">Budiž</gui> nastavení uložte.</p>
+    </item>
+  </steps>
+
+</page>
diff --git a/help/cs/scanner.page b/help/cs/scanner.page
new file mode 100644
index 0000000..01ca8ed
--- /dev/null
+++ b/help/cs/scanner.page
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="guide" style="task" id="scanner" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index#main" group="#first"/>
+    <revision pkgversion="2.1.9" date="2013-10-06" status="review"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at googlemail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Jak aktualizovat štítky automaticky</desc>
+
+  </info>
+
+  <title>Průzkumník</title>
+
+  <p>Průzkumníka můžete využít k vyplnění polí podle názvu souboru, k přejmenování souboru a k vytvoření nové složky na základě vyplněných polí a ke zpracování textu v polích a názvu souboru.</p>
+
+<section id="fill-tag">
+  <title>Vyplňování polí z názvu souboru a struktury složek</title>
+
+  <p><gui>Vyplnit štítek</gui> můžete použít k vyplnění polí štítku na základě názvu souboru a jeho rodičovských složek.</p>
+
+  <p>Použijte <em xref="format-specifier">formátovací značky </em> a <em>oddělovače</em> k rozdělení názvu souboru a rodičovských složek do různých polí štítku. <em>Formátovací značky</em>, jako je <input>%t</input> pro název skladby, které se používají k určení různých polí šítku, jsou uvedeny v <gui>legendě</gui>. <em>Oddělovače</em> mohou být libovolné části názvu souboru nebo rodičovských složek. Jako <em>oddělovač</em> rodičovské složky použijte <key>/</key>.</p>
+
+  <p>Když například své zvukové soubory uchováváte ve struktuře složek a s názvy souborů <file>umělec/album/01 název skladby.flac</file>, použijte <em>formátovací řetězec</em> <input>%a/%b/%n %t</input> k získání čísla skladby a názvu skladby z názvu souboru, názvu alba z názvu rodičovské složky a umělce z názvu prarodičovské složky.</p>
+
+  <p>K vyplnění polí štítku u vybraných souborů použijte tlačítko <gui style="button">Prozkoumat soubory</gui>.</p>
+
+</section>
+
+<section id="rename">
+  <title>Přejmenování souborů a vytváření nových složek</title>
+
+  <p><gui xref="file-rename">Přejmenovat soubory a složky</gui> můžete použít k vytvoření hierarchie složek a k aktualizaci názvů souborů podle vyplněných polí štítku. V případě, že je zadána nová hierarchie složek, bude vytvořena uvnitř složky, ve které se soubor zrovna nachází.</p>
+
+  <p>Pokud například máte soubor se štítkem ve složce <file>Hudba</file>, můžete použít <em>formátovací řetězec</em> <input>%a/%b/%n %t</input>, aby se vytvořila struktura složek a souborů ve formě <file>Hudba/umělec/album/01 název skladby.flac</file>. Pod zadaným formátovacím řetězcem uvidíte náhled schématu pojmenování.</p>
+
+  <p>Pro přípravu souborů k přesunu a přejmenování, zmáčkněte tlačítko <gui style="button">Prozkoumat soubory</gui>.</p>
+
+</section>
+
+<section id="process">
+  <title>Hromadné zpracování polí štítků a názvů souborů</title>
+
+  <p><gui>Zpracovat pole</gui> je sofistikovaná funkce hledání a nahrazování umožňující vybrat, která pole štítku se mají zpracovat. Rovněž umožňuje zpracovat název souboru.</p>
+
+  <p>Můžete <gui>Převést</gui> znaky pomocí jednoduchého vyhledávání a nahrazování, měnit velikost písmen a přidávat nebo odstraňovat mezery.</p>
+
+  <p>K určení polí, která se mají změnit, použijte tlačítka <gui>Vybrat pole</gui>. Můžete i hromadně všechna pole označit nebo zrušit jejich označení, případně označení prohodit.</p>
+
+</section>
+
+</page>
diff --git a/help/cs/starting.page b/help/cs/starting.page
new file mode 100644
index 0000000..cb57a78
--- /dev/null
+++ b/help/cs/starting.page
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" type="topic" style="guide" id="starting" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index"/>
+    <revision pkgversion="2.1.9" date="2013-06-25" status="candidate"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email>kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Jak používat <app>EasyTAG</app> napoprvé</desc>
+  </info>
+
+  <title>Začínáme s <app>EasyTAG</app></title>
+
+  <p>Když spustíte <app>EasyTAG</app> poprvé, pokusí se vyhledat zvukové soubory ve vaší složce <file>Hudba</file> nebo ve vaší domovské složce. Pokud chcete hledání přeskočit, zmáčkněte tlačítko <gui style="button">Zastavit</gui>.</p>
+
+  <p><app>EasyTAG</app> může použít některé automatické korekce u některých vašich hudebních souborů. Tyto soubory budou zvýrazněny tučně. Budou mít aktualizovaná metadata ve štítcích, ale ta se nepoužijí, dokud změny neuložíte.</p>
+
+  <p>Když chcete změny uložit, vyberte všechny dotčené soubory a zmáčkněte <keyseq><key>Ctrl</key><key>S</key></keyseq>. Automaticky provedené změny není možné vrátit zpět, ale neuloží se, dokud soubory nevyberete a neuložíte ručně. Některé z těchto automatických aktualizací můžete zakázat na kartě <gui style="tab">Nastavení štítků ID3</gui> v dialogovém okně <gui style="dialog">Předvolby</gui>.</p>
+
+</page>
diff --git a/help/cs/tag-field.page b/help/cs/tag-field.page
new file mode 100644
index 0000000..583bb38
--- /dev/null
+++ b/help/cs/tag-field.page
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="tag-field" xml:lang="cs">
+
+  <info>
+    <link type="guide" xref="index#tag"/>
+    <link type="guide" xref="tag" group="#first"/>
+    <revision pkgversion="2.1.9" date="2013-05-20"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email>kittykat3756 at googlemail.com</email>
+    </credit>
+
+    <desc>Jak přidat štítky do souboru</desc>
+
+  </info>
+
+  <title>Přiřazení štítku souboru</title>
+
+  <p>Zvukové soubory mohou podporovat řadu různých <em>polí</em> štítků, které závisí na formátu souboru.</p>
+
+  <steps>
+    <title>Aktualizace pole štítku v souboru</title>
+    <item>
+      <p>Vyberte soubor, ve kterém si přejete upravit štítek.</p>
+    </item>
+    <item>
+      <p>V panelu <gui>Štítek</gui> aktualizujte informace v poli, které chcete změnit.</p>
+    </item>
+    <item>
+      <p>Zvolte <guiseq><gui style="menu">Soubor</gui> <gui style="menuitem">Uložit soubory</gui></guiseq>, aby se změny do vybraného souboru uložily.</p>
+    </item>
+    <item>
+      <p>Až jste dotázání na <gui>Potvrzení zápisu štítku</gui>, zmáčkněte <gui style="button">Uložit</gui>, aby se změny uložily.</p>
+    </item>
+  </steps>
+
+  <p>Můžete označit více souborů se stejným polem tak, že soubory vyberete v seznamu souborů a zmáčknete ikonu <gui>Nastavit vybraným souborům toto […]</gui> nacházející se v poli, které chcete ve štítcích použít. Změny musíte uložit, aby se zapsaly do souboru.</p>
+
+</page>
diff --git a/help/es/tag.page b/help/cs/tag.page
similarity index 52%
copy from help/es/tag.page
copy to help/cs/tag.page
index ca92019..2a2fdb9 100644
--- a/help/es/tag.page
+++ b/help/cs/tag.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="guide" style="task" id="tag" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="guide" style="task" id="tag" xml:lang="cs">
 
   <info>
     <link type="guide" xref="index#tag" group="#first"/>
@@ -12,16 +12,12 @@
       <email its:translate="no">kittykat3756 at googlemail.com</email>
     </credit>
 
-    <desc>¿Qué es un etiqueta e qué son los campos?</desc>
+    <desc>Co jsou to štítky a co pole?</desc>
 
   </info>
 
-  <title>Etiquetas de archivos de sonido</title>
+  <title>Štítky zvukových souborů</title>
 
-  <p>An audio file can contain <em>metadata</em> — information about itself —
-  inside a <em>tag</em>. Each tag can contain one or more <em>fields</em>, such
-  as <gui>Title</gui> or <gui>Artist</gui>. You can edit some of these fields
-  using <app>EasyTAG</app>. The editable fields depend on the format of the
-  file that you want to tag.</p>
+  <p>Zvukové soubory mohou obsahovat <em>metadata</em> – informace o sobě samých – ve <em>štítcích</em>. Každý štítek může obsahovat jedno nebo více <em>polí</em>, jako <gui>Název</gui> nebo <gui>Umělec</gui>. Některá z těchto polí můžete upravovat pomocí aplikace <app>EasyTAG</app>. Která pole lze upravovat, záleží na formátu souboru se štítky.</p>
 
 </page>
diff --git a/help/de/cddb-search.page b/help/de/cddb-search.page
new file mode 100644
index 0000000..654da9b
--- /dev/null
+++ b/help/de/cddb-search.page
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="cddb-search" xml:lang="de">
+
+  <info>
+    <link type="guide" style="2column" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-10-07" status="review"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Metainformationen mit Hilfe einer CD-Datenbank füllen</desc>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>CDDB durchsuchen</title>
+
+  <p>Wenn Ihre Musik in Alben organisiert ist, kann <app>EasyTAG</app> Online-Datenbanken mit dem <sys>CDDB</sys>-Protokoll durchsuchen und automatisch einige Metainformationen ausfüllen.</p>
+
+  <steps>
+    <item>
+      <p><link xref="file-select">Wählen sie alle Dateien</link> aus dem Album, nach dem Sie suchen möchten. Die Sortierung der Dateien muss der Titelliste des Albums entsprechen.</p>
+    </item>
+    <item>
+      <p>Wählen Sie <guiseq><gui style="menu">Verschiedenes</gui> <gui style="menuitem">CDDB-Suche …</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Klicken Sie auf <gui style="button">Suchen</gui> und warten Sie auf die Ergebnisse.</p>
+    </item>
+    <item>
+      <!-- TODO Split Manual search into a tip? -->
+      <!-- TODO Search within the results. -->
+      <p>Wählen Sie ein Album aus der Ergebnisliste, um die Titelinformationen rechts anzuzeigen. Wenn das gewählte Album nicht das gewünschte Album ist, versuchen Sie ein anderes Ergebnis aus der Liste.</p>
+      <p>Wenn es keine passenden Ergebnisse zu den gewählten Titel gibt, wählen Sie <gui style="tab">Manuelle Suche</gui> und geben Sie den Namen des Albums im Suchfeld ein. Drücken Sie anschließend auf <gui style="button">Suchen</gui> und warten Sie auf die Ergebnisse. Danach können Sie die Ergebnisse erneut auf das gewünschte Album überprüfen.</p>
+    </item>
+    <item>
+      <p>Wählen Sie die zu befüllenden Metainformationsfelder durch die Auswahl von <gui style="checkbox">Alle</gui> oder eine Kombination aus den folgenden Möglichkeiten: <gui style="checkbox">Dateiname</gui>, <gui style="checkbox">Titel</gui>, <gui style="checkbox">Künstler</gui>, <gui style="checkbox">Album</gui>, <gui style="checkbox">Jahr</gui>, <gui style="checkbox">Titelnummer</gui>, <gui style="checkbox">Anzahl der Titel</gui> und <gui style="checkbox">Genre</gui>.</p>
+    </item>
+    <!-- TODO Run the scanner for each file -->
+    <!-- TODO Levenshtein matching -->
+    <item>
+      <p>Um die Metainformationen der gewählten Dateien mit den Ergebnissen der Suche zu befüllen, drücken Sie <gui style="button">Anwenden</gui>.</p>
+    </item>
+  </steps>
+
+  <p>Wenn Sie nur bestimmte Dateien aktualisieren möchten, können Sie Ihre Auswahl nach erfolgreicher Suche ändern.</p>
+
+</page>
diff --git a/help/es/es.po b/help/de/de.po
similarity index 63%
copy from help/es/es.po
copy to help/de/de.po
index ada2611..b06275c 100644
--- a/help/es/es.po
+++ b/help/de/de.po
@@ -1,26 +1,28 @@
-# Spanish translation for easytag.
+# German translation for easytag.
 # Copyright (C) 2014 easytag's COPYRIGHT HOLDER
 # This file is distributed under the same license as the easytag package.
-# Daniel Mustieles <daniel.mustieles at gmail.com>, 2014.
+# Christian Kirbach <Christian.Kirbach at gmail.com>, 2014.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: easytag master\n"
-"POT-Creation-Date: 2014-07-08 03:13+0000\n"
-"PO-Revision-Date: 2014-07-08 17:35+0200\n"
-"Last-Translator: Daniel Mustieles <daniel.mustieles at gmail.com>\n"
-"Language-Team: Español; Castellano <gnome-es-list at gnome.org>\n"
-"Language: es\n"
+"Project-Id-Version: easytag easytag-2-2\n"
+"POT-Creation-Date: 2015-01-10 16:15+0000\n"
+"PO-Revision-Date: 2015-01-10 21:27+0100\n"
+"Last-Translator: Benjamin Steinwender <b at stbe.at>\n"
+"Language-Team: German <gnome-de at gnome.org>\n"
+"Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Gtranslator 2.91.6\n"
+"X-Generator: Poedit 1.7.1\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
 msgctxt "_"
 msgid "translator-credits"
-msgstr "Daniel Mustieles, <daniel.mustieles at gmail.com>"
+msgstr ""
+"Christian Kirbach <Christian.Kirbach at gmail.com>, 2013, 2014, 2015\n"
+"Benjamin Steinwender <b at stbe.at>, 2014, 2015"
 
 #. (itstool) path: credit/name
 #: C/cddb-search.page:11 C/file-rename.page:10 C/file-select.page:11
@@ -35,12 +37,12 @@ msgstr "Ekaterina Gerasimova"
 #. (itstool) path: info/desc
 #: C/cddb-search.page:17
 msgid "Fill tags using information from a CD database"
-msgstr "Rellenar las etiquetas usando información de una base de datos de CD"
+msgstr "Metainformationen mit Hilfe einer CD-Datenbank füllen"
 
 #. (itstool) path: page/title
 #: C/cddb-search.page:20
 msgid "Search CDDB"
-msgstr "Buscar CDDB"
+msgstr "CDDB durchsuchen"
 
 #. (itstool) path: page/p
 #: C/cddb-search.page:22
@@ -49,6 +51,9 @@ msgid ""
 "databases using the <sys>CDDB</sys> protocol and automatically fill in "
 "several tag fields."
 msgstr ""
+"Wenn Ihre Musik in Alben organisiert ist, kann <app>EasyTAG</app> Online-"
+"Datenbanken mit dem <sys>CDDB</sys>-Protokoll durchsuchen und automatisch "
+"einige Metainformationen ausfüllen."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:28
@@ -57,6 +62,9 @@ msgid ""
 "want to search for. The ordering of the files must match the track order on "
 "the album."
 msgstr ""
+"<link xref=\"file-select\">Wählen sie alle Dateien</link> aus dem Album, "
+"nach dem Sie suchen möchten. Die Sortierung der Dateien muss der Titelliste "
+"des Albums entsprechen."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:33
@@ -64,13 +72,16 @@ msgid ""
 "Select <guiseq><gui style=\"menu\">Miscellaneous</gui> <gui style=\"menuitem"
 "\">CDDB Search…</gui></guiseq>."
 msgstr ""
+"Wählen Sie <guiseq><gui style=\"menu\">Verschiedenes</gui> <gui style="
+"\"menuitem\">CDDB-Suche …</gui></guiseq>."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:37
 msgid ""
 "Press <gui style=\"button\">Find</gui> and wait for the search to finish."
 msgstr ""
-"Pulse <gui style=\"button\">Buscar</gui> y espere a que la búsqueda termine."
+"Klicken Sie auf <gui style=\"button\">Suchen</gui> und warten Sie auf die "
+"Ergebnisse."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:43
@@ -79,6 +90,9 @@ msgid ""
 "shown to the right. If the album is not the one that you wanted, try "
 "selecting another result in the list."
 msgstr ""
+"Wählen Sie ein Album aus der Ergebnisliste, um die Titelinformationen rechts "
+"anzuzeigen. Wenn das gewählte Album nicht das gewünschte Album ist, "
+"versuchen Sie ein anderes Ergebnis aus der Liste."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:46
@@ -89,6 +103,11 @@ msgid ""
 "search to finish, and check the results again to see if you can find an "
 "album which matches the tracks that you selected."
 msgstr ""
+"Wenn es keine passenden Ergebnisse zu den gewählten Titel gibt, wählen Sie "
+"<gui style=\"tab\">Manuelle Suche</gui> und geben Sie den Namen des Albums "
+"im Suchfeld ein. Drücken Sie anschließend auf <gui style=\"button\">Suchen</"
+"gui> und warten Sie auf die Ergebnisse. Danach können Sie die Ergebnisse "
+"erneut auf das gewünschte Album überprüfen."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:53
@@ -100,6 +119,13 @@ msgid ""
 "<gui style=\"checkbox\">Track #</gui>, <gui style=\"checkbox\"># Tracks</"
 "gui> and <gui style=\"checkbox\">Genre</gui>."
 msgstr ""
+"Wählen Sie die zu befüllenden Metainformationsfelder durch die Auswahl von "
+"<gui style=\"checkbox\">Alle</gui> oder eine Kombination aus den folgenden "
+"Möglichkeiten: <gui style=\"checkbox\">Dateiname</gui>, <gui style=\"checkbox"
+"\">Titel</gui>, <gui style=\"checkbox\">Künstler</gui>, <gui style=\"checkbox"
+"\">Album</gui>, <gui style=\"checkbox\">Jahr</gui>, <gui style=\"checkbox"
+"\">Titelnummer</gui>, <gui style=\"checkbox\">Anzahl der Titel</gui> und "
+"<gui style=\"checkbox\">Genre</gui>."
 
 #. (itstool) path: item/p
 #: C/cddb-search.page:64
@@ -107,6 +133,8 @@ msgid ""
 "To fill in the tags of the selected files using the details in the search "
 "result, press <gui style=\"button\">Apply</gui>."
 msgstr ""
+"Um die Metainformationen der gewählten Dateien mit den Ergebnissen der Suche "
+"zu befüllen, drücken Sie <gui style=\"button\">Anwenden</gui>."
 
 #. (itstool) path: page/p
 #: C/cddb-search.page:69
@@ -114,16 +142,18 @@ msgid ""
 "If you wish to tag only specific files, you can change your selection after "
 "the search is complete."
 msgstr ""
+"Wenn Sie nur bestimmte Dateien aktualisieren möchten, können Sie Ihre "
+"Auswahl nach erfolgreicher Suche ändern."
 
 #. (itstool) path: info/desc
 #: C/file-rename.page:16
 msgid "Change the file names using tags"
-msgstr "Cambiar los nombres de los archivos usando etiquetas"
+msgstr "Dateinamen mit Hilfe von Metainformationen ändern"
 
 #. (itstool) path: page/title
 #: C/file-rename.page:19
 msgid "Rename files"
-msgstr "Renombrar archivos"
+msgstr "Dateien umbenennen"
 
 #. (itstool) path: page/p
 #: C/file-rename.page:21
@@ -131,6 +161,8 @@ msgid ""
 "You can rename your music files using the tags from within <app>EasyTAG</"
 "app>:"
 msgstr ""
+"Ändern Sie Ihre Musikdateien mit Hilfe von Metainformationen und "
+"<app>EasyTAG</app>:"
 
 #. (itstool) path: item/p
 #: C/file-rename.page:26
@@ -138,64 +170,78 @@ msgid ""
 "<link xref=\"file-select\">Select the files</link> that you wish to rename "
 "in the file view."
 msgstr ""
-"<link xref=\"file-select\">Seleccione los archivos</link> que quiere "
-"renombrar en la vista de archivos."
+"<link xref=\"file-select\">Wahlen Sie die Dateien</link>, die Sie in der "
+"Dateiansicht umbenennen möchten."
 
 #. (itstool) path: item/p
 #: C/file-rename.page:30
 msgid ""
-"Select <guiseq><gui style=\"menu\">Scanner</gui> <gui style=\"menuitem"
-"\">Rename Files and Directories…</gui></guiseq>."
+"Select <guiseq><gui style=\"menu\">View</gui> <gui style=\"menuitem\">Show "
+"Scanner</gui></guiseq>."
 msgstr ""
-"Seleccione <guiseq><gui style=\"menu\">Analizador</gui> <gui style=\"menuitem"
-"\">Renombrar archivos y carpetas…</gui></guiseq>."
+"Wählen Sie <guiseq><gui style=\"menu\">Ansicht</gui> <gui style=\"menuitem"
+"\">Scanner anzeigen</gui></guiseq>."
 
 #. (itstool) path: item/p
 #: C/file-rename.page:34
+msgid "Select the <gui>Rename File and Directory</gui> scanner."
+msgstr "Wählen Sie das Programm <gui>Dateien und Ordner umbenennen</gui>."
+
+#. (itstool) path: item/p
+#: C/file-rename.page:37
 msgid ""
 "Using the <gui xref=\"format-specifier\">Legend</gui>, type in the structure "
 "that you would like to use for the file naming. For example, if you wish "
 "your files to be named <file>[artist] - [title].[extension]</file>, "
 "enter <input>%a - %t</input> into the renaming field."
 msgstr ""
+"Wählen Sie die gewünschte Dateinamenstruktur basierend auf der <gui xref="
+"\"format-specifier\">Legende</gui>. Zum Beispiel: wenn Sie Ihre Dateien "
+"<file>[Künstler] - [Titel].[Endung]</file> nennen möchten, geben Sie <input>"
+"%a - %t</input> in das Feld ein."
 
 #. (itstool) path: item/p
-#: C/file-rename.page:41
+#: C/file-rename.page:44
 msgid ""
-"To apply the changes to all files, select <guiseq><gui style=\"menu\">File</"
-"gui> <gui style=\"menuitem\">Scan Files…</gui></guiseq>."
+"To apply the changes to the selected files, click <gui style=\"button\">Scan "
+"Files</gui>."
 msgstr ""
-"Para aplicar los cambios a todos los archivos, seleccione <guiseq><gui style="
-"\"menu\">Archivo</gui> <gui style=\"menuitem\">Analizar archivos</gui></guiseq>."
+"Um die Änderungen auf die gewählten Dateien anzuwenden, drücken Sie <gui "
+"style=\"button\">Dateien einlesen</gui>."
 
 #. (itstool) path: item/p
-#: C/file-rename.page:46
-msgid "Close the <gui style=\"dialog\">Tag and Filename scan</gui> dialog."
+#: C/file-rename.page:48
+msgid "Close the <gui style=\"dialog\">Tag and Filename Scan</gui> dialog."
 msgstr ""
+"Schließen Sie das Dialogfenster <gui style=\"dialog\">Scan von "
+"Metainformationen und Dateinamen</gui>"
 
 #. (itstool) path: item/p
-#: C/file-rename.page:49
+#: C/file-rename.page:51
 msgid ""
 "To save the applied changes, select <guiseq><gui style=\"menu\">File</gui> "
 "<gui style=\"menuitem\">Save Files</gui></guiseq>."
 msgstr ""
-"Para guardar los cambios aplicados, seleccione <guiseq><gui style=\"menu"
-"\">Archivo</gui> <gui style=\"menuitem\">Guardar archivos</gui></guiseq>."
+"Um die angewandten Änderungen zu speichern, wählen Sie <guiseq><gui style="
+"\"menu\">Datei</gui> <gui style=\"menuitem\">Dateien speichern</gui></"
+"guiseq>."
 
 #. (itstool) path: note/p
-#: C/file-rename.page:56
+#: C/file-rename.page:58
 msgid "If you close the application without saving, your changes will be lost."
-msgstr "Si cierra la aplicación sin guardar los cambios, éstos se perderán."
+msgstr ""
+"Wenn Sie die Anwendung ohne Speichern beenden, gehen Ihre Änderungen "
+"verloren."
 
 #. (itstool) path: info/desc
 #: C/file-select.page:17
 msgid "Choose files in the file list"
-msgstr "Elegir archivos en la lista"
+msgstr "Dateien in der Dateiliste wählen"
 
 #. (itstool) path: page/title
 #: C/file-select.page:20
 msgid "Select files"
-msgstr "Seleccionar archivos"
+msgstr "Dateien auswählen"
 
 #. (itstool) path: page/p
 #: C/file-select.page:22
@@ -207,16 +253,22 @@ msgid ""
 "another file to select all the files between the two, including the first "
 "and last file."
 msgstr ""
+"<app>EasyTAG</app> hat mehrere Funktionen, die auf den gerade ausgewählten "
+"Dateien Operationen durchführen. Um mehrere Dateien auszuwählen, können Sie "
+"entweder <key>Strg</key> gedrückt halten, während Sie die gewünschten "
+"Dateien auswählen, oder Sie können zuerst eine Datei auswählen und durch "
+"Drücken von <key>Shift</key> eine zweite Datei auswählen, um einen Bereich "
+"auszuwählen."
 
 #. (itstool) path: info/desc
 #: C/format-specifier.page:17
 msgid "What is a format-specifier and which ones can I use?"
-msgstr "¿Qué es un especificador de formato y cuáles puedo usar?"
+msgstr "Was ist eine Formatangabe und welche können verwendet werden?"
 
 #. (itstool) path: page/title
 #: C/format-specifier.page:21
 msgid "Format specifiers"
-msgstr "Especificadores de formato"
+msgstr "Formatangaben"
 
 #. (itstool) path: page/p
 #: C/format-specifier.page:23
@@ -225,20 +277,20 @@ msgid ""
 "name a file or playlist based on existing tags using <link xref=\"scanner"
 "\">the scanner</link>."
 msgstr ""
-"Los <em>especificadores de formato</em> se pueden usar para dividir el "
-"nombre de un archivo en etiquetas y para nombrar un archivo o una lista de "
-"reproducción basándose en las etiquetas existentes usando <link xref="
-"\"scanner\">el analizador</link>."
+"<em>Formatangaben</em> können verwendet werden, um einen Dateinamen in "
+"Metainformationen aufzuteilen oder um Dateinamen und Wiedergabelisten "
+"basierend auf Metainformationen durch den <link xref=\"scanner\">Scanner</"
+"link> zu erstellen."
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:31
 msgid "Format specifier"
-msgstr "Especificador de formato"
+msgstr "Formatangabe"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:34
 msgid "Corresponding tag field"
-msgstr "Campo de etiqueta correspondiente"
+msgstr "Entsprechendes Metainformationenfeld"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:41
@@ -247,12 +299,11 @@ msgstr "%a"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:44
+#, fuzzy
 msgid ""
 "Artist: this is the artist or artists who created the track, this field may "
 "contact a featured artist as well as the album artist"
-msgstr ""
-"Artista: esto es el artista o artistas que crearon la pista. Este campo debe "
-"contener un artista destacado así como el álbum del artista."
+msgstr "Künstler: das ist der Künstler"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:50
@@ -262,7 +313,7 @@ msgstr "%z"
 #. (itstool) path: td/p
 #: C/format-specifier.page:53
 msgid "Album artist"
-msgstr "Artista del álbum"
+msgstr "Albeninterpret"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:58
@@ -272,7 +323,7 @@ msgstr "%b"
 #. (itstool) path: td/p
 #: C/format-specifier.page:61
 msgid "Album title"
-msgstr "Título del álbum"
+msgstr "Albentitel"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:66
@@ -282,7 +333,7 @@ msgstr "%c"
 #. (itstool) path: td/p
 #: C/format-specifier.page:69
 msgid "Comment: this is the free-form comment field"
-msgstr "Comentario: esto es un campo libre para comentarios"
+msgstr "Kommentar: Das ist ein freies Kommentarfeld"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:74
@@ -292,7 +343,7 @@ msgstr "%p"
 #. (itstool) path: td/p
 #: C/format-specifier.page:77
 msgid "Composer: this is the creator of the track"
-msgstr "Compositor: esto es el creado de la pista"
+msgstr "Komponist: Das ist der Erschaffer des Werkes"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:82
@@ -305,8 +356,8 @@ msgid ""
 "Copyright holder: this is usually the artist, but it can also be the record "
 "label"
 msgstr ""
-"Propietario del copyright: normalmente esto es el artista, pero también "
-"puede ser el sello del disco"
+"Urheberrechtsinhaber: Das ist für gewöhnlich der Künstler, aber es kann auch "
+"die Plattenfirma sein"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:91
@@ -316,7 +367,7 @@ msgstr "%d"
 #. (itstool) path: td/p
 #: C/format-specifier.page:94
 msgid "Disc number"
-msgstr "Número de disco"
+msgstr "CD-Nummer"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:99
@@ -329,9 +380,8 @@ msgid ""
 "Encoded by: this is usually the person who encoded the file, but the field "
 "is also used for the application that was used to encode the file"
 msgstr ""
-"Codificado por: normalmente esto es la persona que ha codificado el archivo, "
-"pero este campo también lo puede usar la aplicación que se usó para "
-"codificar el archivo"
+"Kodiert durch: Dies ist in der Regel die Person, welche die Datei erstellt, "
+"kann aber auch die Anwendung sein, die zum Kodieren der Datei verwendet wurde"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:109
@@ -341,7 +391,7 @@ msgstr "%g"
 #. (itstool) path: td/p
 #: C/format-specifier.page:112
 msgid "Genre"
-msgstr "Género"
+msgstr "Genre"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:117
@@ -354,9 +404,9 @@ msgid ""
 "Ignored: this format specifier can only be used in <gui>Fill Tag</gui> to "
 "specify parts of the file name which should be ignored"
 msgstr ""
-"Ignorado: este especificador de formato sólo se puede usar en <gui>Rellenar "
-"etiqueta</gui> para especificar partes del nombre del archivo que se deben "
-"ignorar"
+"Ignoriert: Diese Formatangabe kann nur bei <gui>Metainformationen füllen</"
+"gui> verwendet werden, um jene Teile des Dateinamens anzuzeigen, die "
+"ignoriert werden sollen"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:127
@@ -366,7 +416,7 @@ msgstr "%l"
 #. (itstool) path: td/p
 #: C/format-specifier.page:130
 msgid "Number of tracks: the total number of tracks on the medium"
-msgstr "Número de pistas: el número total de pistas del medio"
+msgstr "Anzahl der Titel: Gesamtzahl der Albumtitel auf dem Medium"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:135
@@ -376,7 +426,7 @@ msgstr "%o"
 #. (itstool) path: td/p
 #: C/format-specifier.page:138
 msgid "Original artist"
-msgstr "Artista original"
+msgstr "Originalkünstler"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:143
@@ -386,7 +436,7 @@ msgstr "%n"
 #. (itstool) path: td/p
 #: C/format-specifier.page:146
 msgid "Track number"
-msgstr "Número de pista"
+msgstr "Titelnummer"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:151
@@ -396,7 +446,7 @@ msgstr "%t"
 #. (itstool) path: td/p
 #: C/format-specifier.page:154
 msgid "Track title"
-msgstr "Título de la pista"
+msgstr "Titel"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:159
@@ -406,7 +456,7 @@ msgstr "%u"
 #. (itstool) path: td/p
 #: C/format-specifier.page:162
 msgid "URL"
-msgstr "URL"
+msgstr "Adresse"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:167
@@ -416,7 +466,7 @@ msgstr "%x"
 #. (itstool) path: td/p
 #: C/format-specifier.page:170
 msgid "Number of discs"
-msgstr "Número de discos"
+msgstr "Anzahl der Medien"
 
 #. (itstool) path: td/p
 #: C/format-specifier.page:175
@@ -427,13 +477,13 @@ msgstr "%y"
 #: C/format-specifier.page:178
 msgid "Year of recording, sometimes the date of release is used instead"
 msgstr ""
-"Año de la grabación, aunque algunas veces se usa el año de publicación en su "
-"lugar"
+"Jahr der Aufnahme, manchmal wird anstelle das Veröffentlichungsdatum "
+"verwendet"
 
 #. (itstool) path: page/title
 #: C/image-delete.page:19
 msgid "Delete an image"
-msgstr "Eliminar una imagen"
+msgstr "Bild löschen"
 
 #. (itstool) path: page/p
 #: C/image-delete.page:21
@@ -441,13 +491,16 @@ msgid ""
 "To delete an image from a tag, select it and press the <gui style=\"button"
 "\">Remove selected images from the tag</gui> button."
 msgstr ""
+"Um ein Bild von den Metainformationen zu löschen, wählen Sie es und drücken "
+"Sie den Knopf <gui style=\"button\">Gewählte Bilder aus den "
+"Metainformationen löschen</gui>."
 
 #. (itstool) path: page/p
 #: C/image-delete.page:24
 msgid ""
 "To delete more than one image, select those images before deleting them."
 msgstr ""
-"Para eliminar más de una imane, seleccione las imágenes antes de eliminarlas."
+"Um mehr als ein Bild zu löschen, wählen Sie diese Bilder vor dem Löschen aus."
 
 #. (itstool) path: page/p
 #: C/image-delete.page:27
@@ -457,11 +510,15 @@ msgid ""
 "images from the <gui style=\"tab\">Image</gui> tab, then press the <gui "
 "style=\"button\">Tag selected files with these images</gui> button."
 msgstr ""
+"Es ist auch möglich alle Bilder von mehreren Dateien zu entfernen. Dazu "
+"wählen Sie die gewünschten Dateien und entfernen alle Bilder aus dem Reiter "
+"<gui style=\"tab\">Bild</gui>. Anschließend drücken Sie den Knopf <gui style="
+"\"button\">Diese Bilder in allen ausgewählten Dateien eintragen</gui>."
 
 #. (itstool) path: page/title
 #: C/image-export.page:19
 msgid "Save an image"
-msgstr "Guardar una imagen"
+msgstr "Bild speichern"
 
 #. (itstool) path: page/p
 #: C/image-export.page:21
@@ -471,6 +528,10 @@ msgid ""
 "images to files</gui> button. The default filename will be the image "
 "description."
 msgstr ""
+"Wenn eine Datei bereits ein Bild als Metainformation besitzt, können Sie "
+"dieses exportieren. Dazu wählen Sie es aus und drücken Sie den Knopf <gui "
+"style=\"button\">Ausgewählte Bilder als Dateien speichern</gui>. Der "
+"vorgegebene Dateiname ist die Bildbeschreibung."
 
 #. (itstool) path: page/p
 #: C/image-export.page:26
@@ -478,16 +539,19 @@ msgid ""
 "To export a number of images, select these images, then press the <gui style="
 "\"button\">Save the selected images to files</gui> button."
 msgstr ""
+"Um Bilder zu exportieren, wählen Sie diese Bilder aus und drücken Sie "
+"anschließend den Knopf <gui style=\"button\">Gewählte Bilder in Dateien "
+"speichern</gui>."
 
 #. (itstool) path: info/desc
 #: C/image.page:19
 msgid "Add images, such as cover art to the tag"
-msgstr "Añadir imágenes, como la carátula, a la etiqueta"
+msgstr "Bilder wie z.B. von der Hülle zu den Metainformationen hinzufügen"
 
 #. (itstool) path: page/title
 #: C/image.page:23
 msgid "Add an image to a file"
-msgstr "Añadir una imagen a un archivo"
+msgstr "Ein Bild einer Datei hinzufügen"
 
 #. (itstool) path: page/p
 #: C/image.page:25
@@ -495,6 +559,9 @@ msgid ""
 "Most audio file formats support an <sys>image</sys> tag field which can be "
 "used to add cover art and other related images to the audio file."
 msgstr ""
+"Viele Audiodateiformate unterstützen das <sys>image</sys>-Feld (Bild-"
+"Metainformation), das zum Hinzufügen des Bildes der Hülle oder anderer "
+"Bilder verwendet werden kann."
 
 #. (itstool) path: page/p
 #: C/image.page:28
@@ -503,6 +570,10 @@ msgid ""
 "\">Images</gui> tab and press the <gui style=\"button\">Add images to the "
 "tag</gui> button. Select the image and confirm your selection."
 msgstr ""
+"Um ein Bild zu der Datei hinzuzufügen, wählen Sie die Datei aus. "
+"Anschließend öffnen Sie den Reiter <gui style=\"tab\">Bilder</gui> und "
+"drücken auf den Knopf <gui style=\"button\">Bilder der Metainfo hinzufügen</"
+"gui>. Wählen Sie das Bild aus und bestätigen Sie Ihre Auswahl."
 
 #. (itstool) path: page/p
 #: C/image.page:33
@@ -513,11 +584,16 @@ msgid ""
 "properties</gui> button. Once you have made the changes, press <gui style="
 "\"button\">OK</gui> to apply the changes."
 msgstr ""
+"Sobald das Bild eingefügt ist, wird es automatisch als Fronthülle und der "
+"Dateiname als Beschreibung festgelegt. Um den <gui>Typ</gui> oder die "
+"<gui>Beschreibung</gui> zu ändern, drücken Sie den Knopf <gui style=\"button"
+"\">Bildeigenschaften bearbeiten</gui>. Drücken Sie <gui style=\"button\">OK</"
+"gui> zum Übernehmen der Änderungen."
 
 #. (itstool) path: note/p
 #: C/image.page:40
 msgid "Your changes will not be saved automatically."
-msgstr "Sus cambios no se guardará automáticamente."
+msgstr "Ihre Änderungen werden nicht automatisch gespeichert."
 
 #. (itstool) path: page/p
 #: C/image.page:43
@@ -527,6 +603,11 @@ msgid ""
 "\">Tag selected files with these images</gui> button. You will need to save "
 "these changes to write them to the files."
 msgstr ""
+"Sie können mehrere Dateien mit dem selben Bild versehen. Dazu wählen Sie die "
+"Dateien, wählen anschließend das gewünschte Bild und drücken anschließend "
+"auf den Knopf <gui style=\"button\">Diese Bilder in allen ausgewählten "
+"Dateien eintragen</gui>. Sie müssen die Änderungen speichern, um sie in die "
+"Dateien zu schreiben."
 
 #. (itstool) path: page/p
 #: C/image.page:48
@@ -534,6 +615,8 @@ msgid ""
 "You can work with more than one image at a time by selecting those images "
 "before you edit, apply, save to file or delete them."
 msgstr ""
+"Sie können mehrere Bildern zugleich bearbeiten, indem Sie diese Bilder vor "
+"dem Bearbeiten, Anwenden, Exportieren oder Löschen auswählen."
 
 #. (itstool) path: info/title
 #: C/index.page:17
@@ -555,27 +638,27 @@ msgstr "<_:media-1/> EasyTAG"
 #. (itstool) path: section/title
 #: C/index.page:28
 msgid "Features"
-msgstr "Características"
+msgstr "Funktionen"
 
 #. (itstool) path: section/title
 #: C/index.page:32
 msgid "Tags"
-msgstr "Etiquetas"
+msgstr "Metainformationen"
 
 #. (itstool) path: section/title
 #: C/index.page:36
 msgid "The image tag field"
-msgstr "El campo de etiqueta de la imagen"
+msgstr "Das Metainfo-Feld Bild"
 
 #. (itstool) path: section/title
 #: C/index.page:44
 msgid "Common problems and questions"
-msgstr "Problemas comunes y preguntas"
+msgstr "Häufige Probleme und Fragen"
 
 #. (itstool) path: page/title
 #: C/introduction.page:21
 msgid "Introduction"
-msgstr "Introducción"
+msgstr "Einführung"
 
 #. (itstool) path: page/p
 #: C/introduction.page:23
@@ -584,11 +667,14 @@ msgid ""
 "MP2, MP3, MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg Vorbis and WavPack "
 "audio files."
 msgstr ""
+"<app>EasyTAG</app> ist eine umfassende Anwendung zum Bearbeiten von "
+"Metainformationen für folgende Audio-Dateiformate: FLAC, Monkey's Audio, "
+"MP2, MP3, MP4/AAC, MusePack, Ogg, Ogg Speex, Ogg Vorbis und WavPack."
 
 #. (itstool) path: page/title
 #: C/keyboard-shortcuts.page:20
 msgid "Keyboard shortcuts"
-msgstr "Atajos del teclado"
+msgstr "Tastenkombinationen"
 
 #. (itstool) path: page/p
 #: C/keyboard-shortcuts.page:22
@@ -596,78 +682,84 @@ msgid ""
 "<app>EasyTAG</app> has a number of keyboard shortcuts, most of which are "
 "listed in the menus. Here are some which are especially useful:"
 msgstr ""
+"<app>EasyTAG</app> kann auch mit Tastenkürzel bedient werden. Viele werden "
+"in den Menüs angezeigt. Hier sind einige besonders nützliche Tastenkürzel:"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:29
 msgid "Action"
-msgstr "Acción"
+msgstr "Aktion"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:32
 msgid "Shortcut"
-msgstr "Atajo"
+msgstr "Tastenkombination"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:39
 msgid "Apply tag to selected files"
-msgstr "Aplicar la etiqueta a los archivos seleccionados"
+msgstr "Metainformationen auf gewählte Dateien anwenden"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:42
 msgid "<keyseq><key>Ctrl</key><key>Return</key></keyseq>"
-msgstr "<keyseq><key>Ctrl</key><key>Intro</key></keyseq>"
+msgstr "<keyseq><key>Strg</key><key>Eingabetaste</key></keyseq>"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:47
 msgid "Search all files, including filenames and tags"
-msgstr "Buscar todos los archivos, incluyendo nombres de archivos y etiquetas"
+msgstr "Alle Dateien (inklusive Dateinamen und Metainformationen) durchsuchen"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:50
 msgid "<keyseq><key>Ctrl</key><key>F</key></keyseq>"
-msgstr "<keyseq><key>Ctrl</key><key>F</key></keyseq>"
+msgstr "<keyseq><key>Strg</key><key>F</key></keyseq>"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:55
 msgid "Go to previous file while keeping focus on the same tag field"
 msgstr ""
-"Ir al archivo anterior manteniendo el foco en el mismo campo de etiqueta"
+"Zur vorherigen Datei springen, während der Fokus auf dem selben Feld "
+"beibehalten wird"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:58
 msgid "<key>Page Up</key>"
-msgstr "<key>Re Pág</key>"
+msgstr "<key>Bild ↑</key>"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:63
 msgid "Go to next file while keeping focus on the same tag field"
 msgstr ""
-"Ir al siguiente archivo manteniendo el foco en el mismo campo de etiqueta"
+"Zur nächsten Datei springen, während der Fokus auf dem selben Feld "
+"beibehalten wird"
 
 #. (itstool) path: td/p
 #: C/keyboard-shortcuts.page:66
 msgid "<key>Page Down</key>"
-msgstr "<key>Av Pág</key>"
+msgstr "<key>Bild ↓</key>"
 
 #. (itstool) path: p/link
 #: C/legal.xml:4
 msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License"
-msgstr "Creative Commons de Atribución-Compartir Igual 3.0 sin soporte"
+msgstr ""
+"Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 "
+"nicht angepasst"
 
 #. (itstool) path: license/p
 #: C/legal.xml:3
 msgid "This work is licensed under a <_:link-1/>."
-msgstr "Este trabajo está licenciado bajo la <_:link-1/>."
+msgstr "Dieses Werk ist unter <_:link-1/> lizenziert."
 
 #. (itstool) path: info/desc
 #: C/playlist-generate.page:17
 msgid "Generate a playlist from the file list"
-msgstr "Generar una lista de reproducción de la lista de archivos"
+msgstr "Wiedergabeliste aus der Dateiliste erstellen"
 
 #. (itstool) path: page/title
 #: C/playlist-generate.page:20
 msgid "Create a playlist"
-msgstr "Crear una lista de reproducción"
+msgstr "Wiedergabeliste anlegen"
 
 #. (itstool) path: page/p
 #: C/playlist-generate.page:22
@@ -675,6 +767,8 @@ msgid ""
 "You can create a M3U playlist for use with a music player based on the list "
 "of files shown in <app>EasyTAG</app>:"
 msgstr ""
+"Sie können eine M3U-Wiedergabeliste basierend auf der in <app>EasyTAG</app> "
+"angezeigten Dateien zur Wiedergabe mit einem Medienprogramm erstellen:"
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:27
@@ -682,8 +776,8 @@ msgid ""
 "<link xref=\"file-select\">Select the files</link> that you wish to be in "
 "the playlist in the file list."
 msgstr ""
-"En la lista de archivos, <link xref=\"file-select\">seleccione los archivos</"
-"link> que quiere incluir en la lista de reproducción."
+"<link xref=\"file-select\">Wählen Sie die Dateien</link>, die Sie zu einer "
+"Wiedergabeliste hinzufügen möchten."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:31
@@ -691,8 +785,8 @@ msgid ""
 "Select <guiseq><gui style=\"menu\">Miscellaneous</gui> <gui style=\"menuitem"
 "\">Generate Playlist…</gui></guiseq>."
 msgstr ""
-"Seleccione <guiseq><gui style=\"menu\">Varios</gui> <gui style=\"menuitem"
-"\">Generar lista de reproducción…</gui></guiseq>."
+"Wählen Sie <guiseq><gui style=\"menu\">Verschiedenes</gui> <gui style="
+"\"menuitem\">Wiedergabeliste erstellen …</gui></guiseq>."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:35
@@ -702,6 +796,11 @@ msgid ""
 "style=\"radiobutton\">Use directory name</gui> to name the playlist after "
 "the directory which is selected in the <gui style=\"group\">Browser</gui>."
 msgstr ""
+"Wählen Sie <gui style=\"radiobutton\">Maske verwenden</gui> und geben Sie "
+"eine Maske gemäß der <link xref=\"format-specifier\">Formatangaben</link> "
+"an. Alternativ können Sie <gui style=\"radiobutton\">Ordnernamen verwenden</"
+"gui> wählen, um die Wiedergabeliste nach dem in der <gui style=\"group"
+"\">Auswahl</gui> gewählten Ordner zu benennen."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:42
@@ -710,6 +809,10 @@ msgid ""
 "the files which are selected in the file list when generating the playlist. "
 "Deselect it to include all the displayed files in the playlist."
 msgstr ""
+"Wählen Sie <gui style=\"checkbox\">Nur ausgewählte Dateien einfügen</gui>, "
+"um nur jene Dateien zur Erstellung einer Wiedergabeliste zu verwenden, die "
+"in der Dateiliste ausgewählt sind. Wählen Sie dieses Ankreuzfeld ab, um alle "
+"angezeigten Dateien zur Wiedergabeliste hinzuzufügen."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:48
@@ -736,6 +839,9 @@ msgid ""
 "<sys>NTFS</sys> or <sys>FAT</sys> file system, select <gui style=\"checkbox"
 "\">Use DOS directory separator</gui>."
 msgstr ""
+"Wenn Sie eine Wiedergabeliste für einen Windows-Rechner oder für ein "
+"<sys>NTFS</sys>- oder <sys>FAT</sys>-Dateisystem erstellen, dann können Sie "
+"<gui style=\"checkbox\">DOS-Ordnertrennsymbol verwenden</gui> wählen."
 
 #. (itstool) path: item/p
 #: C/playlist-generate.page:68
@@ -752,8 +858,8 @@ msgstr ""
 #: C/playlist-generate.page:77
 msgid "To generate the playlist, select <gui style=\"button\">Save</gui>."
 msgstr ""
-"Para generar la lista de reproducción, seleccione <gui style=\"button"
-"\">Guardar</gui>."
+"Wählen Sie <gui style=\"button\">Speichern</gui>, um die Wiedergabeliste zu "
+"erstellen."
 
 #. (itstool) path: credit/name
 #: C/problems-id3.page:13 C/problems-ogg-split.page:13
@@ -764,11 +870,13 @@ msgstr "David King"
 #: C/problems-id3.page:17
 msgid "Fix ID3 tags that show up blank or incorrect tags in other applications"
 msgstr ""
+"ID3-Metainfos korrgieren, die leere oder fehlerhafte Metainformationen in "
+"anderen Anwendungen anzeigen"
 
 #. (itstool) path: page/title
 #: C/problems-id3.page:21
 msgid "MP3 tags not showing correctly"
-msgstr "Las etiquetas MP3 no se muestran correctamente"
+msgstr "MP3-Metainformationen werden nicht korrekt angezeigt"
 
 #. (itstool) path: page/p
 #: C/problems-id3.page:23
@@ -778,6 +886,10 @@ msgid ""
 "ID3v1.1. The default version in <app>EasyTAG</app> is ID3v2.4, which has the "
 "most features and is most efficient."
 msgstr ""
+"<em>ID3</em>-Metainfos für MP3-Dateien können verschiedene Versionen haben. "
+"<app>EasyTAG</app> unterstützt ID3v2.4, ID3v2.3 und ID3v1.1. Die "
+"Vorgabeversion in <app>EasyTAG</app> ist ID3v2.4. Sie hat die meisten "
+"Funktionen und ist auch am effizientesten."
 
 #. (itstool) path: page/p
 #: C/problems-id3.page:28
@@ -785,6 +897,8 @@ msgid ""
 "Most applications support the most recent version of the ID3 standard: "
 "ID3v2.4."
 msgstr ""
+"Viele Anwendungen unterstützen die neueste Version des ID3-Standards: "
+"ID3v2.4."
 
 #. (itstool) path: page/p
 #: C/problems-id3.page:31
@@ -794,6 +908,10 @@ msgid ""
 "a problem reading tags from your files, you should try changing the ID3 tag "
 "version settings in the preferences:"
 msgstr ""
+"Einige Anwendungen und Geräte unterstützen möglicherweise nur ID3v2.3 und "
+"ID3v1.1 und einige wenige unterstützen womöglich nur ID3v1.1. Wenn eine "
+"andere Anwendung Probleme hat die Metainfos aus Ihren Dateien zu lesen, "
+"können Sie versuchen die ID3-Version in den Einstellungen zu ändern:"
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:38 C/problems-ogg-split.page:45
@@ -801,11 +919,14 @@ msgid ""
 "Select <guiseq style=\"menuitem\"><gui style=\"menu\">Edit</gui><gui style="
 "\"menuitem\">Preferences</gui></guiseq>"
 msgstr ""
+"Wählen Sie <guiseq style=\"menuitem\"><gui style=\"menu\">Bearbeiten</"
+"gui><gui style=\"menuitem\">Einstellungen</gui></guiseq>."
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:42
 msgid "Select the <gui style=\"tab\">ID3 Tag Settings</gui> tab"
 msgstr ""
+"Wählen Sie den Reiter <gui style=\"tab\">ID3-Metainfo-Einstellungen</gui>"
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:45
@@ -814,6 +935,9 @@ msgid ""
 "<gui>ID3v2.3</gui> setting in the <gui>Version</gui> drop-down lid to "
 "improve compatibility with other systems capable of reading ID3v2 tags"
 msgstr ""
+"Wählen Sie die Einstellung <gui>ID3v2.3</gui> in der <gui>Version</gui>-"
+"Auswahlliste des Abschnitts <gui style=\"group\">ID3v2-Metainformationen</"
+"gui>, um die Kompatibilität mit anderen Anwendungen zu verbessern."
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:50
@@ -821,12 +945,14 @@ msgid ""
 "Make sure that <gui style=\"check\">Write ID3v1.x tag</gui> is checked in "
 "the <gui style=\"group\">ID3v1 tags</gui> section"
 msgstr ""
+"Stellen Sie sicher, dass <gui style=\"check\">ID3v1.x-Metainfo schreiben</"
+"gui> im Abschnitt <gui style=\"group\">ID3v1-Metainfo</gui> ausgewählt ist."
 
 #. (itstool) path: item/p
 #: C/problems-id3.page:54 C/problems-ogg-split.page:56
 msgid "Click <gui style=\"button\">OK</gui> to save the settings"
 msgstr ""
-"Pulse <gui style=\"button\">Aceptar</gui> para guardar la configuración"
+"Drücken Sie <gui style=\"button\">OK</gui>, um die Einstellungen zu speichern"
 
 #. (itstool) path: info/desc
 #: C/problems-ogg-split.page:21
@@ -834,11 +960,13 @@ msgid ""
 "Split a single tag field into multiple fields when you save Ogg and FLAC "
 "files"
 msgstr ""
+"Ein einzelnes Metainfofeld in mehrere Felder aufspalten, wenn Sie Ogg- und "
+"FLAC-Dateien speichern"
 
 #. (itstool) path: page/title
 #: C/problems-ogg-split.page:25
 msgid "Split tag fields when saving"
-msgstr "Dividir campos de etiquetas al guardar"
+msgstr "Metainfofelder beim Speichern aufspalten"
 
 #. (itstool) path: page/p
 #: C/problems-ogg-split.page:27
@@ -849,6 +977,11 @@ msgid ""
 "<app>EasyTAG</app> automatically reads the extra fields, combining them "
 "together and showing them as if they were a single field."
 msgstr ""
+"In Ogg- und FLAC-Dateien können mehrere <link xref=\"tag\">Metainfo-Felder</"
+"link> jedes Types vorhanden sein. Zum Beispiel, wenn 2 Künstler ein "
+"Musikstück wiedergeben, können 2 Künstler-Felder in den Metainfos vorhanden "
+"sein. <app>EasyTAG</app> liest diese Felder ein und kombiniert diese "
+"automatisch zu einem einzigen Feld."
 
 #. (itstool) path: page/p
 #: C/problems-ogg-split.page:33
@@ -861,16 +994,23 @@ msgid ""
 "the field \"David Bowie - Queen\", two fields would be saved: \"David Bowie"
 "\" and \"Queen\"."
 msgstr ""
+"Viele Anwendungen lesen Felder mit mehreren Werten nicht korrekt, deshalb "
+"wird per Vorgabe jeder Wert in einem einzelnen Feld gespeichert. Wenn die "
+"von Ihnen verwendete Anwendung mehrere Felder des selben Typs unterstützt, "
+"können Sie EasyTAG die Felder beim Speichern aufspalten lassen. Die Felder "
+"werden beim Vorkommen von » - « automatisch aufgespalten. Zum Beispiel wird "
+"das Feld »David Bowie - Queen« in die zwei Felder »David Bowie« und »Queen« "
+"aufgespalten."
 
 #. (itstool) path: page/p
 #: C/problems-ogg-split.page:41
 msgid "To split fields when you save the files:"
-msgstr "Para dividir campos cuando guarda los archivos:"
+msgstr "So teilen Sie Felder beim Speichern der Dateien auf:"
 
 #. (itstool) path: item/p
 #: C/problems-ogg-split.page:49
 msgid "Select the <gui style=\"tab\">Tag Settings</gui> tab"
-msgstr ""
+msgstr "Wählen Sie den Reiter <gui style=\"tab\">Metainfo-Einstellungen</gui>"
 
 #. (itstool) path: item/p
 #: C/problems-ogg-split.page:52
@@ -878,16 +1018,18 @@ msgid ""
 "In <gui style=\"group\">Tag Splitting</gui> section, check the fields that "
 "you want to be split into multiple fields when saving"
 msgstr ""
+"Im Bereich <gui style=\"group\">Metainfo-Aufspaltung</gui> können Sie die "
+"beim Speichern aufzuspaltenden Felder auswählen"
 
 #. (itstool) path: info/desc
 #: C/scanner.page:17
 msgid "Update tags automatically."
-msgstr "Actualizar las etiquetas automáticamente"
+msgstr "Metainformationen automatisch anpassen"
 
 #. (itstool) path: page/title
 #: C/scanner.page:21
 msgid "The <gui>Scanner</gui>"
-msgstr "El <gui>Analizador</gui>"
+msgstr "Der <gui>Scanner</gui>"
 
 #. (itstool) path: page/p
 #: C/scanner.page:23
@@ -900,7 +1042,7 @@ msgstr ""
 #. (itstool) path: section/title
 #: C/scanner.page:28
 msgid "Fill fields from a filename and directory structure"
-msgstr ""
+msgstr "Felder anhand der Dateinamen und Orderstruktur befüllen"
 
 #. (itstool) path: section/p
 #: C/scanner.page:30
@@ -908,8 +1050,8 @@ msgid ""
 "<gui>Fill Tag</gui> can be used to fill in tag fields based on the filename "
 "and its parent directories."
 msgstr ""
-"<gui>Rellenar etiqueta</gui> se puede usar para rellenar campos de etiquetas "
-"basándose en el nombre del archivo o en las carpetas padre."
+"<gui>Metainformationen füllen</gui> kann zum Befüllen der Metainfofelder "
+"basierend auf den Dateinamen und den übergeordneten Ordnern verwendet werden."
 
 #. (itstool) path: section/p
 #: C/scanner.page:33
@@ -928,7 +1070,7 @@ msgstr ""
 msgid ""
 "For example, if you keep your audio files using the <file>artist/"
 "album/01 track title.flac</file> directory structure and filenames, use the "
-"<input>%a/%b/%t %n</input> <em>format string</em> to extract the track "
+"<input>%a/%b/%n %t</input> <em>format string</em> to extract the track "
 "number and title from the filename, the album title from the parent "
 "directory and the artist from the grandparent directory."
 msgstr ""
@@ -939,11 +1081,13 @@ msgid ""
 "Fill the tag fields for the selected files using the <gui style=\"button"
 "\">Scan Files</gui> button."
 msgstr ""
+"Befüllen Sie die Metainfofelder der ausgewählten Dateien durch Drücken des "
+"Knopfes <gui style=\"button\">Dateien einlesen</gui>."
 
 #. (itstool) path: section/title
 #: C/scanner.page:53
 msgid "Rename files and create new directories"
-msgstr "Renombrar archivos y crear carpetas nuevas"
+msgstr "Dateien umbenennen und neue Ordner anlegen"
 
 #. (itstool) path: section/p
 #: C/scanner.page:55
@@ -958,7 +1102,7 @@ msgstr ""
 #: C/scanner.page:60
 msgid ""
 "For example, if you have a tagged file inside the <file>Music</file> "
-"directory, you can use the <input>%a/%b/%t %n</input> <em>format string</"
+"directory, you can use the <input>%a/%b/%n %t</input> <em>format string</"
 "em>, it will create the <file>Music/artist/album/01 track title.flac</file> "
 "file structure and filename. You will see a preview of the naming scheme "
 "below your specified format string."
@@ -970,8 +1114,8 @@ msgid ""
 "To prepare the files for moving and renaming, press the <gui style=\"button"
 "\">Scan Files</gui> button."
 msgstr ""
-"Para preparar los archivos para moverlos y renombrarlos, pulse el botón <gui "
-"style=\"button\">Analizar archivos</gui>."
+"Um Dateien zum Verschieben und Umbenennen vorzubereiten, drücken Sie den "
+"Knopf <gui style=\"button\">Dateien einlesen</gui>."
 
 #. (itstool) path: section/title
 #: C/scanner.page:72
@@ -992,8 +1136,6 @@ msgid ""
 "You can <gui>Convert</gui> characters for a simple find and replace, change "
 "capitalization and add or remove spaces."
 msgstr ""
-"Puede <gui>Convertir</gui> caracteres para una búsqueda con reemplazamiento "
-"sencilla, cambiar la capitalización o eliminar espacios."
 
 #. (itstool) path: section/p
 #: C/scanner.page:81
@@ -1005,12 +1147,12 @@ msgstr ""
 #. (itstool) path: info/desc
 #: C/starting.page:16
 msgid "Using <app>EasyTAG</app> for the first time"
-msgstr "Usar <app>EasyTAG</app> por primera vez"
+msgstr "Erste Verwendung von <app>EasyTAG</app>"
 
 #. (itstool) path: page/title
 #: C/starting.page:19
 msgid "Start using <app>EasyTAG</app>"
-msgstr "Empezar a usar <app>EasyTAG</app>"
+msgstr "So verwenden Sie <app>EasyTAG</app>"
 
 #. (itstool) path: page/p
 #: C/starting.page:21
@@ -1019,6 +1161,10 @@ msgid ""
 "<file>Music</file> directory or your home directory for audio files. If you "
 "wish to skip the search, press the <gui style=\"button\">Stop</gui> button."
 msgstr ""
+"Wenn Sie <app>EasyTAG</app> zum ersten Mal starten, wird es Ihren "
+"<file>Musik</file>-Ordner oder Ihren »Persönlichen Ordner« nach Audio-"
+"Dateien durchsuchen. Wenn Sie die Suche überspringen möchten, drücken Sie "
+"den Knopf <gui style=\"button\">Suchvorgang anhalten</gui>."
 
 #. (itstool) path: page/p
 #: C/starting.page:25
@@ -1028,6 +1174,10 @@ msgid ""
 "updates to the tag metadata containers and will not be applied until you "
 "save the changes."
 msgstr ""
+"<app>EasyTAG</app> wird eventuell einige automatische Korrekturen an Ihren "
+"Dateien vornehmen. Diese Dateien werden fett hervorgehoben. Diese Änderungen "
+"sind Aktualisierungen der Metainfo-Container und werden nur angewandt, wenn "
+"Sie die Änderungen speichern."
 
 #. (itstool) path: page/p
 #: C/starting.page:30
@@ -1039,16 +1189,23 @@ msgid ""
 "style=\"tab\">ID3 Tag Settings</gui> tab in the <gui style=\"dialog"
 "\">Preferences</gui> dialog."
 msgstr ""
+"Um diese Änderungen zu speichern, wählen Sie die betroffenen Dateien und "
+"drücken Sie <keyseq><key>Strg</key><key>S</key></keyseq>. Es ist nicht "
+"möglich die automatischen Änderungen rückgängig zu machen, aber sie werden "
+"nicht gespeichert, außer Sie wählen die Dateien und speichern die "
+"Änderungen. Sie können einige der automatischen Aktualisierungen im Reiter "
+"<gui style=\"tab\">ID3-Metainfo-Einstellungen</gui> im Dialogfenster <gui "
+"style=\"dialog\">Einstellungen</gui>."
 
 #. (itstool) path: info/desc
 #: C/tag-field.page:18
 msgid "Add text tags to a file"
-msgstr "Añadir etiquetas de texto a un archivo"
+msgstr "Metainformationen einer Datei hinzufügen"
 
 #. (itstool) path: page/title
 #: C/tag-field.page:22
 msgid "Tag a file"
-msgstr "Etiquetar un archivo"
+msgstr "Metainformationen in eine Datei schreiben"
 
 #. (itstool) path: page/p
 #: C/tag-field.page:24
@@ -1056,24 +1213,23 @@ msgid ""
 "Audio files can support a number of different tag <em>fields</em> which "
 "depend on the file format."
 msgstr ""
-"Los archivos de sonido pueden soportar varios <em>campos</em> de etiqueta "
-"que dependen del formato del archivo."
+"Audiodateien können je nach Dateiformat verschiedene <em>Metainfofelder</em> "
+"unterstützen."
 
 #. (itstool) path: steps/title
 #: C/tag-field.page:28
 msgid "Update a tag field in a file"
-msgstr "Actualizar un campo de etiqueta en un archivo"
+msgstr "Metainformationen einer Datei aktualisieren"
 
 #. (itstool) path: item/p
 #: C/tag-field.page:30
 msgid "Select the file that you wish to tag."
-msgstr "Seleccione el archivo que quiere etiquetar"
+msgstr "Wählen Sie die Datei, die Sie bearbeiten möchten."
 
 #. (itstool) path: item/p
 #: C/tag-field.page:33
 msgid "Update the field that you want to change in the <gui>Tag</gui> panel."
-msgstr ""
-"Actualice el campo que quiere cambiar en el panel <gui>Etiqueta</gui> panel."
+msgstr "Aktualisieren Sie das zu ändernde Feld im Bereich <gui>Metainfo</gui>."
 
 #. (itstool) path: item/p
 #: C/tag-field.page:37
@@ -1081,6 +1237,9 @@ msgid ""
 "Select <guiseq><gui style=\"menu\">File</gui><gui style=\"menuitem\">Save "
 "files</gui></guiseq> to save your changes to the selected file."
 msgstr ""
+"Wählen Sie <guiseq><gui style=\"menu\">Datei</gui><gui style=\"menuitem"
+"\">Dateien speichern</gui></guiseq>, um Ihre Änderungen der gewählten Datei "
+"zu speichern."
 
 #. (itstool) path: item/p
 #: C/tag-field.page:42
@@ -1101,12 +1260,12 @@ msgstr ""
 #. (itstool) path: info/desc
 #: C/tag.page:17
 msgid "What is a tag and what are fields?"
-msgstr "¿Qué es un etiqueta e qué son los campos?"
+msgstr "Was sind Metainformationen und was sind Felder?"
 
 #. (itstool) path: page/title
 #: C/tag.page:21
 msgid "Audio file tags"
-msgstr "Etiquetas de archivos de sonido"
+msgstr "Metainformationen in Audio-Dateien"
 
 #. (itstool) path: page/p
 #: C/tag.page:23
diff --git a/help/el/el.stamp b/help/de/de.stamp
similarity index 100%
copy from help/el/el.stamp
copy to help/de/de.stamp
diff --git a/help/de/file-rename.page b/help/de/file-rename.page
new file mode 100644
index 0000000..6a6cb74
--- /dev/null
+++ b/help/de/file-rename.page
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" type="topic" style="guide" id="file-rename" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-08-18" status="draft"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email>kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Dateinamen mit Hilfe von Metainformationen ändern</desc>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Dateien umbenennen</title>
+
+  <p>Ändern Sie Ihre Musikdateien mit Hilfe von Metainformationen und <app>EasyTAG</app>:</p>
+
+  <steps>
+    <item>
+      <p><link xref="file-select">Wahlen Sie die Dateien</link>, die Sie in der Dateiansicht umbenennen möchten.</p>
+    </item>
+    <item>
+      <p>Wählen Sie <guiseq><gui style="menu">Ansicht</gui> <gui style="menuitem">Scanner anzeigen</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Wählen Sie das Programm <gui>Dateien und Ordner umbenennen</gui>.</p>
+    </item>
+    <item>
+      <p>Wählen Sie die gewünschte Dateinamenstruktur basierend auf der <gui xref="format-specifier">Legende</gui>. Zum Beispiel: wenn Sie Ihre Dateien <file>[Künstler] - [Titel].[Endung]</file> nennen möchten, geben Sie <input>%a - %t</input> in das Feld ein.</p>
+    </item>
+    <item>
+      <p>Um die Änderungen auf die gewählten Dateien anzuwenden, drücken Sie <gui style="button">Dateien einlesen</gui>.</p>
+    </item>
+    <item>
+      <p>Schließen Sie das Dialogfenster <gui style="dialog">Scan von Metainformationen und Dateinamen</gui></p>
+    </item>
+    <item>
+      <p>Um die angewandten Änderungen zu speichern, wählen Sie <guiseq><gui style="menu">Datei</gui> <gui style="menuitem">Dateien speichern</gui></guiseq>.</p>
+    </item>
+  </steps>
+
+  <note style="tip">
+    <p>Wenn Sie die Anwendung ohne Speichern beenden, gehen Ihre Änderungen verloren.</p>
+  </note>
+
+</page>
diff --git a/help/de/file-select.page b/help/de/file-select.page
new file mode 100644
index 0000000..68dfa26
--- /dev/null
+++ b/help/de/file-select.page
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="file-select" xml:lang="de">
+
+  <info>
+    <link type="guide" style="2column" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-10-06" status="draft"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Dateien in der Dateiliste wählen</desc>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Dateien auswählen</title>
+
+  <p><app>EasyTAG</app> hat mehrere Funktionen, die auf den gerade ausgewählten Dateien Operationen durchführen. Um mehrere Dateien auszuwählen, können Sie entweder <key>Strg</key> gedrückt halten, während Sie die gewünschten Dateien auswählen, oder Sie können zuerst eine Datei auswählen und durch Drücken von <key>Shift</key> eine zweite Datei auswählen, um einen Bereich auszuwählen.</p>
+
+</page>
diff --git a/help/es/format-specifier.page b/help/de/format-specifier.page
similarity index 52%
copy from help/es/format-specifier.page
copy to help/de/format-specifier.page
index e885a19..e671d0a 100644
--- a/help/es/format-specifier.page
+++ b/help/de/format-specifier.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="format-specifier" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="format-specifier" xml:lang="de">
 
   <info>
     <link type="guide" xref="index#main"/>
@@ -12,22 +12,34 @@
 
     <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
 
-    <desc>¿Qué es un especificador de formato y cuáles puedo usar?</desc>
+    <desc>Was ist eine Formatangabe und welche können verwendet werden?</desc>
 
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
   </info>
 
-  <title>Especificadores de formato</title>
+  <title>Formatangaben</title>
 
-  <p>Los <em>especificadores de formato</em> se pueden usar para dividir el nombre de un archivo en etiquetas y para nombrar un archivo o una lista de reproducción basándose en las etiquetas existentes usando <link xref="scanner">el analizador</link>.</p>
+  <p><em>Formatangaben</em> können verwendet werden, um einen Dateinamen in Metainformationen aufzuteilen oder um Dateinamen und Wiedergabelisten basierend auf Metainformationen durch den <link xref="scanner">Scanner</link> zu erstellen.</p>
 
   <table rules="rows" frame="top bottom">
     <thead>
       <tr>
         <td>
-          <p>Especificador de formato</p>
+          <p>Formatangabe</p>
         </td>
         <td>
-          <p>Campo de etiqueta correspondiente</p>
+          <p>Entsprechendes Metainformationenfeld</p>
         </td>
       </tr>
     </thead>
@@ -37,7 +49,8 @@
           <p>%a</p>
         </td>
         <td>
-          <p>Artista: esto es el artista o artistas que crearon la pista. Este campo debe contener un artista destacado así como el álbum del artista.</p>
+          <p>Artist: this is the artist or artists who created the track, this
+          field may contact a featured artist as well as the album artist</p>
         </td>
       </tr>
       <tr>
@@ -45,7 +58,7 @@
           <p>%z</p>
         </td>
         <td>
-          <p>Artista del álbum</p>
+          <p>Albeninterpret</p>
         </td>
       </tr>
       <tr>
@@ -53,7 +66,7 @@
           <p>%b</p>
         </td>
         <td>
-          <p>Título del álbum</p>
+          <p>Albentitel</p>
         </td>
       </tr>
       <tr>
@@ -61,7 +74,7 @@
           <p>%c</p>
         </td>
         <td>
-          <p>Comentario: esto es un campo libre para comentarios</p>
+          <p>Kommentar: Das ist ein freies Kommentarfeld</p>
         </td>
       </tr>
       <tr>
@@ -69,7 +82,7 @@
           <p>%p</p>
         </td>
         <td>
-          <p>Compositor: esto es el creado de la pista</p>
+          <p>Komponist: Das ist der Erschaffer des Werkes</p>
         </td>
       </tr>
       <tr>
@@ -77,7 +90,7 @@
           <p>%r</p>
         </td>
         <td>
-          <p>Propietario del copyright: normalmente esto es el artista, pero también puede ser el sello del disco</p>
+          <p>Urheberrechtsinhaber: Das ist für gewöhnlich der Künstler, aber es kann auch die Plattenfirma sein</p>
         </td>
       </tr>
       <tr>
@@ -85,7 +98,7 @@
           <p>%d</p>
         </td>
         <td>
-          <p>Número de disco</p>
+          <p>CD-Nummer</p>
         </td>
       </tr>
       <tr>
@@ -93,7 +106,7 @@
           <p>%e</p>
         </td>
         <td>
-          <p>Codificado por: normalmente esto es la persona que ha codificado el archivo, pero este campo también lo puede usar la aplicación que se usó para codificar el archivo</p>
+          <p>Kodiert durch: Dies ist in der Regel die Person, welche die Datei erstellt, kann aber auch die Anwendung sein, die zum Kodieren der Datei verwendet wurde</p>
         </td>
       </tr>
       <tr>
@@ -101,7 +114,7 @@
           <p>%g</p>
         </td>
         <td>
-          <p>Género</p>
+          <p>Genre</p>
         </td>
       </tr>
       <tr>
@@ -109,7 +122,7 @@
           <p>%i</p>
         </td>
         <td>
-          <p>Ignorado: este especificador de formato sólo se puede usar en <gui>Rellenar etiqueta</gui> para especificar partes del nombre del archivo que se deben ignorar</p>
+          <p>Ignoriert: Diese Formatangabe kann nur bei <gui>Metainformationen füllen</gui> verwendet werden, um jene Teile des Dateinamens anzuzeigen, die ignoriert werden sollen</p>
         </td>
       </tr>
       <tr>
@@ -117,7 +130,7 @@
           <p>%l</p>
         </td>
         <td>
-          <p>Número de pistas: el número total de pistas del medio</p>
+          <p>Anzahl der Titel: Gesamtzahl der Albumtitel auf dem Medium</p>
         </td>
       </tr>
       <tr>
@@ -125,7 +138,7 @@
           <p>%o</p>
         </td>
         <td>
-          <p>Artista original</p>
+          <p>Originalkünstler</p>
         </td>
       </tr>
       <tr>
@@ -133,7 +146,7 @@
           <p>%n</p>
         </td>
         <td>
-          <p>Número de pista</p>
+          <p>Titelnummer</p>
         </td>
       </tr>
       <tr>
@@ -141,7 +154,7 @@
           <p>%t</p>
         </td>
         <td>
-          <p>Título de la pista</p>
+          <p>Titel</p>
         </td>
       </tr>
       <tr>
@@ -149,7 +162,7 @@
           <p>%u</p>
         </td>
         <td>
-          <p>URL</p>
+          <p>Adresse</p>
         </td>
       </tr>
       <tr>
@@ -157,7 +170,7 @@
           <p>%x</p>
         </td>
         <td>
-          <p>Número de discos</p>
+          <p>Anzahl der Medien</p>
         </td>
       </tr>
       <tr>
@@ -165,7 +178,7 @@
           <p>%y</p>
         </td>
         <td>
-          <p>Año de la grabación, aunque algunas veces se usa el año de publicación en su lugar</p>
+          <p>Jahr der Aufnahme, manchmal wird anstelle das Veröffentlichungsdatum verwendet</p>
         </td>
       </tr>
     </tbody>
diff --git a/help/de/image-delete.page b/help/de/image-delete.page
new file mode 100644
index 0000000..29e210c
--- /dev/null
+++ b/help/de/image-delete.page
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="task" style="task" id="image-delete" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#image"/>
+    <revision pkgversion="2.1.9" date="2013-06-02" status="candidate"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at googlemail.com</email>
+    </credit>
+
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Bild löschen</title>
+
+  <p>Um ein Bild von den Metainformationen zu löschen, wählen Sie es und drücken Sie den Knopf <gui style="button">Gewählte Bilder aus den Metainformationen löschen</gui>.</p>
+
+  <p>Um mehr als ein Bild zu löschen, wählen Sie diese Bilder vor dem Löschen aus.</p>
+
+  <p>Es ist auch möglich alle Bilder von mehreren Dateien zu entfernen. Dazu wählen Sie die gewünschten Dateien und entfernen alle Bilder aus dem Reiter <gui style="tab">Bild</gui>. Anschließend drücken Sie den Knopf <gui style="button">Diese Bilder in allen ausgewählten Dateien eintragen</gui>.</p>
+
+</page>
diff --git a/help/de/image-export.page b/help/de/image-export.page
new file mode 100644
index 0000000..30c1242
--- /dev/null
+++ b/help/de/image-export.page
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="task" style="task" id="image-export" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#image"/>
+    <revision pkgversion="2.1.9" date="2013-06-02" status="candidate"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at googlemail.com</email>
+    </credit>
+
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Bild speichern</title>
+
+  <p>Wenn eine Datei bereits ein Bild als Metainformation besitzt, können Sie dieses exportieren. Dazu wählen Sie es aus und drücken Sie den Knopf <gui style="button">Ausgewählte Bilder als Dateien speichern</gui>. Der vorgegebene Dateiname ist die Bildbeschreibung.</p>
+
+  <p>Um Bilder zu exportieren, wählen Sie diese Bilder aus und drücken Sie anschließend den Knopf <gui style="button">Gewählte Bilder in Dateien speichern</gui>.</p>
+
+</page>
diff --git a/help/de/image.page b/help/de/image.page
new file mode 100644
index 0000000..88893d6
--- /dev/null
+++ b/help/de/image.page
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="image" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#image"/>
+    <link type="guide" xref="tag"/>
+    <revision pkgversion="2.1.9" date="2013-05-20" status="review"/>
+    <revision pkgversion="2.2.0" date="2014-04-10" status="review"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at googlemail.com</email>
+    </credit>
+
+    <desc>Bilder wie z.B. von der Hülle zu den Metainformationen hinzufügen</desc>
+
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Ein Bild einer Datei hinzufügen</title>
+
+  <p>Viele Audiodateiformate unterstützen das <sys>image</sys>-Feld (Bild-Metainformation), das zum Hinzufügen des Bildes der Hülle oder anderer Bilder verwendet werden kann.</p>
+
+  <p>Um ein Bild zu der Datei hinzuzufügen, wählen Sie die Datei aus. Anschließend öffnen Sie den Reiter <gui style="tab">Bilder</gui> und drücken auf den Knopf <gui style="button">Bilder der Metainfo hinzufügen</gui>. Wählen Sie das Bild aus und bestätigen Sie Ihre Auswahl.</p>
+
+  <p>Sobald das Bild eingefügt ist, wird es automatisch als Fronthülle und der Dateiname als Beschreibung festgelegt. Um den <gui>Typ</gui> oder die <gui>Beschreibung</gui> zu ändern, drücken Sie den Knopf <gui style="button">Bildeigenschaften bearbeiten</gui>. Drücken Sie <gui style="button">OK</gui> zum Übernehmen der Änderungen.</p>
+
+  <note>
+    <p>Ihre Änderungen werden nicht automatisch gespeichert.</p>
+  </note>
+
+  <p>Sie können mehrere Dateien mit dem selben Bild versehen. Dazu wählen Sie die Dateien, wählen anschließend das gewünschte Bild und drücken anschließend auf den Knopf <gui style="button">Diese Bilder in allen ausgewählten Dateien eintragen</gui>. Sie müssen die Änderungen speichern, um sie in die Dateien zu schreiben.</p>
+
+  <p>Sie können mehrere Bildern zugleich bearbeiten, indem Sie diese Bilder vor dem Bearbeiten, Anwenden, Exportieren oder Löschen auswählen.</p>
+
+</page>
diff --git a/help/el/index.page b/help/de/index.page
similarity index 69%
copy from help/el/index.page
copy to help/de/index.page
index 51b0da4..1ba9e15 100644
--- a/help/el/index.page
+++ b/help/de/index.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:e="http://projectmallard.org/experimental/" type="guide" style="task" id="index" xml:lang="el">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:e="http://projectmallard.org/experimental/" type="guide" style="task" id="index" xml:lang="de">
 
   <info>
     <revision pkgversion="2.1.9" date="2013-03-05" status="review"/>
@@ -23,24 +23,30 @@
 
   
     <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
-      <mal:name> Δημήτρης Σπίγγος</mal:name>
-      <mal:email>dmtrs32 at gmail.com</mal:email>
-      <mal:years>2014</mal:years>
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
     </mal:credit>
   </info>
 
   <title><media its:translate="no" type="image" mime="image/png" src="media/icon.png"/> EasyTAG</title>
 
   <section id="main" style="2column">
-    <title>Γνωρίσματα</title>
+    <title>Funktionen</title>
   </section>
 
   <section id="tag" style="2column">
-    <title>Ετικέτες</title>
+    <title>Metainformationen</title>
   </section>
 
   <section id="image" style="2column">
-    <title>Το πεδίο ετικέτας εικόνας</title>
+    <title>Das Metainfo-Feld Bild</title>
   </section>
 
 <!--  <section id="preferences" style="2column">
@@ -48,7 +54,7 @@
   </section>-->
 
   <section id="problems">
-    <title>Συνηθισμένα προβλήματα και ερωτήσεις</title>
+    <title>Häufige Probleme und Fragen</title>
   </section>
 
 </page>
diff --git a/help/el/introduction.page b/help/de/introduction.page
similarity index 52%
copy from help/el/introduction.page
copy to help/de/introduction.page
index 4b807e5..4a16529 100644
--- a/help/el/introduction.page
+++ b/help/de/introduction.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="introduction" xml:lang="el">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="introduction" xml:lang="de">
 
   <info>
     <link type="guide" xref="index" group="#first"/>
@@ -16,14 +16,20 @@
     <desc/>
   
     <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
-      <mal:name> Δημήτρης Σπίγγος</mal:name>
-      <mal:email>dmtrs32 at gmail.com</mal:email>
-      <mal:years>2014</mal:years>
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
     </mal:credit>
   </info>
 
-  <title>Εισαγωγή</title>
+  <title>Einführung</title>
 
-  <p>Το <app>EasyTAG</app> είναι ένας περιεκτικός επεξεργαστής ετικέτας για αρχεία ήχου FLAC, ήχο Monkey, MP2, MP3 MP4/AAC, MusePack, Ogg Opus, Ogg Speex, Ogg Vorbis και WavPack.</p>
+  <p><app>EasyTAG</app> ist eine umfassende Anwendung zum Bearbeiten von Metainformationen für folgende Audio-Dateiformate: FLAC, Monkey's Audio, MP2, MP3, MP4/AAC, MusePack, Ogg, Ogg Speex, Ogg Vorbis und WavPack.</p>
 
 </page>
diff --git a/help/de/keyboard-shortcuts.page b/help/de/keyboard-shortcuts.page
new file mode 100644
index 0000000..ef1bbba
--- /dev/null
+++ b/help/de/keyboard-shortcuts.page
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="keyboard-shortcuts" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-03-20" status="draft"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc/>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Tastenkombinationen</title>
+
+  <p><app>EasyTAG</app> kann auch mit Tastenkürzel bedient werden. Viele werden in den Menüs angezeigt. Hier sind einige besonders nützliche Tastenkürzel:</p>
+
+  <table rules="rows" frame="top bottom">
+    <thead>
+      <tr>
+        <td>
+          <p>Aktion</p>
+        </td>
+        <td>
+          <p>Tastenkombination</p>
+        </td>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td>
+          <p>Metainformationen auf gewählte Dateien anwenden</p>
+        </td>
+        <td>
+          <p><keyseq><key>Strg</key><key>Eingabetaste</key></keyseq></p>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <p>Alle Dateien (inklusive Dateinamen und Metainformationen) durchsuchen</p>
+        </td>
+        <td>
+          <p><keyseq><key>Strg</key><key>F</key></keyseq></p>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <p>Zur vorherigen Datei springen, während der Fokus auf dem selben Feld beibehalten wird</p>
+        </td>
+        <td>
+          <p><key>Bild ↑</key></p>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <p>Zur nächsten Datei springen, während der Fokus auf dem selben Feld beibehalten wird</p>
+        </td>
+        <td>
+          <p><key>Bild ↓</key></p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+
+</page>
diff --git a/help/de/legal.xml b/help/de/legal.xml
new file mode 100644
index 0000000..6f4839a
--- /dev/null
+++ b/help/de/legal.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<license xmlns="http://projectmallard.org/1.0/" href="http://creativecommons.org/licenses/by-sa/3.0/">
+  <p>Dieses Werk ist unter <link href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 nicht angepasst</link> lizenziert.</p>
+</license>
diff --git a/help/de/playlist-generate.page b/help/de/playlist-generate.page
new file mode 100644
index 0000000..6342e1b
--- /dev/null
+++ b/help/de/playlist-generate.page
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="guide" id="playlist-generate" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#main"/>
+    <revision pkgversion="2.1.9" date="2013-10-06" status="draft"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email>kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Wiedergabeliste aus der Dateiliste erstellen</desc>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Wiedergabeliste anlegen</title>
+
+  <p>Sie können eine M3U-Wiedergabeliste basierend auf der in <app>EasyTAG</app> angezeigten Dateien zur Wiedergabe mit einem Medienprogramm erstellen:</p>
+
+  <steps>
+    <item>
+      <p><link xref="file-select">Wählen Sie die Dateien</link>, die Sie zu einer Wiedergabeliste hinzufügen möchten.</p>
+    </item>
+    <item>
+      <p>Wählen Sie <guiseq><gui style="menu">Verschiedenes</gui> <gui style="menuitem">Wiedergabeliste erstellen …</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Wählen Sie <gui style="radiobutton">Maske verwenden</gui> und geben Sie eine Maske gemäß der <link xref="format-specifier">Formatangaben</link> an. Alternativ können Sie <gui style="radiobutton">Ordnernamen verwenden</gui> wählen, um die Wiedergabeliste nach dem in der <gui style="group">Auswahl</gui> gewählten Ordner zu benennen.</p>
+    </item>
+    <item>
+      <p>Wählen Sie <gui style="checkbox">Nur ausgewählte Dateien einfügen</gui>, um nur jene Dateien zur Erstellung einer Wiedergabeliste zu verwenden, die in der Dateiliste ausgewählt sind. Wählen Sie dieses Ankreuzfeld ab, um alle angezeigten Dateien zur Wiedergabeliste hinzuzufügen.</p>
+    </item>
+    <item>
+      <p>Select
+      <gui style="radiobutton">Use relative path for files in playlist</gui>
+      unless you only plan to use the playlist on the same computer and you do
+      not plan to move the audio files, in which case you can select
+      <gui style="radiobutton">Use full path for files in playlist</gui>.</p>
+    </item>
+    <item>
+      <p>Select
+      <gui style="checkbox">Create playlist in the parent directory</gui> if
+      you want to save the playlist in the parent of the directory selected in
+      the <gui style="group">Browser</gui>. Otherwise, the playlist will be
+      saved in the directory selected in the
+      <gui style="group">Browser</gui>.</p>
+    </item>
+    <item>
+      <p>Wenn Sie eine Wiedergabeliste für einen Windows-Rechner oder für ein <sys>NTFS</sys>- oder <sys>FAT</sys>-Dateisystem erstellen, dann können Sie <gui style="checkbox">DOS-Ordnertrennsymbol verwenden</gui> wählen.</p>
+    </item>
+    <item>
+      <p>Select <gui style="radiobutton">Write only list of files</gui> to
+      create a playlist which only contains a list of files. Select
+      <gui style="radiobutton">Write info using filename</gui> to also write
+      extended information, including the duration of the audio file, to the
+      playlist. Select <gui style="radiobutton">Write info using</gui> and
+      enter a mask, using format specifiers, to write custom extended
+      information to the playlist.</p>
+    </item>
+    <item>
+      <p>Wählen Sie <gui style="button">Speichern</gui>, um die Wiedergabeliste zu erstellen.</p>
+    </item>
+  </steps>
+
+</page>
diff --git a/help/de/problems-id3.page b/help/de/problems-id3.page
new file mode 100644
index 0000000..4c3a0eb
--- /dev/null
+++ b/help/de/problems-id3.page
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="problems-id3" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#problems"/>
+    <revision pkgversion="2.2.0" date="2014-04-09" status="review"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>David King</name>
+      <email its:translate="no">amigadave at amigadave.com</email>
+    </credit>
+
+    <desc>ID3-Metainfos korrgieren, die leere oder fehlerhafte Metainformationen in anderen Anwendungen anzeigen</desc>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>MP3-Metainformationen werden nicht korrekt angezeigt</title>
+
+  <p><em>ID3</em>-Metainfos für MP3-Dateien können verschiedene Versionen haben. <app>EasyTAG</app> unterstützt ID3v2.4, ID3v2.3 und ID3v1.1. Die Vorgabeversion in <app>EasyTAG</app> ist ID3v2.4. Sie hat die meisten Funktionen und ist auch am effizientesten.</p>
+
+  <p>Viele Anwendungen unterstützen die neueste Version des ID3-Standards: ID3v2.4.</p>
+
+  <p>Einige Anwendungen und Geräte unterstützen möglicherweise nur ID3v2.3 und ID3v1.1 und einige wenige unterstützen womöglich nur ID3v1.1. Wenn eine andere Anwendung Probleme hat die Metainfos aus Ihren Dateien zu lesen, können Sie versuchen die ID3-Version in den Einstellungen zu ändern:</p>
+
+  <steps>
+    <item>
+      <p>Wählen Sie <guiseq style="menuitem"><gui style="menu">Bearbeiten</gui><gui style="menuitem">Einstellungen</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Wählen Sie den Reiter <gui style="tab">ID3-Metainfo-Einstellungen</gui></p>
+    </item>
+    <item>
+      <p>Wählen Sie die Einstellung <gui>ID3v2.3</gui> in der <gui>Version</gui>-Auswahlliste des Abschnitts <gui style="group">ID3v2-Metainformationen</gui>, um die Kompatibilität mit anderen Anwendungen zu verbessern.</p>
+    </item>
+    <item>
+      <p>Stellen Sie sicher, dass <gui style="check">ID3v1.x-Metainfo schreiben</gui> im Abschnitt <gui style="group">ID3v1-Metainfo</gui> ausgewählt ist.</p>
+    </item>
+    <item>
+      <p>Drücken Sie <gui style="button">OK</gui>, um die Einstellungen zu speichern</p>
+    </item>
+  </steps>
+
+</page>
diff --git a/help/de/problems-ogg-split.page b/help/de/problems-ogg-split.page
new file mode 100644
index 0000000..d38f9f4
--- /dev/null
+++ b/help/de/problems-ogg-split.page
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="problems-ogg-split" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#problems"/>
+    <revision pkgversion="2.2.0" date="2014-04-11" status="candidate"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>David King</name>
+      <email its:translate="no">amigadave at amigadave.com</email>
+    </credit>
+    <credit type="editor">
+      <name>Ekaterina Gerasimova</name>
+      <email its:translate="no">kittykat3756 at gmail.com</email>
+    </credit>
+
+    <desc>Ein einzelnes Metainfofeld in mehrere Felder aufspalten, wenn Sie Ogg- und FLAC-Dateien speichern</desc>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Metainfofelder beim Speichern aufspalten</title>
+
+  <p>In Ogg- und FLAC-Dateien können mehrere <link xref="tag">Metainfo-Felder</link> jedes Types vorhanden sein. Zum Beispiel, wenn 2 Künstler ein Musikstück wiedergeben, können 2 Künstler-Felder in den Metainfos vorhanden sein. <app>EasyTAG</app> liest diese Felder ein und kombiniert diese automatisch zu einem einzigen Feld.</p>
+
+  <p>Viele Anwendungen lesen Felder mit mehreren Werten nicht korrekt, deshalb wird per Vorgabe jeder Wert in einem einzelnen Feld gespeichert. Wenn die von Ihnen verwendete Anwendung mehrere Felder des selben Typs unterstützt, können Sie EasyTAG die Felder beim Speichern aufspalten lassen. Die Felder werden beim Vorkommen von » - « automatisch aufgespalten. Zum Beispiel wird das Feld »David Bowie - Queen« in die zwei Felder »David Bowie« und »Queen« aufgespalten.</p>
+
+  <p>So teilen Sie Felder beim Speichern der Dateien auf:</p>
+
+  <steps>
+    <item>
+      <p>Wählen Sie <guiseq style="menuitem"><gui style="menu">Bearbeiten</gui><gui style="menuitem">Einstellungen</gui></guiseq>.</p>
+    </item>
+    <item>
+      <p>Wählen Sie den Reiter <gui style="tab">Metainfo-Einstellungen</gui></p>
+    </item>
+    <item>
+      <p>Im Bereich <gui style="group">Metainfo-Aufspaltung</gui> können Sie die beim Speichern aufzuspaltenden Felder auswählen</p>
+    </item>
+    <item>
+      <p>Drücken Sie <gui style="button">OK</gui>, um die Einstellungen zu speichern</p>
+    </item>
+  </steps>
+
+</page>
diff --git a/help/es/scanner.page b/help/de/scanner.page
similarity index 67%
copy from help/es/scanner.page
copy to help/de/scanner.page
index b71c2ef..92da2b5 100644
--- a/help/es/scanner.page
+++ b/help/de/scanner.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="guide" style="task" id="scanner" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="guide" style="task" id="scanner" xml:lang="de">
 
   <info>
     <link type="guide" xref="index#main" group="#first"/>
@@ -12,20 +12,32 @@
 
     <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
 
-    <desc>Actualizar las etiquetas automáticamente</desc>
-
+    <desc>Metainformationen automatisch anpassen</desc>
+
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
   </info>
 
-  <title>El <gui>Analizador</gui></title>
+  <title>Der <gui>Scanner</gui></title>
 
   <p>The scanner can be used to fill in fields based on the filename, rename a
   file and create a new directory based on the filled fields, and process the
   text in fields and the filename.</p>
 
 <section id="fill-tag">
-  <title>Fill fields from a filename and directory structure</title>
+  <title>Felder anhand der Dateinamen und Orderstruktur befüllen</title>
 
-  <p><gui>Rellenar etiqueta</gui> se puede usar para rellenar campos de etiquetas basándose en el nombre del archivo o en las carpetas padre.</p>
+  <p><gui>Metainformationen füllen</gui> kann zum Befüllen der Metainfofelder basierend auf den Dateinamen und den übergeordneten Ordnern verwendet werden.</p>
 
   <p>Use <em xref="format-specifier">format specifiers</em> and
   <em>separators</em> to split the filename and parent directories into
@@ -41,13 +53,12 @@
   extract the track number and title from the filename, the album title from
   the parent directory and the artist from the grandparent directory.</p>
 
-  <p>Fill the tag fields for the selected files using the
-  <gui style="button">Scan Files</gui> button.</p>
+  <p>Befüllen Sie die Metainfofelder der ausgewählten Dateien durch Drücken des Knopfes <gui style="button">Dateien einlesen</gui>.</p>
 
 </section>
 
 <section id="rename">
-  <title>Renombrar archivos y crear carpetas nuevas</title>
+  <title>Dateien umbenennen und neue Ordner anlegen</title>
 
   <p><gui xref="file-rename">Rename File and Directory</gui> can be used to
   create a directory hierarchy and update filenames using the filled tag
@@ -60,7 +71,7 @@
   structure and filename. You will see a preview of the naming scheme below
   your specified format string.</p>
 
-  <p>Para preparar los archivos para moverlos y renombrarlos, pulse el botón <gui style="button">Analizar archivos</gui>.</p>
+  <p>Um Dateien zum Verschieben und Umbenennen vorzubereiten, drücken Sie den Knopf <gui style="button">Dateien einlesen</gui>.</p>
 
 </section>
 
@@ -71,7 +82,8 @@
   which allows you to select which tag fields to process. It also allows for
   the filename to be processed as well.</p>
 
-  <p>Puede <gui>Convertir</gui> caracteres para una búsqueda con reemplazamiento sencilla, cambiar la capitalización o eliminar espacios.</p>
+  <p>You can <gui>Convert</gui> characters for a simple find and replace,
+  change capitalization and add or remove spaces.</p>
 
   <p>Use the <gui>Select fields</gui> buttons to specify which fields to
   change. You can also select or deselect all fields and invert your
diff --git a/help/de/starting.page b/help/de/starting.page
new file mode 100644
index 0000000..623666d
--- /dev/null
+++ b/help/de/starting.page
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" type="topic" style="guide" id="starting" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index"/>
+    <revision pkgversion="2.1.9" date="2013-06-25" status="candidate"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email>kittykat3756 at gmail.com</email>
+    </credit>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <desc>Erste Verwendung von <app>EasyTAG</app></desc>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>So verwenden Sie <app>EasyTAG</app></title>
+
+  <p>Wenn Sie <app>EasyTAG</app> zum ersten Mal starten, wird es Ihren <file>Musik</file>-Ordner oder Ihren »Persönlichen Ordner« nach Audio-Dateien durchsuchen. Wenn Sie die Suche überspringen möchten, drücken Sie den Knopf <gui style="button">Suchvorgang anhalten</gui>.</p>
+
+  <p><app>EasyTAG</app> wird eventuell einige automatische Korrekturen an Ihren Dateien vornehmen. Diese Dateien werden fett hervorgehoben. Diese Änderungen sind Aktualisierungen der Metainfo-Container und werden nur angewandt, wenn Sie die Änderungen speichern.</p>
+
+  <p>Um diese Änderungen zu speichern, wählen Sie die betroffenen Dateien und drücken Sie <keyseq><key>Strg</key><key>S</key></keyseq>. Es ist nicht möglich die automatischen Änderungen rückgängig zu machen, aber sie werden nicht gespeichert, außer Sie wählen die Dateien und speichern die Änderungen. Sie können einige der automatischen Aktualisierungen im Reiter <gui style="tab">ID3-Metainfo-Einstellungen</gui> im Dialogfenster <gui style="dialog">Einstellungen</gui>.</p>
+
+</page>
diff --git a/help/de/tag-field.page b/help/de/tag-field.page
new file mode 100644
index 0000000..602f8ae
--- /dev/null
+++ b/help/de/tag-field.page
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="tag-field" xml:lang="de">
+
+  <info>
+    <link type="guide" xref="index#tag"/>
+    <link type="guide" xref="tag" group="#first"/>
+    <revision pkgversion="2.1.9" date="2013-05-20"/>
+
+    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
+
+    <credit type="author">
+      <name>Ekaterina Gerasimova</name>
+      <email>kittykat3756 at googlemail.com</email>
+    </credit>
+
+    <desc>Metainformationen einer Datei hinzufügen</desc>
+
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
+  </info>
+
+  <title>Metainformationen in eine Datei schreiben</title>
+
+  <p>Audiodateien können je nach Dateiformat verschiedene <em>Metainfofelder</em> unterstützen.</p>
+
+  <steps>
+    <title>Metainformationen einer Datei aktualisieren</title>
+    <item>
+      <p>Wählen Sie die Datei, die Sie bearbeiten möchten.</p>
+    </item>
+    <item>
+      <p>Aktualisieren Sie das zu ändernde Feld im Bereich <gui>Metainfo</gui>.</p>
+    </item>
+    <item>
+      <p>Wählen Sie <guiseq><gui style="menu">Datei</gui><gui style="menuitem">Dateien speichern</gui></guiseq>, um Ihre Änderungen der gewählten Datei zu speichern.</p>
+    </item>
+    <item>
+      <p>When you are asked to <gui>Confirm Tag Writing</gui>, press
+      <gui style="button">Save</gui> to save the changes.</p>
+    </item>
+  </steps>
+
+  <p>You can tag multiple files with the same field by selecting them in the
+  list of files and pressing the <gui>Tag selected files with this […]</gui>
+  icon in the field that you want to tag. You will need to save these changes
+  to write them to the files.</p>
+
+</page>
diff --git a/help/es/tag.page b/help/de/tag.page
similarity index 59%
copy from help/es/tag.page
copy to help/de/tag.page
index ca92019..60df5a9 100644
--- a/help/es/tag.page
+++ b/help/de/tag.page
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="guide" style="task" id="tag" xml:lang="es">
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="guide" style="task" id="tag" xml:lang="de">
 
   <info>
     <link type="guide" xref="index#tag" group="#first"/>
@@ -12,11 +12,23 @@
       <email its:translate="no">kittykat3756 at googlemail.com</email>
     </credit>
 
-    <desc>¿Qué es un etiqueta e qué son los campos?</desc>
-
+    <desc>Was sind Metainformationen und was sind Felder?</desc>
+
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Christian Kirbach</mal:name>
+      <mal:email>Christian.Kirbach at gmail.com</mal:email>
+      <mal:years>2013, 2014, 2015</mal:years>
+    </mal:credit>
+  
+    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
+      <mal:name>Benjamin Steinwender</mal:name>
+      <mal:email>b at stbe.at</mal:email>
+      <mal:years>2014, 2015</mal:years>
+    </mal:credit>
   </info>
 
-  <title>Etiquetas de archivos de sonido</title>
+  <title>Metainformationen in Audio-Dateien</title>
 
   <p>An audio file can contain <em>metadata</em> — information about itself —
   inside a <em>tag</em>. Each tag can contain one or more <em>fields</em>, such
diff --git a/m4/ax_append_compile_flags.m4 b/m4/ax_append_compile_flags.m4
new file mode 100644
index 0000000..dc7b866
--- /dev/null
+++ b/m4/ax_append_compile_flags.m4
@@ -0,0 +1,65 @@
+# ===========================================================================
+#  http://www.gnu.org/software/autoconf-archive/ax_append_compile_flags.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS])
+#
+# DESCRIPTION
+#
+#   For every FLAG1, FLAG2 it is checked whether the compiler works with the
+#   flag.  If it does, the flag is added FLAGS-VARIABLE
+#
+#   If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
+#   CFLAGS) is used.  During the check the flag is always added to the
+#   current language's flags.
+#
+#   If EXTRA-FLAGS is defined, it is added to the current language's default
+#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
+#   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
+#   force the compiler to issue an error when a bad flag is given.
+#
+#   NOTE: This macro depends on the AX_APPEND_FLAG and
+#   AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with
+#   AX_APPEND_LINK_FLAGS.
+#
+# LICENSE
+#
+#   Copyright (c) 2011 Maarten Bosmans <mkbosmans at gmail.com>
+#
+#   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 3 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, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 4
+
+AC_DEFUN([AX_APPEND_COMPILE_FLAGS],
+[AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
+AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
+for flag in $1; do
+  AX_CHECK_COMPILE_FLAG([$flag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3])
+done
+])dnl AX_APPEND_COMPILE_FLAGS
diff --git a/m4/ax_append_flag.m4 b/m4/ax_append_flag.m4
new file mode 100644
index 0000000..d26286c
--- /dev/null
+++ b/m4/ax_append_flag.m4
@@ -0,0 +1,71 @@
+# ===========================================================================
+#      http://www.gnu.org/software/autoconf-archive/ax_append_flag.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE])
+#
+# DESCRIPTION
+#
+#   FLAG is appended to the FLAGS-VARIABLE shell variable, with a space
+#   added in between.
+#
+#   If FLAGS-VARIABLE is not specified, the current language's flags (e.g.
+#   CFLAGS) is used.  FLAGS-VARIABLE is not changed if it already contains
+#   FLAG.  If FLAGS-VARIABLE is unset in the shell, it is set to exactly
+#   FLAG.
+#
+#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Guido U. Draheim <guidod at gmx.de>
+#   Copyright (c) 2011 Maarten Bosmans <mkbosmans at gmail.com>
+#
+#   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 3 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, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 4
+
+AC_DEFUN([AX_APPEND_FLAG],
+[dnl
+AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF
+AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])])
+AS_VAR_SET_IF(FLAGS,[
+  AS_CASE([AS_VAR_GET(FLAGS)],
+    ["* $1 *|*$1"],[AC_RUN_LOG([: FLAGS already contains $1])],
+    [
+     AS_VAR_APPEND(FLAGS," $1")
+     AC_RUN_LOG([: FLAGS="$FLAGS"])
+    ])
+  ],
+  [
+  AS_VAR_SET(FLAGS,[$1])
+  AC_RUN_LOG([: FLAGS="$FLAGS"])
+  ])
+AS_VAR_POPDEF([FLAGS])dnl
+])dnl AX_APPEND_FLAG
diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4
new file mode 100644
index 0000000..ca36397
--- /dev/null
+++ b/m4/ax_check_compile_flag.m4
@@ -0,0 +1,74 @@
+# ===========================================================================
+#   http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
+#
+# DESCRIPTION
+#
+#   Check whether the given FLAG works with the current language's compiler
+#   or gives an error.  (Warnings, however, are ignored)
+#
+#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
+#   success/failure.
+#
+#   If EXTRA-FLAGS is defined, it is added to the current language's default
+#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
+#   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
+#   force the compiler to issue an error when a bad flag is given.
+#
+#   INPUT gives an alternative input source to AC_COMPILE_IFELSE.
+#
+#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
+#   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Guido U. Draheim <guidod at gmx.de>
+#   Copyright (c) 2011 Maarten Bosmans <mkbosmans at gmail.com>
+#
+#   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 3 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, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 4
+
+AC_DEFUN([AX_CHECK_COMPILE_FLAG],
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
+AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
+  ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
+  _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
+  AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
+    [AS_VAR_SET(CACHEVAR,[yes])],
+    [AS_VAR_SET(CACHEVAR,[no])])
+  _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
+AS_VAR_IF(CACHEVAR,yes,
+  [m4_default([$2], :)],
+  [m4_default([$3], :)])
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_COMPILE_FLAGS
diff --git a/m4/ax_compiler_flags.m4 b/m4/ax_compiler_flags.m4
new file mode 100644
index 0000000..1781b40
--- /dev/null
+++ b/m4/ax_compiler_flags.m4
@@ -0,0 +1,107 @@
+# ===========================================================================
+#     http://www.gnu.org/software/autoconf-archive/ax_compiler_flags.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPILER_FLAGS([CFLAGS-VARIABLE], [LDFLAGS-VARIABLE], [IS-RELEASE], [EXTRA-BASE-CFLAGS], [EXTRA-MINIMUM-CFLAGS], [EXTRA-YES-CFLAGS], [EXTRA-MAXIMUM-CFLAGS], [EXTRA-ERROR-CFLAGS], [EXTRA-BASE-LDFLAGS], [EXTRA-MINIMUM-LDFLAGS], [EXTRA-YES-LDFLAGS], [EXTRA-MAXIMUM-LDFLAGS], [EXTRA-ERROR-LDFLAGS])
+#
+# DESCRIPTION
+#
+#   Check for the presence of an --enable-compile-warnings option to
+#   configure, defaulting to "error" in normal operation, or "yes" if
+#   IS-RELEASE is equal to "yes".  Return the value in the variable
+#   $ax_enable_compile_warnings.
+#
+#   Depending on the value of --enable-compile-warnings, different compiler
+#   warnings are checked to see if they work with the current compiler and,
+#   if so, are appended to CFLAGS-VARIABLE and LDFLAGS-VARIABLE.  This
+#   allows a consistent set of baseline compiler warnings to be used across
+#   a code base, irrespective of any warnings enabled locally by individual
+#   developers.  By standardising the warnings used by all developers of a
+#   project, the project can commit to a zero-warnings policy, using -Werror
+#   to prevent compilation if new warnings are introduced.  This makes
+#   catching bugs which are flagged by warnings a lot easier.
+#
+#   By providing a consistent --enable-compile-warnings argument across all
+#   projects using this macro, continuous integration systems can easily be
+#   configured the same for all projects.
+#
+#   --enable-compile-warnings can take the values:
+#
+#    * no:      Base compiler warnings only; not even -Wall.
+#    * minimum: The above, plus minimal extra warnings such as -Wall.
+#    * yes:     The above, plus a broad range of useful warnings.
+#    * maximum: The above, plus additional warnings which enforce a particular
+#               coding style
+#    * error:   The above, plus -Werror so that all warnings are fatal.
+#
+#   The set of flags enabled at each level can be augmented using the
+#   EXTRA-*-CFLAGS and EXTRA-*-LDFLAGS variables.  Flags should not be
+#   disabled using these arguments, as the entire point of AX_COMPILER_FLAGS
+#   is to enforce a consistent set of useful compiler warnings on code,
+#   using warnings which have been chosen for low false positive rates.  If
+#   a compiler emits false positives for a warning, a #pragma should be used
+#   in the code to disable the warning locally. See:
+#
+#     https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Diagnostic-Pragmas.html#Diagnostic-Pragmas
+#
+#   IS-RELEASE can be used to disable -Werror when making a release, which
+#   is useful for those hairy moments when you just want to get the release
+#   done as quickly as possible.  Set it to "yes" to disable -Werror.
+#
+#   CFLAGS-VARIABLE defaults to WARN_CFLAGS, and LDFLAGS-VARIABLE defaults
+#   to WARN_LDFLAGS.  Both variables are AC_SUBST-ed by this macro, but must
+#   be manually added to the CFLAGS and LDFLAGS variables for each target in
+#   the code base.
+#
+#   Warning flags for the C++ compiler are AC_SUBST-ed as WARN_CXXFLAGS, and
+#   must be manually added to the CXXFLAGS variables for each target in the
+#   code base. EXTRA-*-CFLAGS can be used to augment the flags enabled at
+#   each level.
+#
+#   Warning flags for g-ir-scanner (from GObject Introspection) are
+#   AC_SUBST-ed as WARN_SCANNERFLAGS.  This variable must be manually added
+#   to the SCANNERFLAGS variable for each GIR target in the code base.  If
+#   extra g-ir-scanner flags need to be enabled, the AX_COMPILER_FLAGS_GIR
+#   macro must be invoked manually.
+#
+#   AX_COMPILER_FLAGS may add support for other tools in future, in addition
+#   to the compiler and linker.  No extra EXTRA-* variables will be added
+#   for those tools, and all extra support will still use the single
+#   --enable-compile-warnings configure option.  For finer grained control
+#   over the flags for individual tools, use AX_COMPILER_FLAGS_CFLAGS,
+#   AX_COMPILER_FLAGS_LDFLAGS and AX_COMPILER_FLAGS_* for new tools.
+#
+# LICENSE
+#
+#   Copyright (c) 2014, 2015 Philip Withnall <philip at tecnocode.co.uk>
+#   Copyright (c) 2015 David King <amigadave at amigadave.com>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.  This file is offered as-is, without any
+#   warranty.
+
+#serial 7
+
+AC_DEFUN([AX_COMPILER_FLAGS],[
+    AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_CFLAGS])
+    AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_CXXFLAGS])
+    AX_REQUIRE_DEFINED([AX_COMPILER_FLAGS_LDFLAGS])
+
+    AC_ARG_ENABLE([compile-warnings],
+                  AS_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
+                                 [Enable different levels of compiler warnings]),,
+                  [AS_IF([test "$3" = "yes"],
+                         [enable_compile_warnings="yes"],
+                         [enable_compile_warnings="error"])])
+
+    # Return the user’s chosen warning level
+    ax_enable_compile_warnings=$enable_compile_warnings
+
+    AX_COMPILER_FLAGS_CFLAGS([$1],[$3],[$4],[$5],[$6],[$7],[$8])
+    AX_COMPILER_FLAGS_CXXFLAGS([WARN_CXXFLAGS],[$3],[$4],[$5],[$6],[$7],[$8])
+    AX_COMPILER_FLAGS_LDFLAGS([$2],[$3],[$9],[$10],[$11],[$12],[$13])
+    AX_COMPILER_FLAGS_GIR([WARN_SCANNERFLAGS],[$3])
+])dnl AX_COMPILER_FLAGS
diff --git a/m4/ax_compiler_flags_cflags.m4 b/m4/ax_compiler_flags_cflags.m4
new file mode 100644
index 0000000..1f8ef1f
--- /dev/null
+++ b/m4/ax_compiler_flags_cflags.m4
@@ -0,0 +1,127 @@
+# ============================================================================
+#  http://www.gnu.org/software/autoconf-archive/ax_compiler_flags_cflags.html
+# ============================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPILER_FLAGS_CFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-MINIMUM-FLAGS], [EXTRA-YES-FLAGS], [EXTRA-MAXIMUM-FLAGS], [EXTRA-ERROR-FLAGS])
+#
+# DESCRIPTION
+#
+#   Add warning flags for the C compiler to VARIABLE, which defaults to
+#   WARN_CFLAGS.  VARIABLE is AC_SUBST-ed by this macro, but must be
+#   manually added to the CFLAGS variable for each target in the code base.
+#
+#   This macro depends on the environment set up by AX_COMPILER_FLAGS.
+#   Specifically, it uses the value of $ax_enable_compile_warnings to decide
+#   which flags to enable.
+#
+# LICENSE
+#
+#   Copyright (c) 2014, 2015 Philip Withnall <philip at tecnocode.co.uk>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.  This file is offered as-is, without any
+#   warranty.
+
+#serial 3
+
+AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[
+    AX_REQUIRE_DEFINED([AX_APPEND_COMPILE_FLAGS])
+    AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
+    AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
+
+    # Variable names
+    m4_define(ax_warn_cflags_variable,
+              [m4_normalize(ifelse([$1],,[WARN_CFLAGS],[$1]))])
+
+    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
+    # flags, otherwise they are always appended to the warn_cflags variable, and
+    # Clang warns on them for every compilation unit.
+    # If this is passed to GCC, it will explode, so the flag must be enabled
+    # conditionally.
+    AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
+        ax_compiler_flags_test="-Werror=unknown-warning-option"
+    ],[
+        ax_compiler_flags_test=""
+    ])
+
+    # Base flags
+    AX_APPEND_COMPILE_FLAGS([ dnl
+        -fno-strict-aliasing dnl
+        $3 dnl
+    ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
+
+    AS_IF([test "$ax_enable_compile_warnings" != "no"],[
+        # "minimum" flags
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wall dnl
+            $4 dnl
+        ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" != "no" -a \
+                "$ax_enable_compile_warnings" != "minimum"],[
+        # "yes" flags
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wextra dnl
+            -Wundef dnl
+            -Wnested-externs dnl
+            -Wwrite-strings dnl
+            -Wpointer-arith dnl
+            -Wmissing-declarations dnl
+            -Wmissing-prototypes dnl
+            -Wstrict-prototypes dnl
+            -Wredundant-decls dnl
+            -Wno-unused-parameter dnl
+            -Wno-missing-field-initializers dnl
+            -Wdeclaration-after-statement dnl
+            -Wformat=2 dnl
+            -Wold-style-definition dnl
+            -Wcast-align dnl
+            -Wformat-nonliteral dnl
+            -Wformat-security dnl
+            -Wsign-compare dnl
+            -Wstrict-aliasing dnl
+            -Wshadow dnl
+            -Winline dnl
+            -Wpacked dnl
+            -Wmissing-format-attribute dnl
+            -Wmissing-noreturn dnl
+            -Winit-self dnl
+            -Wredundant-decls dnl
+            -Wmissing-include-dirs dnl
+            -Wunused-but-set-variable dnl
+            -Warray-bounds dnl
+            -Wimplicit-function-declaration dnl
+            -Wreturn-type dnl
+            $5 dnl
+        ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" = "maximum" -o \
+                "$ax_enable_compile_warnings" = "error"],[
+        # "maximum" flags
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wswitch-enum dnl
+            -Wswitch-default dnl
+            -Waggregate-return dnl
+            $6 dnl
+        ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" = "error"],[
+        # "error" flags; -Werror has to be appended unconditionally because
+        # it’s not possible to test for
+        #
+        # suggest-attribute=format is disabled because it gives too many false
+        # positives
+        AX_APPEND_FLAG([-Werror],ax_warn_cflags_variable)
+
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wno-suggest-attribute=format dnl
+            $7 dnl
+        ],ax_warn_cflags_variable,[$ax_compiler_flags_test])
+    ])
+
+    # Substitute the variables
+    AC_SUBST(ax_warn_cflags_variable)
+])dnl AX_COMPILER_FLAGS
diff --git a/m4/ax_compiler_flags_cxxflags.m4 b/m4/ax_compiler_flags_cxxflags.m4
new file mode 100644
index 0000000..8f9c1a2
--- /dev/null
+++ b/m4/ax_compiler_flags_cxxflags.m4
@@ -0,0 +1,126 @@
+# ==============================================================================
+#  http://www.gnu.org/software/autoconf-archive/ax_compiler_flags_cxxflags.html
+# ==============================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPILER_FLAGS_CXXFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-MINIMUM-FLAGS], [EXTRA-YES-FLAGS], [EXTRA-MAXIMUM-FLAGS], [EXTRA-ERROR-FLAGS])
+#
+# DESCRIPTION
+#
+#   Add warning flags for the C++ compiler to VARIABLE, which defaults to
+#   WARN_CXXFLAGS.  VARIABLE is AC_SUBST-ed by this macro, but must be
+#   manually added to the CXXFLAGS variable for each target in the code
+#   base.
+#
+#   This macro depends on the environment set up by AX_COMPILER_FLAGS.
+#   Specifically, it uses the value of $ax_enable_compile_warnings to decide
+#   which flags to enable.
+#
+# LICENSE
+#
+#   Copyright (c) 2015 David King <amigadave at amigadave.com>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.  This file is offered as-is, without any
+#   warranty.
+
+#serial 1
+
+AC_DEFUN([AX_COMPILER_FLAGS_CXXFLAGS],[
+    AX_REQUIRE_DEFINED([AX_APPEND_COMPILE_FLAGS])
+    AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
+    AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
+
+    # Variable names
+    m4_define(ax_warn_cxxflags_variable,
+              [m4_normalize(ifelse([$1],,[WARN_CXXFLAGS],[$1]))])
+
+    AC_LANG_PUSH([C++])
+
+    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
+    # flags, otherwise they are always appended to the warn_cxxflags variable,
+    # and Clang warns on them for every compilation unit.
+    # If this is passed to GCC, it will explode, so the flag must be enabled
+    # conditionally.
+    AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
+        ax_compiler_flags_test="-Werror=unknown-warning-option"
+    ],[
+        ax_compiler_flags_test=""
+    ])
+
+    # Base flags
+    AX_APPEND_COMPILE_FLAGS([ dnl
+        -fno-strict-aliasing dnl
+        $3 dnl
+    ],ax_warn_cxxflags_variable,[$ax_compiler_flags_test])
+
+    AS_IF([test "$ax_enable_compile_warnings" != "no"],[
+        # "minimum" flags
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wall dnl
+            $4 dnl
+        ],ax_warn_cxxflags_variable,[$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" != "no" -a \
+                "$ax_enable_compile_warnings" != "minimum"],[
+        # "yes" flags
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wextra dnl
+            -Wundef dnl
+            -Wwrite-strings dnl
+            -Wpointer-arith dnl
+            -Wmissing-declarations dnl
+            -Wredundant-decls dnl
+            -Wno-unused-parameter dnl
+            -Wno-missing-field-initializers dnl
+            -Wformat=2 dnl
+            -Wcast-align dnl
+            -Wformat-nonliteral dnl
+            -Wformat-security dnl
+            -Wsign-compare dnl
+            -Wstrict-aliasing dnl
+            -Wshadow dnl
+            -Winline dnl
+            -Wpacked dnl
+            -Wmissing-format-attribute dnl
+            -Wmissing-noreturn dnl
+            -Winit-self dnl
+            -Wredundant-decls dnl
+            -Wmissing-include-dirs dnl
+            -Wunused-but-set-variable dnl
+            -Warray-bounds dnl
+            -Wreturn-type dnl
+            -Wno-overloaded-virtual dnl
+            $5 dnl
+        ],ax_warn_cxxflags_variable,[$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" = "maximum" -o \
+                "$ax_enable_compile_warnings" = "error"],[
+        # "maximum" flags
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wswitch-enum dnl
+            -Wswitch-default dnl
+            $6 dnl
+        ],ax_warn_cxxflags_variable,[$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" = "error"],[
+        # "error" flags; -Werror has to be appended unconditionally because
+        # it’s not possible to test for
+        #
+        # suggest-attribute=format is disabled because it gives too many false
+        # positives
+        AX_APPEND_FLAG([-Werror],ax_warn_cxxflags_variable)
+
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wno-suggest-attribute=format dnl
+            $7 dnl
+        ],ax_warn_cxxflags_variable,[$ax_compiler_flags_test])
+    ])
+
+    AC_LANG_POP([C++])
+
+    # Substitute the variables
+    AC_SUBST(ax_warn_cxxflags_variable)
+])dnl AX_COMPILER_FLAGS_CXXFLAGS
diff --git a/m4/ax_compiler_flags_gir.m4 b/m4/ax_compiler_flags_gir.m4
new file mode 100644
index 0000000..f26a8d2
--- /dev/null
+++ b/m4/ax_compiler_flags_gir.m4
@@ -0,0 +1,68 @@
+# ===========================================================================
+#   http://www.gnu.org/software/autoconf-archive/ax_compiler_flags_gir.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPILER_FLAGS_GIR([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-MINIMUM-FLAGS], [EXTRA-YES-FLAGS], [EXTRA-MAXIMUM-FLAGS], [EXTRA-ERROR-FLAGS])
+#
+# DESCRIPTION
+#
+#   Add warning flags for the g-ir-scanner (from GObject Introspection) to
+#   VARIABLE, which defaults to WARN_SCANNERFLAGS.  VARIABLE is AC_SUBST-ed
+#   by this macro, but must be manually added to the SCANNERFLAGS variable
+#   for each GIR target in the code base.
+#
+#   This macro depends on the environment set up by AX_COMPILER_FLAGS.
+#   Specifically, it uses the value of $ax_enable_compile_warnings to decide
+#   which flags to enable.
+#
+# LICENSE
+#
+#   Copyright (c) 2015 Philip Withnall <philip at tecnocode.co.uk>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.  This file is offered as-is, without any
+#   warranty.
+
+#serial 2
+
+AC_DEFUN([AX_COMPILER_FLAGS_GIR],[
+    AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
+
+    # Variable names
+    m4_define(ax_warn_scannerflags_variable,
+              [m4_normalize(ifelse([$1],,[WARN_SCANNERFLAGS],[$1]))])
+
+    # Base flags
+    AX_APPEND_FLAG([$3],ax_warn_scannerflags_variable)
+
+    AS_IF([test "$ax_enable_compile_warnings" != "no"],[
+        # "minimum" flags
+        AX_APPEND_FLAG([ dnl
+            --warn-all dnl
+            $4 dnl
+        ],ax_warn_scannerflags_variable)
+    ])	
+    AS_IF([test "$ax_enable_compile_warnings" != "no" -a \
+                "$ax_enable_compile_warnings" != "minimum"],[
+        # "yes" flags
+        AX_APPEND_FLAG([$5],ax_warn_scannerflags_variable)
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" = "maximum" -o \
+                "$ax_enable_compile_warnings" = "error"],[
+        # "maximum" flags
+        AX_APPEND_FLAG([$6],ax_warn_scannerflags_variable)
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" = "error"],[
+        # "error" flags
+        AX_APPEND_FLAG([ dnl
+            --warn-error dnl
+            $7 dnl
+        ],ax_warn_scannerflags_variable)
+    ])
+
+    # Substitute the variables
+    AC_SUBST(ax_warn_scannerflags_variable)
+])dnl AX_COMPILER_FLAGS
diff --git a/m4/ax_compiler_flags_ldflags.m4 b/m4/ax_compiler_flags_ldflags.m4
new file mode 100644
index 0000000..ad845c6
--- /dev/null
+++ b/m4/ax_compiler_flags_ldflags.m4
@@ -0,0 +1,90 @@
+# =============================================================================
+#  http://www.gnu.org/software/autoconf-archive/ax_compiler_flags_ldflags.html
+# =============================================================================
+#
+# SYNOPSIS
+#
+#   AX_COMPILER_FLAGS_LDFLAGS([VARIABLE], [IS-RELEASE], [EXTRA-BASE-FLAGS], [EXTRA-MINIMUM-FLAGS], [EXTRA-YES-FLAGS], [EXTRA-MAXIMUM-FLAGS], [EXTRA-ERROR-FLAGS])
+#
+# DESCRIPTION
+#
+#   Add warning flags for the linker to VARIABLE, which defaults to
+#   WARN_LDFLAGS.  VARIABLE is AC_SUBST-ed by this macro, but must be
+#   manually added to the LDFLAGS variable for each target in the code base.
+#
+#   This macro depends on the environment set up by AX_COMPILER_FLAGS.
+#   Specifically, it uses the value of $ax_enable_compile_warnings to decide
+#   which flags to enable.
+#
+# LICENSE
+#
+#   Copyright (c) 2014, 2015 Philip Withnall <philip at tecnocode.co.uk>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.  This file is offered as-is, without any
+#   warranty.
+
+#serial 2
+
+AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[
+    AX_REQUIRE_DEFINED([AX_APPEND_COMPILE_FLAGS])
+    AX_REQUIRE_DEFINED([AX_APPEND_FLAG])
+    AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG])
+
+    # Variable names
+    m4_define(ax_warn_ldflags_variable,
+              [m4_normalize(ifelse([$1],,[WARN_LDFLAGS],[$1]))])
+
+    # Always pass -Werror=unknown-warning-option to get Clang to fail on bad
+    # flags, otherwise they are always appended to the warn_ldflags variable,
+    # and Clang warns on them for every compilation unit.
+    # If this is passed to GCC, it will explode, so the flag must be enabled
+    # conditionally.
+    AX_CHECK_COMPILE_FLAG([-Werror=unknown-warning-option],[
+        ax_compiler_flags_test="-Werror=unknown-warning-option"
+    ],[
+        ax_compiler_flags_test=""
+    ])
+
+    # Base flags
+    AX_APPEND_COMPILE_FLAGS([ dnl
+        -Wl,--no-as-needed dnl
+        $3 dnl
+    ],ax_warn_ldflags_variable,[$ax_compiler_flags_test])
+
+    AS_IF([test "$ax_enable_compile_warnings" != "no"],[
+        # "minimum" flags
+        AX_APPEND_COMPILE_FLAGS([$4],
+                                ax_warn_ldflags_variable,
+                                [$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" != "no" -a \
+                "$ax_enable_compile_warnings" != "minimum"],[
+        # "yes" flags
+        AX_APPEND_COMPILE_FLAGS([$5],
+                                ax_warn_ldflags_variable,
+                                [$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" = "maximum" -o \
+                "$ax_enable_compile_warnings" = "error"],[
+        # "maximum" flags
+        AX_APPEND_COMPILE_FLAGS([$6],
+                                ax_warn_ldflags_variable,
+                                [$ax_compiler_flags_test])
+    ])
+    AS_IF([test "$ax_enable_compile_warnings" = "error"],[
+        # "error" flags; -Werror has to be appended unconditionally because
+        # it’s not possible to test for
+        #
+        # suggest-attribute=format is disabled because it gives too many false
+        # positives
+        AX_APPEND_COMPILE_FLAGS([ dnl
+            -Wl,--fatal-warnings dnl
+            $7 dnl
+        ],ax_warn_ldflags_variable,[$ax_compiler_flags_test])
+    ])
+
+    # Substitute the variables
+    AC_SUBST(ax_warn_ldflags_variable)
+])dnl AX_COMPILER_FLAGS
diff --git a/m4/ax_generate_changelog.m4 b/m4/ax_generate_changelog.m4
new file mode 100644
index 0000000..a740955
--- /dev/null
+++ b/m4/ax_generate_changelog.m4
@@ -0,0 +1,99 @@
+# ===============================================================================
+#     http://www.gnu.org/software/autoconf-archive/ax_generate_changelog.html
+# ===============================================================================
+#
+# SYNOPSIS
+#
+#   AX_GENERATE_CHANGELOG()
+#
+# DESCRIPTION
+#
+#   Builds a rule for generating a ChangeLog file from version control system
+#   commit messages.  Currently, the only supported VCS is git, but support
+#   for others could be added in future.
+#
+#   Defines GENERATE_CHANGELOG_RULES which should be substituted in your
+#   Makefile.
+#
+#   Usage example:
+#
+#   configure.ac:
+#
+#     AX_GENERATE_CHANGELOG
+#
+#   Makefile.am:
+#
+#     @GENERATE_CHANGELOG_RULES@
+#     CHANGELOG_START = 0.2.3^
+#     dist-hook: dist-ChangeLog
+#
+#   ChangeLog (stub committed to VCS):
+#
+#     The ChangeLog is auto-generated when releasing.
+#     If you are seeing this, use 'git log' for a detailed list of changes.
+#
+#   This results in a "dist-ChangeLog" rule being added to the Makefile.
+#   When run, "dist-ChangeLog" will generate a ChangeLog in the
+#   $(top_distdir), using $(CHANGELOG_GIT_FLAGS) to format the output from
+#   "git log" being run in $(CHANGELOG_GIT_DIR).
+#
+#   Unless Automake is initialised with the 'foreign' option, a dummy
+#   ChangeLog file must be committed to VCS in $(top_srcdir), containing the
+#   text above (for example).  It will be substituted by the automatically
+#   generated ChangeLog during "make dist".
+#
+# LICENSE
+#
+#   Copyright (c) 2015 David King <amigadave at amigadave.com>
+#   Copyright (c) 2015 Philip Withnall <philip.withnall at collabora.co.uk>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.  This file is offered as-is, without any
+#   warranty.
+
+#serial 1
+
+AC_DEFUN([AX_GENERATE_CHANGELOG],[
+	# Find git, defaulting to the 'missing' script so the user gets a nice
+	# message if git is missing, rather than a plain 'command not found'.
+	AC_PATH_PROG([GIT],[git],[${am_missing_run}git])
+	AC_SUBST([GIT])
+
+	# Build the ChangeLog rules.
+	m4_pattern_allow([AM_V_GEN])
+GENERATE_CHANGELOG_RULES='
+# Generate ChangeLog
+#
+# Optional:
+#  - CHANGELOG_START: git commit ID or tag name to output changelogs from
+#    (exclusive). (Default: include all commits)
+#  - CHANGELOG_GIT_FLAGS: General flags to pass to git-log when generating the
+#    ChangeLog. (Default: various)
+#  - CHANGELOG_GIT_DIR: .git directory to use. (Default: $(top_srcdir)/.git)
+
+# git-specific
+CHANGELOG_GIT_FLAGS ?= --stat -M -C --name-status --no-color
+CHANGELOG_GIT_DIR ?= $(top_srcdir)/.git
+
+ifeq ($(CHANGELOG_START),)
+CHANGELOG_GIT_RANGE = 
+else
+CHANGELOG_GIT_RANGE = $(CHANGELOG_START)..
+endif
+
+# Generate a ChangeLog in $(top_distdir)
+dist-ChangeLog:
+	$(AM_V_GEN)if $(GIT) \
+		--git-dir=$(CHANGELOG_GIT_DIR) --work-tree=$(top_srcdir) log \
+		$(CHANGELOG_GIT_FLAGS) $(CHANGELOG_GIT_RANGE) \
+		| fmt --split-only >.ChangeLog.tmp; \
+	then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \
+	else rm -f .ChangeLog.tmp; exit 1; fi
+
+.PHONY: dist-ChangeLog
+'
+
+	AC_SUBST([GENERATE_CHANGELOG_RULES])
+	m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([GENERATE_CHANGELOG_RULES])])
+])
diff --git a/m4/ax_is_release.m4 b/m4/ax_is_release.m4
new file mode 100644
index 0000000..c495176
--- /dev/null
+++ b/m4/ax_is_release.m4
@@ -0,0 +1,60 @@
+# ===================================================================
+#   http://www.gnu.org/software/autoconf-archive/ax_is_release.html
+# ===================================================================
+#
+# SYNOPSIS
+#
+#   AX_IS_RELEASE(POLICY)
+#
+# DESCRIPTION
+#
+#   Determine whether the code is being configured as a release, or from git.
+#   Set the ax_is_release variable to 'yes' or 'no'.
+#
+#   If building a release version, it is recommended that the configure script
+#   disable compiler errors and debug features, by conditionalising them on
+#   the ax_is_release variable.  If building from git, these features should
+#   be enabled.
+#
+#   The POLICY parameter specifies how ax_is_release is determined. It can
+#   take the following values:
+#
+#    * git-directory:  ax_is_release will be 'no' if a '.git' directory exists
+#    * minor-version:  ax_is_release will be 'no' if the minor version number
+#                      in $PACKAGE_VERSION is odd; this assumes
+#                      $PACKAGE_VERSION follows the 'major.minor.micro' scheme
+#    * always:         ax_is_release will always be 'yes'
+#    * never:          ax_is_release will always be 'no'
+#
+#   Other policies may be added in future.
+#
+# LICENSE
+#
+#   Copyright (c) 2015 Philip Withnall <philip at tecnocode.co.uk>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved.
+
+#serial 1
+
+AC_DEFUN([AX_IS_RELEASE],[
+    AC_BEFORE([AC_INIT],[$0])
+
+    m4_case([$1],
+      [git-directory],[
+        # $is_release = (.git directory does not exist)
+        AS_IF([test -d .git],[ax_is_release=no],[ax_is_release=yes])
+      ],
+      [minor-version],[
+        # $is_release = ($minor_version is even)
+        minor_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'`
+        AS_IF([test "$(( $minor_version % 2 ))" -ne 0],
+              [ax_is_release=no],[ax_is_release=yes])
+      ],
+      [always],[ax_is_release=yes],
+      [never],[ax_is_release=no],
+      [
+        AC_MSG_ERROR([Invalid policy. Valid policies: git-directory, minor-version.])
+      ])
+])
diff --git a/m4/ax_require_defined.m4 b/m4/ax_require_defined.m4
new file mode 100644
index 0000000..cae1111
--- /dev/null
+++ b/m4/ax_require_defined.m4
@@ -0,0 +1,37 @@
+# ===========================================================================
+#    http://www.gnu.org/software/autoconf-archive/ax_require_defined.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_REQUIRE_DEFINED(MACRO)
+#
+# DESCRIPTION
+#
+#   AX_REQUIRE_DEFINED is a simple helper for making sure other macros have
+#   been defined and thus are available for use.  This avoids random issues
+#   where a macro isn't expanded.  Instead the configure script emits a
+#   non-fatal:
+#
+#     ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found
+#
+#   It's like AC_REQUIRE except it doesn't expand the required macro.
+#
+#   Here's an example:
+#
+#     AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])
+#
+# LICENSE
+#
+#   Copyright (c) 2014 Mike Frysinger <vapier at gentoo.org>
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 1
+
+AC_DEFUN([AX_REQUIRE_DEFINED], [dnl
+  m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])])
+])dnl AX_REQUIRE_DEFINED
diff --git a/po/es.po b/po/es.po
index 57b07ad..441ea82 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,15 +6,15 @@
 # Francisco Javier F. Serrador <serrador at tecknolabs.com> 2005.
 # Nicolás Satragno <nsatragno at gnome.org>, 2012, 2013.
 # Milagros Alessandra Infante Montero <maim92 at gmail.com>, 2012, 2013.
-# Daniel Mustieles <daniel.mustieles at gmail.com>, 2012, 2013, 2014.
+# Daniel Mustieles <daniel.mustieles at gmail.com>, 2012, 2013, 2014, 2015.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: easytag-1.99.11\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
 "product=easytag&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-06-17 15:13+0000\n"
-"PO-Revision-Date: 2014-06-17 18:58+0200\n"
+"POT-Creation-Date: 2015-01-12 16:15+0000\n"
+"PO-Revision-Date: 2015-01-12 18:37+0100\n"
 "Last-Translator: Daniel Mustieles <daniel.mustieles at gmail.com>\n"
 "Language-Team: Español; Castellano <gnome-es-list at gnome.org>\n"
 "Language: \n"
@@ -24,7 +24,19 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Gtranslator 2.91.6\n"
 
-#: ../data/easytag.appdata.xml.in.h:1
+#. Name and summary taken from the desktop file.
+#: ../data/easytag.appdata.xml.in.h:2 ../data/easytag.desktop.in.h:1
+#| msgid "Open in EasyTAG"
+msgid "EasyTAG"
+msgstr "EasyTAG"
+
+#: ../data/easytag.appdata.xml.in.h:3 ../data/easytag.desktop.in.h:3
+#, fuzzy
+#| msgid "Edit sound file metadata"
+msgid "Edit audio file metadata"
+msgstr "Editar los metadatos de archivos de sonido"
+
+#: ../data/easytag.appdata.xml.in.h:4
 msgid ""
 "View and edit tags for MP3, MP2, MP4/AAC, FLAC, Ogg Opus, Ogg Speex, Ogg "
 "Vorbis, MusePack, Monkey's Audio and WavPack files."
@@ -32,7 +44,7 @@ msgstr ""
 "Ver y editar etiquetas de archivos MP3, MP2, MP4/AAC, FLAC, Ogg Opus, Ogg "
 "Speex, Ogg Vorbis, MusePack, Monkey's Audio y WavPack "
 
-#: ../data/easytag.appdata.xml.in.h:2
+#: ../data/easytag.appdata.xml.in.h:5
 msgid ""
 "Look up albums in online databases, bulk edit tags, create playlists and "
 "rename a collection of files."
@@ -40,7 +52,7 @@ msgstr ""
 "Buscar álbumes el bases de datos en línea, editar etiquetas en masa, crear "
 "listas de reproducción y renombrar una colección de archivos."
 
-#: ../data/easytag.appdata.xml.in.h:3
+#: ../data/easytag.appdata.xml.in.h:6
 msgid ""
 "A simple and nice GTK+ interface makes tagging easier under GNU/Linux and "
 "Windows."
@@ -48,4890 +60,6414 @@ msgstr ""
 "La simple y bonita interfaz de GTK+ hace que sea más fácil etiquetar en GNU/"
 "Linux y Windows."
 
-#: ../data/easytag.desktop.in.h:1
-msgid "Sound File Metadata Editor"
-msgstr "Editor de metadatos de archivos de sonido"
-
 #: ../data/easytag.desktop.in.h:2
-msgid "Edit sound file metadata"
-msgstr "Editar los metadatos de archivos de sonido"
+#, fuzzy
+#| msgid "Sound File Metadata Editor"
+msgid "Audio File Metadata Editor"
+msgstr "Editor de metadatos de archivos de sonido"
 
 #. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
-#: ../data/easytag.desktop.in.h:4
-msgid "mp3;tag;audio;"
-msgstr "mp3;etiqueta;sonido;"
-
-#: ../nautilus-extension/nautilus-easytag.c:229
-msgid "Open in EasyTAG"
-msgstr "Abierto en EasyTAG"
-
-#: ../nautilus-extension/nautilus-easytag.c:230
-#| msgid "Clear the current selection"
-msgid "Open the current selected directory in EasyTAG"
-msgstr "Abre la carpeta seleccionada actualmente en EasyTAG"
+#: ../data/easytag.desktop.in.h:5
+#| msgid "mp3;tag;audio;"
+msgid "mp3;tag;audio;music;"
+msgstr "mp3;etiqueta;sonido;música;"
 
+#: ../data/easytag-nautilus.metainfo.xml.in.h:1
 #: ../nautilus-extension/nautilus-easytag.c:247
 msgid "Open with EasyTAG"
 msgstr "Abrir con EasyTAG"
 
-#: ../nautilus-extension/nautilus-easytag.c:248
-#| msgid "Scan selected files"
-msgid "Open selected files in EasyTAG"
-msgstr "Abrir los archivos seleccionados en EasyTAG"
-
-#. Translators: put your own name here to appear in the about dialog.
-#: ../src/about.c:89
-msgid "translator-credits"
+#: ../data/easytag-nautilus.metainfo.xml.in.h:2
+msgid "Open directories and audio files with EasyTAG using the context menu"
 msgstr ""
-"Daniel Mustieles <daniel.mustieles at gmail.com>, 2012 - 2014\n"
-"Nicolás Satragno <nsatragno at gnome.org>, 2012, 2013\n"
-"Milagros Alessandra Infante Montero <maim92 at gmail.com>, 2012, 2013"
 
-#: ../src/about.c:99
-msgid "View and edit tags in audio files"
-msgstr "Ver y editar etiquetas en archivos de sonido"
+#: ../data/browser.ui.h:1
+msgid "Browse Directory With"
+msgstr "Explorar carpeta con"
 
-#: ../src/ape_tag.c:61 ../src/id3v24_tag.c:113 ../src/mp4_header.cc:45
-#: ../src/mp4_header.cc:58 ../src/mp4_tag.cc:69 ../src/mp4_tag.cc:85
-#: ../src/mp4_tag.cc:90 ../src/mp4_tag.cc:262 ../src/mp4_tag.cc:278
-#: ../src/mp4_tag.cc:283
-#, c-format
-msgid "Error while opening file: '%s' (%s)."
-msgstr "Error al abrir archivo: «%s» (%s)."
+#: ../data/browser.ui.h:2
+msgid "Run Program"
+msgstr "Ejecutar programa"
 
-#: ../src/application.c:32
-msgid "Print the version and exit"
-msgstr "Imprimir la versión y salir"
+#: ../data/browser.ui.h:3
+#, fuzzy
+#| msgid ""
+#| "Enter the program to run. It will receive the current directory as "
+#| "parameter."
+msgid ""
+"Enter the program to run; it will receive the current directory as a "
+"parameter"
+msgstr ""
+"Introduzca el programa que ejecutar. Recibirá la carpeta actual como "
+"parámetro."
 
-#: ../src/application.c:84
-#, c-format
-msgid "Website: %s"
-msgstr "Sitio web: %s"
+#: ../data/browser.ui.h:4 ../src/browser.c:3780 ../src/tag_area.c:1489
+msgid "_Open"
+msgstr "_Abrir"
 
-#: ../src/application.c:93
-msgid "- Tag and rename audio files"
-msgstr "- Etiquetar y renombrar archivos de sonido"
+#: ../data/browser.ui.h:5 ../data/tag_area.ui.h:3
+#: ../src/application_window.c:324 ../src/application_window.c:338
+#: ../src/application_window.c:2689 ../src/application_window.c:2727
+#: ../src/browser.c:864 ../src/browser.c:3779 ../src/cddb_dialog.c:2297
+#: ../src/easytag.c:474 ../src/easytag.c:481 ../src/easytag.c:606
+#: ../src/playlist_dialog.c:658 ../src/tag_area.c:1487 ../src/tag_area.c:1849
+msgid "_Cancel"
+msgstr "_Cancelar"
 
-#.
-#. * Main Menu Actions
-#.
-#: ../src/bar.c:155
-msgid "_File"
-msgstr "_Archivo"
+#: ../data/browser.ui.h:6
+msgid "_Execute"
+msgstr "_Ejecutar"
 
-#: ../src/bar.c:156
-msgid "Sort List by Tag"
-msgstr "Ordenar lista por etiquetas"
+#: ../data/browser.ui.h:7
+msgid "Open Files With"
+msgstr "Abrir archivos con"
 
-#: ../src/bar.c:159
-msgid "Sort List by Property"
-msgstr "Ordenar lista por propiedad"
+#: ../data/browser.ui.h:8
+#, fuzzy
+#| msgid ""
+#| "Enter the program to run. It will receive the current file as parameter."
+msgid ""
+"Enter the program to run; it will receive the current files as a parameter"
+msgstr ""
+"Introduzca el programa que ejecutar. Recibirá el archivo actual como "
+"parámetro."
 
-#: ../src/bar.c:160
-msgid "Ascending by filename"
-msgstr "Ascendente por nombre de archivo"
+#. Only directories changed
+#: ../data/browser.ui.h:9 ../data/menus.ui.h:99 ../src/easytag.c:572
+msgid "Rename Directory"
+msgstr "Renombrar la carpeta"
 
-#: ../src/bar.c:161
-msgid "Descending by filename"
-msgstr "Descendente por nombre de archivo"
+#: ../data/browser.ui.h:10
+#, fuzzy
+#| msgid "User Name:"
+msgid "Literal name:"
+msgstr "Nombre de usuario:"
 
-#: ../src/bar.c:162
-msgid "Ascending by creation date"
-msgstr "Ascendente por fecha de creación"
+#: ../data/browser.ui.h:11 ../data/playlist_dialog.ui.h:2
+msgid "Use mask:"
+msgstr "Usar máscara:"
 
-#: ../src/bar.c:163
-msgid "Descending by creation date"
-msgstr "Descendente por fecha de creación"
+#: ../data/browser.ui.h:12 ../data/org.gnome.EasyTAG.gschema.xml.h:188
+#, fuzzy
+#| msgid "Unable to create setting directories"
+msgid "Whether to use a mask when renaming directories"
+msgstr "No se puede crear la carpeta de configuraciones"
 
-#: ../src/bar.c:164
-msgid "Ascending by track number"
-msgstr "Ascendente por número de pista"
+#: ../data/browser.ui.h:13
+#, fuzzy
+#| msgid ""
+#| "Select or type in a mask using codes (see Legend in Scanner Window) to "
+#| "rename the directory from tag fields."
+msgid ""
+"Select or type in a mask using codes (see Legend in Scanner Window) to "
+"rename the directory from tag fields"
+msgstr ""
+"Seleccione o introduzca una máscara usando códigos (ver leyenda en la "
+"ventana del analizador) para renombrar la carpeta desde los campos de "
+"etiquetas."
 
-#: ../src/bar.c:165
-msgid "Descending by track number"
-msgstr "Descendente por número de pista"
+#: ../data/browser.ui.h:14
+msgid "Rename directory preview"
+msgstr "Previsualización del renombrado de carpeta"
 
-#: ../src/bar.c:166
-msgid "Ascending by title"
-msgstr "Ascendente por título"
+#: ../data/browser.ui.h:15
+#| msgid "Rename File"
+msgid "_Rename"
+msgstr "_Renombrar"
 
-#: ../src/bar.c:167
-msgid "Descending by title"
-msgstr "Descendente por título"
+#: ../data/browser.ui.h:16
+#, fuzzy
+#| msgid "Enter a directory to browse."
+msgid "Choose a directory to show in the browser"
+msgstr "Introducir una carpeta que examinar."
 
-#: ../src/bar.c:168
-msgid "Ascending by artist"
-msgstr "Ascendente por artista"
+#: ../data/browser.ui.h:17 ../src/application.c:130
+msgid "Select a directory to browse"
+msgstr "Seleccione una carpeta para examinar"
 
-#: ../src/bar.c:169
-msgid "Descending by artist"
-msgstr "Descendente por artista"
+#: ../data/browser.ui.h:18 ../src/easytag.c:1078
+msgid "No files"
+msgstr "No hay archivos"
 
-#: ../src/bar.c:170
-msgid "Ascending by album artist"
-msgstr "Ascendente por artista del álbum"
+#: ../data/browser.ui.h:19 ../data/cddb_dialog.ui.h:10
+#: ../data/preferences_dialog.ui.h:63 ../data/scan_dialog.ui.h:57
+#: ../data/search_dialog.ui.h:13
+msgid "Artist"
+msgstr "Artista"
 
-#: ../src/bar.c:171
-msgid "Descending by album artist"
-msgstr "Descendente por artista del álbum"
+#: ../data/browser.ui.h:20
+msgid "# Albums"
+msgstr "N.º de álbumes"
 
-#: ../src/bar.c:172
-msgid "Ascending by album"
-msgstr "Ascendente por álbum"
+#: ../data/browser.ui.h:21
+msgid "# Files"
+msgstr "N.º de archivos"
 
-#: ../src/bar.c:173
-msgid "Descending by album"
-msgstr "Descendente por álbum"
+#: ../data/browser.ui.h:22 ../data/cddb_dialog.ui.h:11
+#: ../data/preferences_dialog.ui.h:65 ../data/scan_dialog.ui.h:60
+#: ../data/search_dialog.ui.h:15
+msgid "Album"
+msgstr "Álbum"
 
-#: ../src/bar.c:174
-msgid "Ascending by year"
-msgstr "Ascendente por año"
+#: ../data/browser.ui.h:23 ../data/cddb_dialog.ui.h:35
+#: ../data/playlist_dialog.ui.h:1 ../data/scan_dialog.ui.h:53
+#: ../data/search_dialog.ui.h:11
+msgid "Filename"
+msgstr "Nombre de archivo"
 
-#: ../src/bar.c:175
-msgid "Descending by year"
-msgstr "Descendente por año"
+#: ../data/browser.ui.h:24 ../data/cddb_dialog.ui.h:36
+#: ../data/preferences_dialog.ui.h:61 ../data/scan_dialog.ui.h:55
+#: ../data/search_dialog.ui.h:12
+msgid "Title"
+msgstr "Título"
 
-#: ../src/bar.c:176
-msgid "Ascending by genre"
-msgstr "Ascendente por género"
+#: ../data/browser.ui.h:25 ../data/scan_dialog.ui.h:59
+#: ../data/search_dialog.ui.h:14
+msgid "Album Artist"
+msgstr "Artista del álbum"
 
-#: ../src/bar.c:177
-msgid "Descending by genre"
-msgstr "Descendente por género"
+#: ../data/browser.ui.h:26 ../data/cddb_dialog.ui.h:37
+#: ../data/search_dialog.ui.h:17
+msgid "Year"
+msgstr "Año"
 
-#: ../src/bar.c:178
-msgid "Ascending by comment"
-msgstr "Ascendente por comentario"
+#: ../data/browser.ui.h:27
+msgid "Disc"
+msgstr "Disco"
 
-#: ../src/bar.c:179
-msgid "Descending by comment"
-msgstr "Descendente por comentario"
+#: ../data/browser.ui.h:28 ../data/search_dialog.ui.h:18
+msgid "Track"
+msgstr "Pista"
 
-#: ../src/bar.c:180
-msgid "Ascending by composer"
-msgstr "Ascendente por compositor"
+#: ../data/browser.ui.h:29 ../data/cddb_dialog.ui.h:40
+#: ../data/preferences_dialog.ui.h:67 ../data/scan_dialog.ui.h:62
+#: ../data/search_dialog.ui.h:19
+msgid "Genre"
+msgstr "Género"
 
-#: ../src/bar.c:181
-msgid "Descending by composer"
-msgstr "Descendente por compositor"
+#: ../data/browser.ui.h:30 ../data/preferences_dialog.ui.h:69
+#: ../data/scan_dialog.ui.h:64 ../data/search_dialog.ui.h:20
+msgid "Comment"
+msgstr "Comentario"
 
-#: ../src/bar.c:182
-msgid "Ascending by original artist"
-msgstr "Ascendente por artista original"
+#: ../data/browser.ui.h:31 ../data/preferences_dialog.ui.h:71
+#: ../data/scan_dialog.ui.h:66 ../data/search_dialog.ui.h:21
+#: ../src/picture.c:212
+msgid "Composer"
+msgstr "Compositor"
 
-#: ../src/bar.c:183
-msgid "Descending by original artist"
-msgstr "Descendente por artista original"
+#: ../data/browser.ui.h:32 ../data/search_dialog.ui.h:22
+msgid "Original Artist"
+msgstr "Artista original"
 
-#: ../src/bar.c:184
-msgid "Ascending by copyright"
-msgstr "Ascendente por copyright"
+#: ../data/browser.ui.h:33 ../data/scan_dialog.ui.h:70
+#: ../data/search_dialog.ui.h:23
+msgid "Copyright"
+msgstr "Copyright"
 
-#: ../src/bar.c:185
-msgid "Descending by copyright"
-msgstr "Descendente por copyright"
+#: ../data/browser.ui.h:34 ../data/scan_dialog.ui.h:72
+#: ../data/search_dialog.ui.h:24
+msgid "URL"
+msgstr "URL"
 
-#: ../src/bar.c:186
-msgid "Ascending by URL"
-msgstr "Ascendente por URL"
+#: ../data/browser.ui.h:35 ../data/scan_dialog.ui.h:74
+#: ../data/search_dialog.ui.h:25
+msgid "Encoded By"
+msgstr "Codificado por"
 
-#: ../src/bar.c:187
-msgid "Descending by URL"
-msgstr "Descendente por URL"
+#: ../data/cddb_dialog.ui.h:1
+#| msgid "Search:"
+msgid "Search"
+msgstr "Buscar"
 
-#. Translators: the encoder name is supposed to be the name of a person
-#. * or organisation, but can sometimes be the name of an application.
-#: ../src/bar.c:190
-msgid "Ascending by encoder name"
-msgstr "Ascendente por nombre de codificador"
+#: ../data/cddb_dialog.ui.h:2
+#, fuzzy
+#| msgid "Enter the words to search (separated by a space or '+')"
+msgid "Enter the words to search (separated by a space or ‘+’)"
+msgstr "Introduzca las palabras que buscar (separadas por un espacio o «+»)"
 
-#. Translators: the encoder name is supposed to be the name of a person
-#. * or organisation, but can sometimes be the name of an application.
-#: ../src/bar.c:193
-msgid "Descending by encoder name"
-msgstr "Descendente por nombre de codificador"
+#: ../data/cddb_dialog.ui.h:3
+#| msgid "Search:"
+msgid "_Search"
+msgstr "_Buscar"
 
-#: ../src/bar.c:194
-msgid "Ascending by file type"
-msgstr "Ascendente por tipo de archivo"
+#: ../data/cddb_dialog.ui.h:4
+#, fuzzy
+#| msgid "Scan selected files"
+msgid "Search Using Selected _Files"
+msgstr "Analizar archivos seleccionados"
 
-#: ../src/bar.c:195
-msgid "Descending by file type"
-msgstr "Descendente por tipo de archivo"
+#: ../data/cddb_dialog.ui.h:5
+#, fuzzy
+#| msgid ""
+#| "Request automatically the CDDB using the selected files (the order is "
+#| "important) to generate the CddbID"
+msgid ""
+"Generate the CDDB disc ID using the selected files (the order is important)"
+msgstr ""
+"Solicitar automáticamente la CDDB usando los archivos seleccionados (el "
+"orden es importante) para generar el CddbID"
 
-#: ../src/bar.c:196
-msgid "Ascending by file size"
-msgstr "Ascendente por tamaño de archivo"
+#: ../data/cddb_dialog.ui.h:6 ../data/toolbar.ui.h:31
+msgid "Stop"
+msgstr "Detener"
 
-#: ../src/bar.c:197
-msgid "Descending by file size"
-msgstr "Descendente por tamaño de archivo"
+#: ../data/cddb_dialog.ui.h:7
+msgid "Stop the search"
+msgstr "Detener la búsqueda"
 
-#: ../src/bar.c:198
-msgid "Ascending by duration"
-msgstr "Ascendente por duración"
+#: ../data/cddb_dialog.ui.h:8
+#, fuzzy
+#| msgid "Manual Search"
+msgid "Manual Search Options"
+msgstr "Búsqueda manual"
 
-#: ../src/bar.c:199
-msgid "Descending by duration"
-msgstr "Descendente por duración"
+#: ../data/cddb_dialog.ui.h:9
+#, fuzzy
+#| msgid "CDDB Search Files…"
+msgid "Search Fields"
+msgstr "Buscar archivos en CDDB…"
 
-#: ../src/bar.c:200
-msgid "Ascending by bitrate"
-msgstr "Ascendente por tasa de bits"
+#: ../data/cddb_dialog.ui.h:12
+msgid "Track Name"
+msgstr "Nombre de pista"
 
-#: ../src/bar.c:201
-msgid "Descending by bitrate"
-msgstr "Descendente por tasa de bits"
+#: ../data/cddb_dialog.ui.h:13 ../data/preferences_dialog.ui.h:91
+#: ../src/picture.c:190
+msgid "Other"
+msgstr "Otro"
 
-#: ../src/bar.c:202
-msgid "Ascending by samplerate"
-msgstr "Ascendente por tasa de muestreo"
+#: ../data/cddb_dialog.ui.h:14
+msgid "Categories"
+msgstr "Categorías"
 
-#: ../src/bar.c:203
-msgid "Descending by samplerate"
-msgstr "Descendente por tasa de muestreo"
+#: ../data/cddb_dialog.ui.h:15
+msgid "Blues"
+msgstr "Blues"
 
-#: ../src/bar.c:205
-msgid "Open Files With…"
-msgstr "Abrir archivo con…"
+#: ../data/cddb_dialog.ui.h:16
+msgid "Classical"
+msgstr "Clásico"
 
-#: ../src/bar.c:206
-msgid "Run a command on the selected files"
-msgstr "Ejecutar un comando en los archivos seleccionados"
+#: ../data/cddb_dialog.ui.h:17
+msgid "Country"
+msgstr "Country"
 
-#: ../src/bar.c:209
-msgid "Select all"
-msgstr "Seleccionar todo"
+#: ../data/cddb_dialog.ui.h:18
+msgid "Folk"
+msgstr "Folk"
 
-#: ../src/bar.c:210
-msgid "Unselect All"
-msgstr "Deseleccionar todo"
+#: ../data/cddb_dialog.ui.h:19
+msgid "Jazz"
+msgstr "Jazz"
 
-#: ../src/bar.c:211
-msgid "Clear the current selection"
-msgstr "Limpiar la selección actual"
+#: ../data/cddb_dialog.ui.h:20
+msgid "Misc."
+msgstr "Varios"
 
-#: ../src/bar.c:214
-msgid "Invert File Selection"
-msgstr "Invertir la Selección de Archivos"
+#: ../data/cddb_dialog.ui.h:21
+msgid "New Age"
+msgstr "New Age"
 
-#: ../src/bar.c:215
-msgid "Invert file selection"
-msgstr "Invertir la selección de archivos"
+#: ../data/cddb_dialog.ui.h:22
+msgid "Reggae"
+msgstr "Reggae"
 
-#: ../src/bar.c:217
-msgid "Delete Files"
-msgstr "Eliminar archivos"
+#: ../data/cddb_dialog.ui.h:23
+msgid "Rock"
+msgstr "Rock"
 
-#: ../src/bar.c:217
-msgid "Delete files"
-msgstr "Eliminar archivos"
+#: ../data/cddb_dialog.ui.h:24
+msgid "Soundtrack"
+msgstr "Banda sonora"
 
-#: ../src/bar.c:218
-msgid "_First File"
-msgstr "_Primer archivo"
+#: ../data/cddb_dialog.ui.h:25
+#| msgid "Results:"
+msgid "Results"
+msgstr "Resultados"
 
-#: ../src/bar.c:219
-msgid "First file"
-msgstr "Primer archivo"
+#: ../data/cddb_dialog.ui.h:26
+msgid "Artist / Album"
+msgstr "Artista / Álbum"
 
-#: ../src/bar.c:220
-msgid "_Previous File"
-msgstr "Archivo _anterior"
+#: ../data/cddb_dialog.ui.h:27
+msgid "Category"
+msgstr "Categoría"
 
-#: ../src/bar.c:220
-msgid "Previous file"
-msgstr "Archivo anterior"
+#: ../data/cddb_dialog.ui.h:28
+#, fuzzy
+#| msgid ""
+#| "Select lines to 'apply' to your files list. All lines will be processed "
+#| "if no line is selected.\n"
+#| "You can also reorder lines in this list before using 'apply' button."
+msgid ""
+"Select lines from which tags will be applied to your files list. All lines "
+"will be processed if no line is selected.\\nYou can also reorder lines in "
+"this list before using the ‘apply’ button"
+msgstr ""
+"Seleccione las líneas que «aplicar» a su lista de archivos. Se procesarán "
+"todas si no selecciona ninguna.\n"
+"Puede reordenar también las líneas en esta lista antes de presionar el botón "
+"«aplicar»."
 
-#: ../src/bar.c:221
-msgid "_Next File"
-msgstr "_Siguiente archivo"
+#: ../data/cddb_dialog.ui.h:29
+msgid "#"
+msgstr "#"
 
-#: ../src/bar.c:221
-msgid "Next file"
-msgstr "Siguiente archivo"
-
-#: ../src/bar.c:222
-msgid "_Last File"
-msgstr "_Último archivo"
-
-#: ../src/bar.c:223
-msgid "Last file"
-msgstr "Último archivo"
-
-#: ../src/bar.c:224
-msgid "S_can Files"
-msgstr "A_nalizar archivos"
+#: ../data/cddb_dialog.ui.h:30
+msgid "Duration"
+msgstr "Duración"
 
-#: ../src/bar.c:225 ../src/scan_dialog.c:1818
-msgid "Scan selected files"
-msgstr "Analizar archivos seleccionados"
+#: ../data/cddb_dialog.ui.h:31
+msgid "Select all lines"
+msgstr "Seleccionar todas las líneas"
 
-#: ../src/bar.c:226
-msgid "_Remove Tags"
-msgstr "_Quitar etiquetas"
+#: ../data/cddb_dialog.ui.h:32
+#, fuzzy
+#| msgid "Invert lines selection"
+msgid "Invert line selection"
+msgstr "Invertir selección de líneas"
 
-#: ../src/bar.c:227
-msgid "Remove tags"
-msgstr "Quitar etiquetas"
+#: ../data/cddb_dialog.ui.h:33
+msgid "Unselect all lines"
+msgstr "Deseleccionar todas las líneas"
 
-#: ../src/bar.c:228
-msgid "_Undo Last Files Changes"
-msgstr "_Deshacer los últimos cambios de los archivos"
+#: ../data/cddb_dialog.ui.h:34 ../data/menus.ui.h:24
+#| msgid "Fill Tag"
+msgid "Fill Tags"
+msgstr "_Rellenar etiquetas"
 
-#: ../src/bar.c:229
-msgid "Undo last files changes"
-msgstr "Deshacer los últimos cambios de los archivos"
+#: ../data/cddb_dialog.ui.h:38
+msgid "Track #"
+msgstr "N.º de pista"
 
-#: ../src/bar.c:231
-msgid "R_edo Last Files Changes"
-msgstr "R_ehacer últimos cambios de los archivos"
+#: ../data/cddb_dialog.ui.h:39
+msgid "# Tracks"
+msgstr "N.º de pistas"
 
-#: ../src/bar.c:232
-msgid "Redo last files changes"
-msgstr "Rehacer los último cambios de los archivos"
+#: ../data/cddb_dialog.ui.h:41 ../data/load_files_dialog.ui.h:13
+msgid "Run the current scanner for each file"
+msgstr "Ejecutar el analizador actual para cada archivo"
 
-#: ../src/bar.c:234
-msgid "_Save Files"
-msgstr "_Guardar archivos"
+#: ../data/cddb_dialog.ui.h:42 ../data/org.gnome.EasyTAG.gschema.xml.h:38
+msgid ""
+"Whether to run the tag scanner, with the current settings, on the CDDB "
+"results"
+msgstr ""
 
-#: ../src/bar.c:235
-msgid "Save changes to selected files"
-msgstr "Guardar cambios en los archivos seleccionados"
+#: ../data/cddb_dialog.ui.h:43
+msgid "Match lines with the Levenshtein algorithm"
+msgstr "Líneas coincidentes con el algoritmo Levenshtein"
 
-#: ../src/bar.c:237
-msgid "_Force Save Files"
-msgstr "_Forzar guardado de archivos"
+#: ../data/cddb_dialog.ui.h:44 ../data/preferences_dialog.ui.h:148
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:24
+msgid "Whether to use the DLM algorithm to match CDDB results to files"
+msgstr ""
 
-#: ../src/bar.c:238
-msgid "Force saving files"
-msgstr "Forzar el guardado de archivos"
+#: ../data/cddb_dialog.ui.h:45 ../data/search_dialog.ui.h:10
+#: ../src/load_files_dialog.c:895 ../src/preferences_dialog.c:291
+#: ../src/scan_dialog.c:2313
+msgid "_Close"
+msgstr "_Cerrar"
+
+#: ../data/cddb_dialog.ui.h:46 ../src/cddb_dialog.c:2298
+#: ../src/load_files_dialog.c:896
+msgid "_Apply"
+msgstr "_Aplicar"
+
+#: ../data/cddb_dialog.ui.h:47
+#, fuzzy
+#| msgid "Load the selected lines or all lines (if no line selected)."
+msgid "Load the selected lines or all lines (if no lines are selected)"
+msgstr "Leer las líneas seleccionadas o todas (si ninguna está seleccionada)."
 
-#: ../src/bar.c:240
-msgid "Undo Last Changes"
-msgstr "Deshacer últimos cambios"
+#. Default values are MPEG data.
+#: ../data/file_area.ui.h:1 ../src/file_area.c:193 ../src/file.c:1354
+msgid "File"
+msgstr "Archivo"
 
-#: ../src/bar.c:240
-msgid "Undo last changes"
-msgstr "Deshacer los últimos cambios"
+#: ../data/file_area.ui.h:2
+msgid "0/0:"
+msgstr "0/0:"
 
-#: ../src/bar.c:241
-msgid "Redo Last Changes"
-msgstr "Rehacer últimos cambios"
+#. Nothing to display
+#. Version changed to encoder version
+#. Encoder version
+#: ../data/file_area.ui.h:3 ../src/file_area.c:194
+#: ../src/tags/flac_header.c:175 ../src/tags/monkeyaudio_header.c:88
+#: ../src/tags/musepack_header.c:92 ../src/tags/ogg_header.c:398
+#: ../src/tags/opus_header.c:223 ../src/tags/wavpack_header.c:141
+msgid "Encoder:"
+msgstr "Codificador:"
 
-#: ../src/bar.c:241
-msgid "Redo last changes"
-msgstr "Rehacer los últimos cambios"
+#: ../data/file_area.ui.h:4
+msgid "Bitrate:"
+msgstr "Tasa de bits:"
 
-#: ../src/bar.c:242
-msgid "_Quit"
-msgstr "_Salir"
+#: ../data/file_area.ui.h:5
+msgid "Sample rate:"
+msgstr "Frecuencia de muestreo:"
 
-#: ../src/bar.c:242 ../src/easytag.c:2424 ../src/easytag.c:4559
-#: ../src/easytag.c:4591
-msgid "Quit"
-msgstr "Salir"
+#. Mode
+#: ../data/file_area.ui.h:6 ../src/file_area.c:198
+#: ../src/tags/mpeg_header.c:247
+msgid "Mode:"
+msgstr "Modo:"
 
-#: ../src/bar.c:245
-msgid "_Browser"
-msgstr "_Explorador"
+#: ../data/file_area.ui.h:7
+msgid "Size:"
+msgstr "Tamaño:"
 
-#: ../src/bar.c:246
-msgid "_Home Directory"
-msgstr "Carpeta _personal"
+#: ../data/file_area.ui.h:8
+msgid "Duration:"
+msgstr "Duración:"
 
-#: ../src/bar.c:247
-msgid "Go to home directory"
-msgstr "Ir a la carpeta personal"
+#: ../data/log_area.ui.h:1 ../data/preferences_dialog.ui.h:14
+msgid "Log"
+msgstr "Registro"
 
-#: ../src/bar.c:249
-msgid "Desktop Directory"
-msgstr "Carpeta Escritorio"
+#: ../data/load_files_dialog.ui.h:1
+msgid "File:"
+msgstr "Archivo:"
 
-#: ../src/bar.c:250
-msgid "Go to desktop directory"
-msgstr "Ir a la carpeta del escritorio"
+#: ../data/load_files_dialog.ui.h:2
+#, fuzzy
+#| msgid "Content of Text File"
+msgid "Choose a Text File"
+msgstr "Contenido del archivo de texto"
 
-#: ../src/bar.c:252
-msgid "Documents Directory"
-msgstr "Carpeta Documentos"
+#: ../data/load_files_dialog.ui.h:3
+#| msgid " Load "
+msgid "_Load"
+msgstr "_Cargar"
 
-#: ../src/bar.c:253
-msgid "Go to documents directory"
-msgstr "Ir a la carpeta de documentos"
+#: ../data/load_files_dialog.ui.h:4
+msgid "Content of Text File"
+msgstr "Contenido del archivo de texto"
 
-#: ../src/bar.c:255
-msgid "Downloads Directory"
-msgstr "Carpeta Descargas"
+#: ../data/load_files_dialog.ui.h:5
+msgid "Insert a blank line before the selected line"
+msgstr "Insertar un línea en blanco antes de la línea seleccionada"
 
-#: ../src/bar.c:256
-msgid "Go to downloads directory"
-msgstr "Ir a la carpeta de descargas"
+#: ../data/load_files_dialog.ui.h:6
+msgid "Delete the selected line"
+msgstr "Eliminar la línea seleccionada"
 
-#: ../src/bar.c:258
-msgid "Music Directory"
-msgstr "Carpeta Música"
+#: ../data/load_files_dialog.ui.h:7 ../src/load_files_dialog.c:636
+#: ../src/load_files_dialog.c:739
+msgid "Delete all blank lines"
+msgstr "Eliminar todas las líneas en blanco"
 
-#: ../src/bar.c:259
-msgid "Go to music directory"
-msgstr "Ir a la carpeta de música"
+#: ../data/load_files_dialog.ui.h:8
+#, fuzzy
+#| msgid "Move up the selected line"
+msgid "Move the selected line up"
+msgstr "Subir la línea seleccionada"
 
-#: ../src/bar.c:261
-msgid "_Parent Directory"
-msgstr "Carpeta _padre"
+#: ../data/load_files_dialog.ui.h:9
+#, fuzzy
+#| msgid "Move up the selected line"
+msgid "Move the selected line down"
+msgstr "Subir la línea seleccionada"
 
-#: ../src/bar.c:262
-msgid "Go to parent directory"
-msgstr "Ir a la carpeta superior"
+#: ../data/load_files_dialog.ui.h:10 ../src/load_files_dialog.c:654
+#: ../src/load_files_dialog.c:757
+msgid "Reload"
+msgstr "Recargar"
 
-#: ../src/bar.c:264
-msgid "_Default Directory"
-msgstr "_Carpeta predeterminada"
+#: ../data/load_files_dialog.ui.h:11
+msgid "List of Files"
+msgstr "Lista de archivos"
 
-#: ../src/bar.c:265
-msgid "Go to default directory"
-msgstr "Ir a la carpeta predeterminada"
+#: ../data/load_files_dialog.ui.h:12
+msgid "Selected line:"
+msgstr "Línea seleccionada:"
 
-#: ../src/bar.c:267
-msgid "Set _Current Path as Default"
-msgstr "Establecer la carpeta _actual como predeterminada"
+#: ../data/load_files_dialog.ui.h:14
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:131
+#, fuzzy
+#| msgid "Run the current scanner for each file"
+msgid "Whether to run the current scanner on files loaded from a text file"
+msgstr "Ejecutar el analizador actual para cada archivo"
 
-#: ../src/bar.c:267
-msgid "Set current path as default"
-msgstr "Establecer ruta actual como predeterminada"
+#: ../data/menus.ui.h:1
+msgid "_Help"
+msgstr "_Ayuda"
 
-#: ../src/bar.c:268
-msgid "Rename Directory…"
-msgstr "Renombrar carpeta…"
+#: ../data/menus.ui.h:2
+msgid "_About"
+msgstr "_Acerca de"
 
-#: ../src/bar.c:268
-msgid "Rename directory"
-msgstr "Renombrar carpeta"
+#: ../data/menus.ui.h:3 ../src/application_window.c:2728
+msgid "_Quit"
+msgstr "_Salir"
 
-#: ../src/bar.c:269
-msgid "Reload Directory"
-msgstr "Recargar carpeta"
+#: ../data/menus.ui.h:4
+msgid "_File"
+msgstr "_Archivo"
 
-#: ../src/bar.c:270
-msgid "Reload directory"
-msgstr "Recargar carpeta"
+#: ../data/menus.ui.h:5
+msgid "Open Files With…"
+msgstr "Abrir archivo con…"
 
-#: ../src/bar.c:273
-msgid "Browse Directory With…"
-msgstr "Explorar carpeta con…"
+#: ../data/menus.ui.h:6
+msgid "Run Audio Player"
+msgstr "Ejecutar reproductor de audio"
 
-#: ../src/bar.c:274
-msgid "Run a command on the directory"
-msgstr "Ejecutar un comando en la carpeta"
+#: ../data/menus.ui.h:7 ../data/toolbar.ui.h:23
+msgid "Invert File Selection"
+msgstr "Invertir la Selección de Archivos"
 
-#: ../src/bar.c:276
-msgid "_Collapse Tree"
-msgstr "_Contraer árbol"
+#: ../data/menus.ui.h:8
+msgid "Delete Files"
+msgstr "Eliminar archivos"
 
-#: ../src/bar.c:277
-msgid "Collapse directory tree"
-msgstr "Contraer árbol de carpetas"
+#: ../data/menus.ui.h:9
+#, fuzzy
+#| msgid "Find Files"
+msgid "Undo for File"
+msgstr "Buscar archivos"
 
-#: ../src/bar.c:278
-msgid "_Reload Tree"
-msgstr "_Recargar árbol"
+#: ../data/menus.ui.h:10
+msgid "Redo for File"
+msgstr ""
 
-#: ../src/bar.c:279
-msgid "Reload directory tree"
-msgstr "Recargar árbol de carpetas"
+#: ../data/menus.ui.h:11 ../data/toolbar.ui.h:17
+msgid "_Save Files"
+msgstr "_Guardar archivos"
 
-#: ../src/bar.c:282
-msgid "S_canner Mode"
-msgstr "Modo a_nalizador"
+#: ../data/menus.ui.h:12
+msgid "_Force Save Files"
+msgstr "_Forzar guardado de archivos"
 
-#: ../src/bar.c:284
-msgid "_Miscellaneous"
-msgstr "_Varios"
+#: ../data/menus.ui.h:13
+msgid "_Edit"
+msgstr "_Editar"
 
-#: ../src/bar.c:285
+#: ../data/menus.ui.h:14 ../data/toolbar.ui.h:25
 msgid "_Find…"
 msgstr "_Buscar…"
 
-#: ../src/bar.c:286
-msgid "Search filenames and tags"
-msgstr "Buscar nombres de archivo y etiquetas"
-
-#: ../src/bar.c:288
-msgid "CDD_B Search…"
-msgstr "Búsqueda CDD_B…"
-
-#: ../src/bar.c:289
-msgid "CDDB search"
-msgstr "Buscar CDDB…"
-
-#: ../src/bar.c:291
-msgid "Load Filenames From a Text File…"
-msgstr "Cargar nombres de archivos desde un archivo de texto…"
-
-#: ../src/bar.c:292
-msgid "Load filenames from a text file"
-msgstr "Cargar nombres de archivos desde un archivo de texto"
-
-#: ../src/bar.c:294
-msgid "Generate Playlist…"
-msgstr "Generar lista de reproducción…"
+#: ../data/menus.ui.h:15
+#| msgid "Select all"
+msgid "Select All"
+msgstr "Seleccionar todo"
 
-#: ../src/bar.c:295
-msgid "Generate a playlist"
-msgstr "Generar una lista de reproducción"
+#: ../data/menus.ui.h:16
+msgid "Unselect All"
+msgstr "Deseleccionar todo"
 
-#: ../src/bar.c:297 ../src/bar.c:328 ../src/bar.c:329 ../src/bar.c:330
-msgid "Run Audio Player"
-msgstr "Ejecutar reproductor de audio"
+#: ../data/menus.ui.h:17
+msgid "Undo"
+msgstr "Deshacer"
 
-#: ../src/bar.c:298 ../src/bar.c:328 ../src/bar.c:329 ../src/bar.c:330
-msgid "Run audio player"
-msgstr "Ejecutar reproductor de audio"
+#: ../data/menus.ui.h:18
+msgid "Redo"
+msgstr "Rehacer"
 
-#: ../src/bar.c:301
-msgid "_Edit"
-msgstr "_Editar"
+#: ../data/menus.ui.h:19 ../data/toolbar.ui.h:11
+msgid "_Remove Tags"
+msgstr "_Quitar etiquetas"
 
-#: ../src/bar.c:302
+#: ../data/menus.ui.h:20
 msgid "_Preferences"
 msgstr "_Preferencias"
 
-#. The window
-#: ../src/bar.c:303 ../src/prefs.c:110
-msgid "Preferences"
-msgstr "Preferencias"
-
-#: ../src/bar.c:305
+#: ../data/menus.ui.h:21
 msgid "_View"
 msgstr "_Ver"
 
-#: ../src/bar.c:306
-msgid "_Go"
-msgstr "_Ir"
+#: ../data/menus.ui.h:22
+#| msgid "_Show Scanner"
+msgid "Show Scanner"
+msgstr "Mostrar analizador"
 
-#: ../src/bar.c:308
-msgid "_Help"
-msgstr "_Ayuda"
+#: ../data/menus.ui.h:23
+#, fuzzy
+#| msgid "S_canner Mode"
+msgid "Scanner Mode"
+msgstr "Modo a_nalizador"
 
-#: ../src/bar.c:311
-msgid "_Contents"
-msgstr "_Contenido"
+#: ../data/menus.ui.h:25
+#, fuzzy
+#| msgid "_Rename Files and Directories…"
+msgid "Rename Files and Directories"
+msgstr "_Renombrar archivos y carpetas…"
 
-#: ../src/bar.c:312
-msgid "Show help"
-msgstr "Mostrar ayuda"
+#: ../data/menus.ui.h:26 ../data/scan_dialog.ui.h:107
+msgid "Process Fields"
+msgstr "Procesar campos"
 
-#: ../src/bar.c:314
-msgid "_About"
-msgstr "_Acerca de"
+#: ../data/menus.ui.h:27 ../data/toolbar.ui.h:19
+#, fuzzy
+#| msgid "Directory renamed"
+msgid "Directory Tree"
+msgstr "Carpeta renombrada"
 
-#: ../src/bar.c:314
-msgid "About"
-msgstr "Acerca de"
+#: ../data/menus.ui.h:28 ../data/toolbar.ui.h:21
+#| msgid "Artist and Album"
+msgid "Artists and Albums"
+msgstr "Artistas y álbumes"
 
-#.
-#. * Following items are on toolbar but not on menu
-#.
-#: ../src/bar.c:320
-msgid "Stop the current action"
-msgstr "Detener la acción actual"
+#: ../data/menus.ui.h:29
+msgid "Sort List by Tag"
+msgstr "Ordenar lista por etiquetas"
 
-#.
-#. * Popup menu's Actions
-#.
-#: ../src/bar.c:326
-msgid "_File Operations"
-msgstr "_Operaciones de archivo"
+#: ../data/menus.ui.h:30
+msgid "Ascending by track number"
+msgstr "Ascendente por número de pista"
 
-#: ../src/bar.c:327
-msgid "S_canner"
-msgstr "Anali_zador"
+#: ../data/menus.ui.h:31
+msgid "Descending by track number"
+msgstr "Descendente por número de pista"
 
-#: ../src/bar.c:331
-msgid "CDDB Search Files…"
-msgstr "Buscar archivos en CDDB…"
+#: ../data/menus.ui.h:32
+msgid "Ascending by title"
+msgstr "Ascendente por título"
 
-#: ../src/bar.c:331
-msgid "CDDB search files…"
-msgstr "Buscar archivos en CDDB…"
+#: ../data/menus.ui.h:33
+msgid "Descending by title"
+msgstr "Descendente por título"
 
-#. { AM_ARTIST_OPEN_FILE_WITH,     GTK_STOCK_OPEN,    _("Open File(s) with…"),     NULL, _("Open File(s) with…"),     G_CALLBACK(Browser_Open_Run_Program_List_Window??? Browser_Open_Run_Program_Tree_Window???) },
-#. { AM_ALBUM_OPEN_FILE_WITH,      GTK_STOCK_OPEN,    _("Open File(s) with…"),     NULL, _("Open File(s) with…"),     G_CALLBACK(Browser_Open_Run_Program_List_Window??? Browser_Open_Run_Program_Tree_Window???) },
-#: ../src/bar.c:335
-msgid "Clear log"
-msgstr "Limpiar el registro"
+#: ../data/menus.ui.h:34
+msgid "Ascending by artist"
+msgstr "Ascendente por artista"
 
-#. { AM_BROWSE_SUBDIR,      GTK_STOCK_INDEX,        _("Browse _Subdirectories"),                         NULL, _("Browse _Sub-directories"),                         NULL,                                    FALSE },
-#: ../src/bar.c:342
-msgid "Browse _Subdirectories"
-msgstr "Explorar_subcarpetas"
+#: ../data/menus.ui.h:35
+msgid "Descending by artist"
+msgstr "Descendente por artista"
 
-#: ../src/bar.c:342
-msgid "Browse subdirectories"
-msgstr "Explorar subcarpetas"
+#: ../data/menus.ui.h:36
+msgid "Ascending by album artist"
+msgstr "Ascendente por artista del álbum"
 
-#: ../src/bar.c:346
-msgid "Show Hidden Directories"
-msgstr "Mostrar carpetas ocultas"
+#: ../data/menus.ui.h:37
+msgid "Descending by album artist"
+msgstr "Descendente por artista del álbum"
 
-#: ../src/bar.c:346
-msgid "Show hidden directories"
-msgstr "Mostrar carpetas ocultas"
+#: ../data/menus.ui.h:38
+msgid "Ascending by album"
+msgstr "Ascendente por álbum"
 
-#: ../src/bar.c:348
-msgid "_Show Scanner"
-msgstr "_Mostrar analizador"
+#: ../data/menus.ui.h:39
+msgid "Descending by album"
+msgstr "Descendente por álbum"
 
-#: ../src/bar.c:349
-msgid "Show scanner"
-msgstr "Mostrar analizador"
+#: ../data/menus.ui.h:40
+msgid "Ascending by year"
+msgstr "Ascendente por año"
 
-#: ../src/bar.c:355
-msgid "Tree Browser"
-msgstr "Navegador de árbol"
+#: ../data/menus.ui.h:41
+msgid "Descending by year"
+msgstr "Descendente por año"
 
-#: ../src/bar.c:356
-msgid "View by directory tree"
-msgstr "Ver por árbol de carpetas"
+#: ../data/menus.ui.h:42
+msgid "Ascending by genre"
+msgstr "Ascendente por género"
 
-#: ../src/bar.c:358
-msgid "Artist and Album"
-msgstr "Artista y álbum"
+#: ../data/menus.ui.h:43
+msgid "Descending by genre"
+msgstr "Descendente por género"
 
-#: ../src/bar.c:359
-msgid "View by artist and album"
-msgstr "Ver por artista y álbum"
+#: ../data/menus.ui.h:44
+msgid "Ascending by comment"
+msgstr "Ascendente por comentario"
 
-#: ../src/bar.c:364
-msgid "_Fill Tags…"
-msgstr "_Rellenar etiquetas…"
+#: ../data/menus.ui.h:45
+msgid "Descending by comment"
+msgstr "Descendente por comentario"
 
-#: ../src/bar.c:365
-msgid "Fill tags"
-msgstr "Rellenar etiquetas…"
+#: ../data/menus.ui.h:46
+msgid "Ascending by composer"
+msgstr "Ascendente por compositor"
 
-#: ../src/bar.c:367
-msgid "_Rename Files and Directories…"
-msgstr "_Renombrar archivos y carpetas…"
+#: ../data/menus.ui.h:47
+msgid "Descending by composer"
+msgstr "Descendente por compositor"
 
-#: ../src/bar.c:368
-msgid "Rename files and directories"
-msgstr "Renombrar archivos y carpetas"
+#: ../data/menus.ui.h:48
+msgid "Ascending by original artist"
+msgstr "Ascendente por artista original"
 
-#: ../src/bar.c:370
-msgid "_Process Fields…"
-msgstr "_Procesar campos…"
+#: ../data/menus.ui.h:49
+msgid "Descending by original artist"
+msgstr "Descendente por artista original"
 
-#: ../src/bar.c:370 ../src/scan_dialog.c:184
-msgid "Process Fields"
-msgstr "Procesar campos"
+#: ../data/menus.ui.h:50
+msgid "Ascending by copyright"
+msgstr "Ascendente por copyright"
 
-#: ../src/bar.c:428
-#, c-format
-msgid "Could not merge UI, error was: %s\n"
-msgstr "No se pudo combinar el IU, el error fue: %s\n"
+#: ../data/menus.ui.h:51
+msgid "Descending by copyright"
+msgstr "Descendente por copyright"
 
-#: ../src/bar.c:535
-msgid "Ready to start"
-msgstr "Listo para empezar"
+#: ../data/menus.ui.h:52
+msgid "Ascending by URL"
+msgstr "Ascendente por URL"
 
-#: ../src/browser.c:376
-msgid "New default path for files selected"
-msgstr "Seleccionada la nueva ruta predeterminada para los archivos"
+#: ../data/menus.ui.h:53
+msgid "Descending by URL"
+msgstr "Descendente por URL"
 
-#: ../src/browser.c:678 ../src/easytag.c:4555
-msgid "Some files have been modified but not saved"
-msgstr "Se han modificado algunos archivos pero no se han guardado"
+#: ../data/menus.ui.h:54
+msgid "Ascending by encoder name"
+msgstr "Ascendente por nombre de codificador"
 
-#: ../src/browser.c:679
-msgid "Do you want to save them before changing the directory?"
-msgstr "¿Quiere guardarlos antes de cambiar de carpeta?"
+#: ../data/menus.ui.h:55
+msgid "Descending by encoder name"
+msgstr "Descendente por nombre de codificador"
 
-#: ../src/browser.c:683
-msgid "Confirm Directory Change"
-msgstr "Confirmar el cambio de carpeta"
+#: ../data/menus.ui.h:56
+msgid "Sort List by Property"
+msgstr "Ordenar lista por propiedad"
 
-#: ../src/browser.c:2152
-msgid "<All albums>"
-msgstr "<Todos los álbumes>"
+#: ../data/menus.ui.h:57
+msgid "Ascending by filename"
+msgstr "Ascendente por nombre de archivo"
 
-#: ../src/browser.c:2613
-#, c-format
-msgid "Error: Searching for %s, could not find node %s in tree."
-msgstr "Error: buscando %s, no se pudo encontrar el nodo %s en el árbol."
+#: ../data/menus.ui.h:58
+msgid "Descending by filename"
+msgstr "Descendente por nombre de archivo"
 
-#: ../src/browser.c:3107 ../src/browser.c:3185
-msgid "Tree"
-msgstr "Árbol"
+#: ../data/menus.ui.h:59
+msgid "Ascending by creation date"
+msgstr "Ascendente por fecha de creación"
 
-#: ../src/browser.c:3108 ../src/cddb.c:803 ../src/misc.c:1899
-msgid "Filename"
-msgstr "Nombre de archivo"
+#: ../data/menus.ui.h:60
+msgid "Descending by creation date"
+msgstr "Descendente por fecha de creación"
 
-#: ../src/browser.c:3108 ../src/cddb.c:804 ../src/misc.c:1900
-#: ../src/prefs.c:643
-msgid "Title"
-msgstr "Título"
+#: ../data/menus.ui.h:61
+msgid "Ascending by file type"
+msgstr "Ascendente por tipo de archivo"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Artist".
-#: ../src/browser.c:3109 ../src/browser.c:3116 ../src/cddb.c:483
-#: ../src/cddb.c:805 ../src/misc.c:1901 ../src/prefs.c:644
-msgid "Artist"
-msgstr "Artista"
+#: ../data/menus.ui.h:62
+msgid "Descending by file type"
+msgstr "Descendente por tipo de archivo"
 
-#: ../src/browser.c:3109 ../src/misc.c:1902
-msgid "Album Artist"
-msgstr "Artista del álbum"
+#: ../data/menus.ui.h:63
+msgid "Ascending by file size"
+msgstr "Ascendente por tamaño de archivo"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Album".
-#: ../src/browser.c:3110 ../src/browser.c:3118 ../src/cddb.c:486
-#: ../src/cddb.c:806 ../src/misc.c:1903 ../src/prefs.c:645
-msgid "Album"
-msgstr "Álbum"
+#: ../data/menus.ui.h:64
+msgid "Descending by file size"
+msgstr "Descendente por tamaño de archivo"
 
-#: ../src/browser.c:3110 ../src/cddb.c:807 ../src/misc.c:1905
-msgid "Year"
-msgstr "Año"
+#: ../data/menus.ui.h:65
+msgid "Ascending by duration"
+msgstr "Ascendente por duración"
 
-#: ../src/browser.c:3110
-msgid "Disc"
-msgstr "Disco"
+#: ../data/menus.ui.h:66
+msgid "Descending by duration"
+msgstr "Descendente por duración"
 
-#: ../src/browser.c:3111 ../src/misc.c:1906
-msgid "Track"
-msgstr "Pista"
+#: ../data/menus.ui.h:67
+#| msgid "Ascending by bitrate"
+msgid "Ascending by bit rate"
+msgstr "Ascendente por tasa de bits"
 
-#: ../src/browser.c:3111 ../src/cddb.c:810 ../src/misc.c:1907
-#: ../src/prefs.c:646
-msgid "Genre"
-msgstr "Género"
+#: ../data/menus.ui.h:68
+#| msgid "Descending by bitrate"
+msgid "Descending by bit rate"
+msgstr "Descendente por tasa de bits"
 
-#: ../src/browser.c:3112 ../src/misc.c:1908 ../src/prefs.c:647
-msgid "Comment"
-msgstr "Comentario"
+#: ../data/menus.ui.h:69
+#| msgid "Ascending by samplerate"
+msgid "Ascending by sample rate"
+msgstr "Ascendente por tasa de muestreo"
 
-#: ../src/browser.c:3112 ../src/misc.c:1909 ../src/picture.c:884
-#: ../src/prefs.c:648
-msgid "Composer"
-msgstr "Compositor"
+#: ../data/menus.ui.h:70
+#| msgid "Descending by samplerate"
+msgid "Descending by sample rate"
+msgstr "Descendente por tasa de muestreo"
 
-#: ../src/browser.c:3113 ../src/misc.c:1910
-msgid "Original Artist"
-msgstr "Artista original"
+#: ../data/menus.ui.h:71
+#| msgid "_Collapse Tree"
+msgid "Collapse Tree"
+msgstr "Contraer árbol"
 
-#: ../src/browser.c:3114 ../src/misc.c:1911
-msgid "Copyright"
-msgstr "Copyright"
+#: ../data/menus.ui.h:72
+#| msgid "_Reload Tree"
+msgid "Reload Tree"
+msgstr "Recargar árbol"
 
-#: ../src/browser.c:3114 ../src/misc.c:1912
-msgid "URL"
-msgstr "URL"
+#: ../data/menus.ui.h:73
+msgid "Reload Directory"
+msgstr "Recargar carpeta"
 
-#: ../src/browser.c:3115 ../src/misc.c:1913
-msgid "Encoded By"
-msgstr "Codificado por"
+#: ../data/menus.ui.h:74
+msgid "Show Hidden Directories"
+msgstr "Mostrar carpetas ocultas"
 
-#: ../src/browser.c:3116
-msgid "# Albums"
-msgstr "N.º de álbumes"
+#: ../data/menus.ui.h:75
+msgid "_Browser"
+msgstr "_Explorador"
 
-#: ../src/browser.c:3117 ../src/browser.c:3118
-msgid "# Files"
-msgstr "N.º de archivos"
+#: ../data/menus.ui.h:76
+msgid "Set _Current Path as Default"
+msgstr "Establecer la carpeta _actual como predeterminada"
 
-#: ../src/browser.c:3143
-msgid "Enter a directory to browse."
-msgstr "Introducir una carpeta que examinar."
+#: ../data/menus.ui.h:77
+msgid "Rename Directory…"
+msgstr "Renombrar carpeta…"
 
-#: ../src/browser.c:3152
-msgid "Select a directory to browse."
-msgstr "Seleccionar una carpeta para examinarla."
+#: ../data/menus.ui.h:78
+msgid "Browse Directory With…"
+msgstr "Explorar carpeta con…"
 
-#.
-#. * The label for displaying number of files in path (without subdirs)
-#.
-#. Translators: No files, as in "0 files".
-#: ../src/browser.c:3159 ../src/easytag.c:3463
-msgid "No files"
-msgstr "No hay archivos"
+#: ../data/menus.ui.h:79
+msgid "Browse _Subdirectories"
+msgstr "Explorar_subcarpetas"
 
-#: ../src/browser.c:3237
-msgid "Artist & Album"
-msgstr "Artista y álbum"
+#: ../data/menus.ui.h:80
+msgid "_Miscellaneous"
+msgstr "_Varios"
 
-#. Only directories changed
-#: ../src/browser.c:3601 ../src/easytag.c:2875
-msgid "Rename Directory"
-msgstr "Renombrar la carpeta"
+#: ../data/menus.ui.h:81
+msgid "CDD_B Search…"
+msgstr "Búsqueda CDD_B…"
 
-#: ../src/browser.c:3623
-#, c-format
-msgid "Rename the directory '%s' to:"
-msgstr "Renombrar la carpeta «%s» a:"
+#: ../data/menus.ui.h:82
+msgid "Load Filenames From a Text File…"
+msgstr "Cargar nombres de archivos desde un archivo de texto…"
 
-#: ../src/browser.c:3642 ../src/misc.c:1168
-msgid "Use mask:"
-msgstr "Usar máscara:"
+#: ../data/menus.ui.h:83 ../data/toolbar.ui.h:29
+msgid "Generate Playlist…"
+msgstr "Generar lista de reproducción…"
 
-#: ../src/browser.c:3645
-msgid "If activated, it will use masks to rename directory."
-msgstr "Si está activado, usará máscaras para renombrar la carpeta."
+#: ../data/menus.ui.h:84
+msgid "_Go"
+msgstr "_Ir"
 
-#: ../src/browser.c:3663
-msgid ""
-"Select or type in a mask using codes (see Legend in Scanner Window) to "
-"rename the directory from tag fields."
-msgstr ""
-"Seleccione o introduzca una máscara usando códigos (ver leyenda en la "
-"ventana del analizador) para renombrar la carpeta desde los campos de "
-"etiquetas."
+#: ../data/menus.ui.h:85
+msgid "_Home Directory"
+msgstr "Carpeta _personal"
 
-#. Preview label
-#: ../src/browser.c:3687
-msgid "Rename directory preview"
-msgstr "Previsualización del renombrado de carpeta"
+#: ../data/menus.ui.h:86
+msgid "Desktop Directory"
+msgstr "Carpeta Escritorio"
 
-#: ../src/browser.c:3779
-msgid "You must type a directory name"
-msgstr "Debe introducir un nombre de directorio"
+#: ../data/menus.ui.h:87
+msgid "Documents Directory"
+msgstr "Carpeta Documentos"
 
-#: ../src/browser.c:3780 ../src/browser.c:3801
-msgid "Directory Name Error"
-msgstr "Error en el nombre de la carpeta"
+#: ../data/menus.ui.h:88
+msgid "Downloads Directory"
+msgstr "Carpeta Descargas"
 
-#: ../src/browser.c:3798
-#, c-format
-msgid "Could not convert '%s' into filename encoding."
-msgstr "No se puede convertir «%s» a la codificación del nombre de archivo."
+#: ../data/menus.ui.h:89
+msgid "Music Directory"
+msgstr "Carpeta Música"
 
-#: ../src/browser.c:3800
-msgid "Please use another name"
-msgstr "Use otro nombre"
+#: ../data/menus.ui.h:90
+msgid "_Parent Directory"
+msgstr "Carpeta _padre"
 
-#: ../src/browser.c:3870
-#, c-format
-msgid "The directory name '%s' already exists"
-msgstr "El nombre de la carpeta «%s» ya existe"
+#: ../data/menus.ui.h:91
+msgid "_Default Directory"
+msgstr "_Carpeta predeterminada"
 
-#: ../src/browser.c:3871 ../src/easytag.c:2958
-msgid "Rename File Error"
-msgstr "Error al renombrar el archivo"
+#: ../data/menus.ui.h:92 ../data/toolbar.ui.h:1
+msgid "_First File"
+msgstr "_Primer archivo"
 
-#: ../src/browser.c:3909 ../src/browser.c:3938
-msgid "Rename Directory Error"
-msgstr "Error al renombrar la carpeta"
+#: ../data/menus.ui.h:93
+#| msgid "_Previous File"
+msgid "Previous File"
+msgstr "Archivo anterior"
 
-#: ../src/browser.c:3976
-msgid "Directory renamed"
-msgstr "Carpeta renombrada"
+#: ../data/menus.ui.h:94 ../data/toolbar.ui.h:5
+msgid "_Next File"
+msgstr "_Siguiente archivo"
 
-#: ../src/browser.c:4012
-msgid "Browse Directory With"
-msgstr "Explorar carpeta con"
+#: ../data/menus.ui.h:95 ../data/toolbar.ui.h:7
+msgid "_Last File"
+msgstr "_Último archivo"
 
-#: ../src/browser.c:4028 ../src/browser.c:4154
-msgid "Program to run:"
-msgstr "Programa que ejecutar:"
+#: ../data/menus.ui.h:96
+#| msgid "_Home Directory"
+msgid "Home Directory"
+msgstr "Carpeta personal"
 
-#: ../src/browser.c:4040
-msgid ""
-"Enter the program to run. It will receive the current directory as parameter."
-msgstr ""
-"Introduzca el programa que ejecutar. Recibirá la carpeta actual como "
-"parámetro."
+#: ../data/menus.ui.h:97
+#| msgid "_Default Directory"
+msgid "Default Directory"
+msgstr "Carpeta predeterminada"
 
-#: ../src/browser.c:4134
-msgid "Open Files With"
-msgstr "Abrir archivos con"
+#: ../data/menus.ui.h:98
+#, fuzzy
+#| msgid "Set _Current Path as Default"
+msgid "Set Current Path as Default"
+msgstr "Establecer la carpeta _actual como predeterminada"
 
-#: ../src/browser.c:4166
-msgid ""
-"Enter the program to run. It will receive the current file as parameter."
-msgstr ""
-"Introduzca el programa que ejecutar. Recibirá el archivo actual como "
-"parámetro."
+#: ../data/menus.ui.h:100
+#| msgid "Browse _Subdirectories"
+msgid "Browse Subdirectories"
+msgstr "Explorarsubcarpetas"
 
-#: ../src/cddb.c:313
-msgid "Artist / Album"
-msgstr "Artista / Álbum"
+#: ../data/menus.ui.h:101
+#| msgid "Invert selection"
+msgid "Invert Selection"
+msgstr "Invertir la selección"
 
-#: ../src/cddb.c:313
-msgid "Category"
-msgstr "Categoría"
+#: ../data/menus.ui.h:102
+msgid "CDDB Search Files…"
+msgstr "Buscar archivos en CDDB…"
 
-#. Note: don't set "" instead of NULL else this will cause problem with translation language
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Track Name".
-#: ../src/cddb.c:314 ../src/cddb.c:489
-msgid "Track Name"
-msgstr "Nombre de pista"
+#: ../data/menus.ui.h:103
+#| msgid "_Find…"
+msgid "Find…"
+msgstr "Buscar…"
 
-#: ../src/cddb.c:314
-msgid "Duration"
-msgstr "Duración"
+#: ../data/menus.ui.h:104
+#| msgid "Clear log"
+msgid "Clear Log"
+msgstr "Limpiar el registro"
 
-#: ../src/cddb.c:326
-msgid "CDDB Search"
-msgstr "Buscar CDDB"
+#: ../data/playlist_dialog.ui.h:3
+msgid "Use directory name"
+msgstr "Usar nombre de la carpeta"
 
-#.
-#. * 1 - Page for automatic search (generate the CDDBId from files)
-#.
-#: ../src/cddb.c:346
-msgid "Automatic Search"
-msgstr "Búsqueda automática"
+#: ../data/playlist_dialog.ui.h:4
+#| msgid "Log Options"
+msgid "Options"
+msgstr "Opciones"
 
-#: ../src/cddb.c:356
-msgid "Request CDDB"
-msgstr "Solicitar CDDB"
+#: ../data/playlist_dialog.ui.h:5
+msgid "Include only the selected files"
+msgstr "Incluir sólo los archivos seleccionados"
 
-#: ../src/cddb.c:366
+#: ../data/playlist_dialog.ui.h:6 ../data/org.gnome.EasyTAG.gschema.xml.h:164
 msgid ""
-"Request automatically the CDDB using the selected files (the order is "
-"important) to generate the CddbID"
+"Whether to use only the selected files or all files when creating playlists"
 msgstr ""
-"Solicitar automáticamente la CDDB usando los archivos seleccionados (el "
-"orden es importante) para generar el CddbID"
 
-#: ../src/cddb.c:377 ../src/cddb.c:457
-msgid "Stop the search"
-msgstr "Detener la búsqueda"
+#: ../data/playlist_dialog.ui.h:7
+msgid "Use full path for files in playlist"
+msgstr "Usar ruta completa para los archivos en la lista de reproducción"
+
+#: ../data/playlist_dialog.ui.h:8
+msgid "Use relative path for files in playlist"
+msgstr "Usar ruta relativa para los archivos en la lista de reproducción"
+
+#: ../data/playlist_dialog.ui.h:9
+msgid "Create playlist in the parent directory"
+msgstr "Crear lista de reproducción en la carpeta padre"
 
-#. Check box to run the scanner
-#: ../src/cddb.c:384
-msgid "Use local CDDB"
-msgstr "Usar CDDB local"
+#: ../data/playlist_dialog.ui.h:10 ../data/org.gnome.EasyTAG.gschema.xml.h:168
+#, fuzzy
+#| msgid "Create playlist in the parent directory"
+msgid "Whether to create the playlist in the parent directory"
+msgstr "Crear lista de reproducción en la carpeta padre"
+
+#: ../data/playlist_dialog.ui.h:11
+msgid "Use DOS directory separator"
+msgstr "Usar el separador de carpetas de DOS"
 
-#: ../src/cddb.c:387 ../src/cddb.c:850
+#: ../data/playlist_dialog.ui.h:12 ../data/org.gnome.EasyTAG.gschema.xml.h:170
 msgid ""
-"When activating this option, after loading the fields, the current selected "
-"scanner will be ran (the scanner window must be opened)."
+"Whether to use backslash as directory separator when generating playlists"
 msgstr ""
-"Cuando esta opción esté activa, después de cargar los campos, el analizador "
-"actual seleccionado se ejecutará (la ventana del analizador debe estar "
-"abierta)."
 
-#.
-#. * 2 - Page for manual search
-#.
-#: ../src/cddb.c:404
-msgid "Manual Search"
-msgstr "Búsqueda manual"
+#: ../data/playlist_dialog.ui.h:13
+#| msgid "_Contents"
+msgid "Content"
+msgstr "Contenido"
 
-#: ../src/cddb.c:416
-msgid "Words:"
-msgstr "Palabras:"
+#: ../data/playlist_dialog.ui.h:14
+msgid "Write only list of files"
+msgstr "Escribir sólo la lista de archivos"
 
-#: ../src/cddb.c:429
-msgid "Enter the words to search (separated by a space or '+')"
-msgstr "Introduzca las palabras que buscar (separadas por un espacio o «+»)"
+#: ../data/playlist_dialog.ui.h:15
+#, fuzzy
+#| msgid "Write info using filename"
+msgid "Write information using filename"
+msgstr "Escribir información usando el nombre de archivo"
 
-#.
-#. * Search options
-#.
-#: ../src/cddb.c:469
-msgid "Search In:"
-msgstr "Buscar en:"
-
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "All fields".
-#: ../src/cddb.c:479
-msgid "All Fields"
-msgstr "Todos los campos"
-
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Other".
-#: ../src/cddb.c:492 ../src/picture.c:862 ../src/prefs.c:807
-msgid "Other"
-msgstr "Otro"
+#: ../data/playlist_dialog.ui.h:16
+#, fuzzy
+#| msgid "Write info using:"
+msgid "Write information using:"
+msgstr "Escribir información usando:"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "All Categories".
-#: ../src/cddb.c:516
-msgid "All Categories"
-msgstr "Todas las categorías"
+#: ../data/preferences_dialog.ui.h:1
+msgid "Browser"
+msgstr "Examinador"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Blues".
-#: ../src/cddb.c:520
-msgid "Blues"
-msgstr "Blues"
+#: ../data/preferences_dialog.ui.h:2
+#, fuzzy
+#| msgid "_Default Directory"
+msgid "Default Directory:"
+msgstr "_Carpeta predeterminada"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Classical".
-#: ../src/cddb.c:523
-msgid "Classical"
-msgstr "Clásico"
+#: ../data/preferences_dialog.ui.h:3 ../data/org.gnome.EasyTAG.gschema.xml.h:4
+#, fuzzy
+#| msgid "New default path for files selected"
+msgid "The default path to search for music files"
+msgstr "Seleccionada la nueva ruta predeterminada para los archivos"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Country".
-#: ../src/cddb.c:526
-msgid "Country"
-msgstr "Country"
+#: ../data/preferences_dialog.ui.h:4
+msgid ""
+"Load on startup the default directory or the directory passed as argument"
+msgstr ""
+"Al arrancar, cargar la carpeta predeterminada o la carpeta pasada como "
+"argumento"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Folk".
-#: ../src/cddb.c:529
-msgid "Folk"
-msgstr "Folk"
+#: ../data/preferences_dialog.ui.h:5 ../data/org.gnome.EasyTAG.gschema.xml.h:2
+msgid ""
+"Whether to load the default path (or the path passed as an argument) on "
+"application startup"
+msgstr ""
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Jazz".
-#: ../src/cddb.c:532
-msgid "Jazz"
-msgstr "Jazz"
+#: ../data/preferences_dialog.ui.h:6 ../data/org.gnome.EasyTAG.gschema.xml.h:5
+msgid "Browse subdirectories"
+msgstr "Explorar subcarpetas"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Misc".
-#: ../src/cddb.c:535
-msgid "Misc."
-msgstr "Varios"
+#: ../data/preferences_dialog.ui.h:7 ../data/org.gnome.EasyTAG.gschema.xml.h:6
+#, fuzzy
+#| msgid ""
+#| "Search subdirectories for files when reading a directory into the tree."
+msgid ""
+"Whether to search subdirectories for audio files when reading a directory in "
+"the browser"
+msgstr "Buscar archivos en subcarpetas al leer una carpeta en el árbol."
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "New age".
-#: ../src/cddb.c:538
-msgid "New Age"
-msgstr "New Age"
+#: ../data/preferences_dialog.ui.h:8 ../data/org.gnome.EasyTAG.gschema.xml.h:9
+#, fuzzy
+#| msgid "Show subdirectories when selecting a directory"
+msgid "Expand the subdirectories of the selected directory"
+msgstr "Mostrar subcarpetas al seleccionar una carpeta"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Reggae".
-#: ../src/cddb.c:541
-msgid "Reggae"
-msgstr "Reggae"
+#: ../data/preferences_dialog.ui.h:9
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:10
+msgid ""
+"Whether to expand the subdirectories of a node in the directory browser when "
+"selecting it"
+msgstr ""
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Rock".
-#: ../src/cddb.c:544
-msgid "Rock"
-msgstr "Rock"
+#: ../data/preferences_dialog.ui.h:10
+msgid "Search hidden directories"
+msgstr "Buscar en carpetas ocultas"
 
-#. Translators: This option is for the previous 'search in' option. For
-#. * instance, translate this as "Search in:" "Soundtrack".
-#: ../src/cddb.c:547
-msgid "Soundtrack"
-msgstr "Banda sonora"
+#: ../data/preferences_dialog.ui.h:11
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:8
+#, fuzzy
+#| msgid ""
+#| "Search subdirectories for files when reading a directory into the tree."
+msgid ""
+"Whether to show hidden directories when showing a directory in the browser"
+msgstr "Buscar archivos en subcarpetas al leer una carpeta en el árbol."
 
-#: ../src/cddb.c:587
-msgid "included: funk, soul, rap, pop, industrial, metal, etc."
-msgstr "incluido: funk, soul, rap, pop, industrial, metal, etc."
+#: ../data/preferences_dialog.ui.h:12
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:53
+msgid "Sort files case-sensitively"
+msgstr ""
 
-#: ../src/cddb.c:588
-msgid "movies, shows"
-msgstr "películas, shows"
+#: ../data/preferences_dialog.ui.h:13
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:54
+msgid "Whether file sorting is case-sensitive"
+msgstr ""
 
-#: ../src/cddb.c:589
-msgid "others that do not fit in the above categories"
-msgstr "otros que no se ajustan a las categorías anteriores"
-
-#. Button to display/hide the categories
-#: ../src/cddb.c:592
-msgid "Categories"
-msgstr "Categorías"
-
-#.
-#. * Results command
-#.
-#: ../src/cddb.c:600
-msgid "Results:"
-msgstr "Resultados:"
-
-#: ../src/cddb.c:606 ../src/misc.c:1947
-msgid "Search:"
-msgstr "Buscar:"
-
-#: ../src/cddb.c:620
-msgid "Enter the words to search in the list below"
-msgstr "Introduzca las palabras que buscar en la siguiente lista"
-
-#: ../src/cddb.c:632
-msgid "Search Next"
-msgstr "Buscar siguiente"
+#: ../data/preferences_dialog.ui.h:15
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:59
+#| msgid "Show help"
+msgid "Show the log"
+msgstr "Mostrar el registro"
+
+#: ../data/preferences_dialog.ui.h:16
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:60
+#, fuzzy
+#| msgid "Show log view in main window"
+msgid "Whether to show the log in the main window"
+msgstr "Mostrar la ventana del registro en la ventana principal"
 
-#: ../src/cddb.c:638
-msgid "Search Previous"
-msgstr "Buscar anterior"
+#: ../data/preferences_dialog.ui.h:17
+#, fuzzy
+#| msgid "Max number of lines:"
+msgid "Maximum number of lines:"
+msgstr "Número máximo de líneas:"
 
-#: ../src/cddb.c:649
-msgid "Show only red lines (or show all lines) in the 'Artist / Album' list"
+#: ../data/preferences_dialog.ui.h:18
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:58
+msgid "The maximum number of lines to keep in the log"
 msgstr ""
-"Mostrar solo líneas rojas (o todas las líneas) en la lista «Artista/álbum»"
-
-#: ../src/cddb.c:655
-msgid "Unselect all lines"
-msgstr "Deseleccionar todas las líneas"
 
-#: ../src/cddb.c:661
-msgid "Invert lines selection"
-msgstr "Invertir selección de líneas"
+#: ../data/preferences_dialog.ui.h:19
+msgid "General"
+msgstr "General"
 
-#: ../src/cddb.c:670
-msgid "Select all lines"
-msgstr "Seleccionar todas las líneas"
+#: ../data/preferences_dialog.ui.h:20
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:49
+msgid "Show audio file header summary"
+msgstr ""
 
-#: ../src/cddb.c:788
+#: ../data/preferences_dialog.ui.h:21
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:50
 msgid ""
-"Select lines to 'apply' to your files list. All lines will be processed if "
-"no line is selected.\n"
-"You can also reorder lines in this list before using 'apply' button."
+"Whether to show header information, such as bit rate and duration, for audio "
+"files"
 msgstr ""
-"Seleccione las líneas que «aplicar» a su lista de archivos. Se procesarán "
-"todas si no selecciona ninguna.\n"
-"Puede reordenar también las líneas en esta lista antes de presionar el botón "
-"«aplicar»."
 
-#.
-#. * Apply results to fields...
-#.
-#: ../src/cddb.c:795
-msgid "Set Into:"
-msgstr "Establecer en:"
+#: ../data/preferences_dialog.ui.h:22
+msgid "Display changed files in list using:"
+msgstr "Mostrar los archivos modificados en una lista usando:"
 
-#: ../src/cddb.c:801
-msgid "All"
-msgstr "Todo"
+#: ../data/preferences_dialog.ui.h:23
+msgid "Red color"
+msgstr "Color rojo"
 
-#: ../src/cddb.c:808
-msgid "Track #"
-msgstr "N.º de pista"
+#: ../data/preferences_dialog.ui.h:24
+msgid "Bold style"
+msgstr "Estilo negrita"
 
-#: ../src/cddb.c:809
-msgid "# Tracks"
-msgstr "N.º de pistas"
+#: ../data/preferences_dialog.ui.h:25
+#, fuzzy
+#| msgid "User Interface"
+msgid "Interface"
+msgstr "Interfaz de usuario"
 
-#. Check box to run the scanner
-#: ../src/cddb.c:847 ../src/misc.c:2988
-msgid "Run the current scanner for each file"
-msgstr "Ejecutar el analizador actual para cada archivo"
+#: ../data/preferences_dialog.ui.h:26
+msgid "File Settings"
+msgstr "Configuración de archivo"
 
-#. Check box to use DLM (also used in the preferences window)
-#: ../src/cddb.c:854
-msgid "Match lines with the Levenshtein algorithm"
-msgstr "Líneas coincidentes con el algoritmo Levenshtein"
+#: ../data/preferences_dialog.ui.h:27
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:45
+#, fuzzy
+#| msgid "Preserve modification time of the file"
+msgid "Preserve modification time when writing files"
+msgstr "Mantener el tiempo de modificación del archivo"
 
-#. Doesn't activate it by default because if the new user don't pay attention to it,
-#. it will not understand why the cddb results aren't loaded correctly...
-#. gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(CddbUseDLM2),CDDB_USE_DLM);
-#: ../src/cddb.c:859 ../src/prefs.c:1363
-msgid ""
-"When activating this option, the Levenshtein algorithm (DLM: Damerau-"
-"Levenshtein Metric) will be used to match the CDDB title against every "
-"filename in the current folder, and to select the best match. This will be "
-"used when selecting the corresponding audio file, or applying CDDB results, "
-"instead of using directly the position order."
-msgstr ""
-"Cuando se activa esta opción, se usará el algoritmo de Levenshtein (DLM: "
-"Métrica de Damerau-Levenshtein) para hacer coincidir el título CDDB con cada "
-"nombre de archivo en la carpeta actual, y para seleccionar la mejor "
-"coincidencia. Esto se usará al seleccionar el archivo de sonido "
-"correspondiente, o al aplicar los resultados de CDDB en vez de usar "
-"directamente el orden de la posición."
-
-#: ../src/cddb.c:871
-msgid "Load the selected lines or all lines (if no line selected)."
-msgstr "Leer las líneas seleccionadas o todas (si ninguna está seleccionada)."
+#: ../data/preferences_dialog.ui.h:28
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:46
+#, fuzzy
+#| msgid "Preserve modification time of the file"
+msgid "Whether to preserve the existing modification time when editing files"
+msgstr "Mantener el tiempo de modificación del archivo"
 
-#: ../src/cddb.c:881
-msgid "Ready to search"
-msgstr "Listo para buscar"
+#: ../data/preferences_dialog.ui.h:29
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:47
+#, fuzzy
+#| msgid "Preserve modification time of the file"
+msgid "Update parent directory modification time when writing files"
+msgstr "Mantener el tiempo de modificación del archivo"
 
-#: ../src/cddb.c:1352
-#, c-format
+#: ../data/preferences_dialog.ui.h:30
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:48
+#, fuzzy
+#| msgid ""
+#| "Preserve the modification time (in file properties) when saving the file."
 msgid ""
-"Album: '%s', artist: '%s', length: '%s', year: '%s', genre: '%s', ID: '%s'"
+"Whether to update the modification time on the parent directory when editing "
+"files"
 msgstr ""
-"Álbum: «%s», artista: «%s», duración: «%s», año: «%s», género: «%s», ID: «%s»"
+"Mantener la fecha de modificación (en las propiedades del archivo) al "
+"guardar el archivo."
 
-#: ../src/cddb.c:1588
-#, c-format
-msgid "Resolving host '%s'…"
-msgstr "Resolviendo equipo  «%s»…"
+#: ../data/preferences_dialog.ui.h:31
+#, fuzzy
+#| msgid "Filename"
+msgid "Filenames"
+msgstr "Nombre de archivo"
 
-#: ../src/cddb.c:1629
-#, c-format
-msgid "Cannot create a new socket (%s)"
-msgstr "No se puede crear un nuevo socket (%s)"
+#: ../data/preferences_dialog.ui.h:32
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:195
+#, fuzzy
+#| msgid "Replace illegal characters in filename (for Windows and CD-Rom)"
+msgid "Replace illegal characters when renaming"
+msgstr ""
+"Reemplazar caracteres ilegales en nombres de archivo (para Windows y CD-ROM)"
 
-#: ../src/cddb.c:1643
-msgid "Cannot set options on the newly-created socket"
-msgstr "No se pueden establecer opciones en el nuevo socket creado"
+#: ../data/preferences_dialog.ui.h:33
+msgid ""
+"Convert characters which cannot be represented in filenames on the FAT32/16 "
+"and Joliet filesystems (‘\\’, ‘:’, ‘;’, ‘*’, ‘?’, ‘\"’, ‘<’, ‘>’, ‘|’)"
+msgstr ""
 
-#. Open connection to the server.
-#: ../src/cddb.c:1647
-#, c-format
-msgid "Connecting to host '%s', port '%d'…"
-msgstr "Conectando a equipo «%s», puerto «%d»…"
+#: ../data/preferences_dialog.ui.h:34
+msgid "Convert filename extension to:"
+msgstr "Convertir la extensión del nombre del archivo a:"
 
-#: ../src/cddb.c:1660
-#, c-format
-msgid "Cannot connect to host '%s' (%s)"
-msgstr "No se puede conectar al equipo «%s» (%s)"
+#: ../data/preferences_dialog.ui.h:35
+msgid "Lower Case"
+msgstr "Minúsculas"
 
-#: ../src/cddb.c:1684
-#, c-format
-msgid "Cannot resolve host '%s' (%s)"
-msgstr "No se puede resolver el equipo «%s» (%s)."
+#: ../data/preferences_dialog.ui.h:36
+#, fuzzy
+#| msgid "For example, the extension will be converted to '.mp3'"
+msgid "For example, the extension will be converted to ‘.mp3’"
+msgstr "Por ejemplo, la extensión se convertirá a «.mp3»"
 
-#: ../src/cddb.c:1697
-#, c-format
-msgid "Connected to host '%s'"
-msgstr "Conectado al equipo «%s»"
+#: ../data/preferences_dialog.ui.h:37
+msgid "Upper Case"
+msgstr "Mayúsculas"
 
-#: ../src/cddb.c:1778
-#, c-format
-msgid "Error while writing CDDB results to file '%s'"
-msgstr "Error al escribir los resultados de CDDB al archivo «%s»"
+#: ../data/preferences_dialog.ui.h:38
+#, fuzzy
+#| msgid "For example, the extension will be converted to '.MP3'"
+msgid "For example, the extension will be converted to ‘.MP3’"
+msgstr "Por ejemplo, la extensión se convertirá a «.MP3»"
 
-#: ../src/cddb.c:1789
-#, c-format
-msgid "Receiving data (%s)…"
-msgstr "Recibiendo datos (%s)…"
+#: ../data/preferences_dialog.ui.h:39
+msgid "No Change"
+msgstr "Sin cambios"
 
-#: ../src/cddb.c:1801
-#, c-format
-msgid "Error when reading CDDB response (%s)"
-msgstr "Error al leer la respuesta de CDDB (%s)"
+#: ../data/preferences_dialog.ui.h:40
+#, fuzzy
+#| msgid "The extension will not be converted"
+msgid "The extension will not be modified"
+msgstr "La extensión no se convertirá"
 
-#: ../src/cddb.c:1808
-#, c-format
-msgid "Cannot create file '%s' (%s)"
-msgstr "No se puede crear el archivo «%s» (%s)"
+#: ../data/preferences_dialog.ui.h:41
+#| msgid "Filename translation"
+msgid "Filename Encoding"
+msgstr "Codificación del nombre del archivo"
 
-#: ../src/cddb.c:1849 ../src/setting.c:1256
-#, c-format
-msgid "Cannot open file '%s' (%s)"
-msgstr "No se puede abrir el archivo «%s» (%s)"
+#: ../data/preferences_dialog.ui.h:42
+msgid "Try another character encoding"
+msgstr "Intentar otra codificación de caracteres"
 
-#. g_print("Request Cddb_Search_Album_List_From_String_Freedb : '%s'\n", cddb_in);
-#. Send the request
-#. g_print("Request Cddb_Search_Album_List_From_String_Gnudb : '%s'\n", cddb_in);
-#. Send the request
-#. g_print("Request Cddb_Get_Album_Tracks_List : '%s'\n", cddb_in);
-#. Send the request
-#: ../src/cddb.c:2314 ../src/cddb.c:2643 ../src/cddb.c:3516
-msgid "Sending request…"
-msgstr "Enviando solicitud…"
+#: ../data/preferences_dialog.ui.h:43
+msgid ""
+"Try to use the encoding associated with your locale and if this fails, try "
+"the ISO-8859-1 character encoding"
+msgstr ""
 
-#: ../src/cddb.c:2318 ../src/cddb.c:2647 ../src/cddb.c:3216 ../src/cddb.c:3520
-#, c-format
-msgid "Cannot send the request (%s)"
-msgstr "No se puede enviar la solicitud (%s)"
+#: ../data/preferences_dialog.ui.h:44
+#, fuzzy
+#| msgid "Try another character encoding"
+msgid "Transliterate characters into the system character encoding"
+msgstr "Intentar otra codificación de caracteres"
 
-#.
-#. * Read the answer
-#.
-#. Read the answer
-#: ../src/cddb.c:2344 ../src/cddb.c:3230 ../src/cddb.c:3529
-msgid "Receiving data…"
-msgstr "Recibiendo datos…"
+#: ../data/preferences_dialog.ui.h:45
+msgid ""
+"Replace unsupported characters with a similar character from the target "
+"character encoding"
+msgstr ""
 
-#: ../src/cddb.c:2351 ../src/cddb.c:2676 ../src/cddb.c:3237 ../src/cddb.c:3536
-msgid "The server returned a bad response"
-msgstr "El servidor devolvió una respuesta errónea"
+#: ../data/preferences_dialog.ui.h:46
+#, fuzzy
+#| msgid ""
+#| "Force using the system character encoding and silently discard some "
+#| "characters"
+msgid ""
+"Use the system character encoding and silently discard unsupported characters"
+msgstr ""
+"Forzar el uso de la codificación de caracteres del sistema y descartar "
+"silenciosamente algunos caracteres"
 
-#: ../src/cddb.c:2365 ../src/cddb.c:2692 ../src/cddb.c:3252 ../src/cddb.c:3553
-#: ../src/cddb.c:3568
-#, c-format
-msgid "The server returned a bad response: %s"
-msgstr "El servidor devolvió una respuesta errónea: %s"
+#: ../data/preferences_dialog.ui.h:47
+#, fuzzy
+#| msgid ""
+#| "With this option, when a character cannot be represented in the target "
+#| "character set, it will be silently discarded."
+msgid ""
+"Discard characters which cannot be represented in the target character "
+"encoding"
+msgstr ""
+"Con esta opción, cuando un carácter no se pueda representar en el conjunto "
+"de caracteres destino, se descartará silenciosamente."
 
-#: ../src/cddb.c:2512
-#, c-format
-msgid "Sorry, the web-based search is currently not available"
-msgstr "Lo siento, la búsqueda basada en web no funciona actualmente"
+#: ../data/preferences_dialog.ui.h:48
+#| msgid "File"
+msgid "Files"
+msgstr "Archivos"
 
-#: ../src/cddb.c:2514 ../src/cddb.c:2863
-#, c-format
-msgid "Found one matching album"
-msgid_plural "Found %d matching albums"
-msgstr[0] "Encontrado un álbum coincidente"
-msgstr[1] "Encontrados %d álbumes coincidentes"
+#: ../data/preferences_dialog.ui.h:49
+msgid "Automatically complete date field"
+msgstr ""
 
-#: ../src/cddb.c:2664
-#, c-format
-msgid "Receiving data of page %d (album %d/%d)…"
-msgstr "Recibiendo datos de página %d (álbum %d/%d)…"
+#: ../data/preferences_dialog.ui.h:50
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:94
+msgid "Whether to automatically complete the date tag"
+msgstr ""
 
-#: ../src/cddb.c:2666
-#, c-format
-msgid "Receiving data of page %d…"
-msgstr "Recibiendo datos de página %d…"
+#: ../data/preferences_dialog.ui.h:51
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:99
+msgid "Automatically select the type of the image based on its filename"
+msgstr ""
 
-#: ../src/cddb.c:2830
-#, c-format
-msgid "More results to load…"
-msgstr "Más resultados que cargar…"
+#: ../data/preferences_dialog.ui.h:52
+msgid ""
+"Whether to, when adding cover art, automatically select a type for an image "
+"based on its filename"
+msgstr ""
 
-#: ../src/cddb.c:2959
-#, c-format
-msgid "No file selected"
-msgstr "No hay ningún archivo seleccionado"
+#: ../data/preferences_dialog.ui.h:53
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:105
+msgid "Preserve the tag field focus"
+msgstr ""
 
-#. The CD redbook standard defines the maximum number of tracks as 99, any
-#. queries with more than 99 tracks will never return a result.
-#: ../src/cddb.c:2967
-#, c-format
-msgid "More than 99 files selected. Cannot send request"
-msgstr "Se seleccionaron más de 99 archivos. No se puede enviar la solicitud"
+#: ../data/preferences_dialog.ui.h:54
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:106
+msgid "Whether to preserve focus on the current tag field when switching file"
+msgstr ""
 
-#: ../src/cddb.c:2973
-#, c-format
-msgid "One file selected"
-msgid_plural "%d files selected"
-msgstr[0] "Un archivo seleccionado"
-msgstr[1] "%d archivos seleccionados"
+#: ../data/preferences_dialog.ui.h:55
+msgid "Pad the number of digits in the disc field to:"
+msgstr ""
 
-#: ../src/cddb.c:3056
-msgid "The path for 'Local CD Database' was not defined"
-msgstr "La ruta para «base de datos de CD local» no se ha definido"
+#: ../data/preferences_dialog.ui.h:56
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:96
+#, fuzzy
+#| msgid "Whether to pad the disc field with leading zeroes"
+msgid "Whether the disc number tag field should be padded with leading zeroes"
+msgstr "Indica si se debe rellenar el campo de disco con ceros a la izquierda"
 
-#. Translators: 'it' in this sentence refers to the local CD
-#. * database path.
-#: ../src/cddb.c:3059
-msgid "Enter it in the preferences window before using this search."
+#: ../data/preferences_dialog.ui.h:57
+msgid "Pad the number of digits in the track field to:"
 msgstr ""
-"Introdúzcalo en las preferencias de ventana antes de usar esta búsqueda."
 
-#: ../src/cddb.c:3061
-msgid "Local CD search"
-msgstr "Búsqueda de CD local"
+#: ../data/preferences_dialog.ui.h:58
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:102
+#, fuzzy
+#| msgid "Whether to pad the disc field with leading zeroes"
+msgid "Whether the track number tag field should be padded with leading zeroes"
+msgstr "Indica si se debe rellenar el campo de disco con ceros a la izquierda"
 
-#. g_print("Request Cddb_Search_Album_From_Selected_Files : '%s'\n", cddb_in);
-#: ../src/cddb.c:3206
-#, c-format
-msgid "Sending request (CddbId: %s, #tracks: %d, Disc length: %d)…"
-msgstr "Enviando solicitud (CddbId: %s, #pistas: %d, duración del disco: %d)…"
+#: ../data/preferences_dialog.ui.h:59
+#| msgid "Tag Splitting"
+msgid "Splitting"
+msgstr "División"
 
-#: ../src/cddb.c:3363
-#, c-format
-msgid "DiscID '%s' gave one matching album"
-msgid_plural "DiscID '%s' gave %d matching albums"
-msgstr[0] "DiscID «%s» da un álbum coincidente"
-msgstr[1] "DiscID «%s» da %d álbumes coincidentes"
+#: ../data/preferences_dialog.ui.h:60
+msgid ""
+"For Vorbis tags, selected fields will be split at dashes and saved as "
+"separate tags"
+msgstr ""
+"Para etiquetas Vorbis, los campos seleccionados se dividirán en guiones y "
+"guardados como etiquetas separadas"
 
-#: ../src/cddb.c:3460
-#, c-format
-msgid "Can't load file: '%s' (%s)."
-msgstr "No se puede cargar el archivo: «%s» (%s)."
+#: ../data/preferences_dialog.ui.h:62
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:206
+msgid "Whether to split title fields at a “ - ” separator in Ogg comments"
+msgstr ""
 
-#. Load the track list of the album
-#: ../src/cddb.c:3759
-msgid "Loading album track list…"
-msgstr "Cargando la lista de pistas del álbum…"
+#: ../data/preferences_dialog.ui.h:64
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:208
+msgid "Whether to split artist fields at a “ - ” separator in Ogg comments"
+msgstr ""
 
-#: ../src/cddb.c:3958
-msgid "The number of CDDB results does not match the number of selected files"
+#: ../data/preferences_dialog.ui.h:66
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:210
+msgid "Whether to split album fields at a “ - ” separator in Ogg comments"
 msgstr ""
-"El número de resultados de CDDB no coincide con el número de archivos "
-"seleccionados"
 
-#: ../src/cddb.c:3962
-msgid "Write Tag from CDDB"
-msgstr "Escribir etiqueta desde CDDB"
+#: ../data/preferences_dialog.ui.h:68
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:212
+msgid "Whether to split genre fields at a “ - ” separator in Ogg comments"
+msgstr ""
 
-#: ../src/charset.c:47
-msgid "Arabic (IBM-864)"
-msgstr "Árabe (IBM-864)"
+#: ../data/preferences_dialog.ui.h:70
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:214
+msgid "Whether to split comment fields at a “ - ” separator in Ogg comments"
+msgstr ""
 
-#: ../src/charset.c:48
-msgid "Arabic (ISO-8859-6)"
-msgstr "Árabe (ISO-8859-6)"
+#: ../data/preferences_dialog.ui.h:72
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:216
+msgid "Whether to split composer fields at a “ - ” separator in Ogg comments"
+msgstr ""
 
-#: ../src/charset.c:49
-msgid "Arabic (Windows-1256)"
-msgstr "Árabe (Windows-1256)"
+#: ../data/preferences_dialog.ui.h:73
+msgid "Original artist"
+msgstr "Artista original"
 
-#: ../src/charset.c:50
-msgid "Baltic (ISO-8859-13)"
-msgstr "Báltico (ISO-8859-13)"
+#: ../data/preferences_dialog.ui.h:74
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:218
+msgid ""
+"Whether to split original artist fields at a “ - ” separator in Ogg comments"
+msgstr ""
 
-#: ../src/charset.c:51
-msgid "Baltic (ISO-8859-4)"
-msgstr "Báltico (ISO-8859-4)"
+#: ../data/preferences_dialog.ui.h:75
+msgid "Tags"
+msgstr "Etiquetas"
 
-#: ../src/charset.c:52
-msgid "Baltic (Windows-1257)"
-msgstr "Báltico (Windows-1257)"
+#: ../data/preferences_dialog.ui.h:76
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:63
+#, fuzzy
+#| msgid "Strip tags if all fields are set to blank"
+msgid "Strip ID3 tags if all ID3 tags are empty"
+msgstr "Quitar etiquetas si todos los campos están en blanco"
 
-#: ../src/charset.c:53
-msgid "Celtic (ISO-8859-14)"
-msgstr "Céltico (ISO-8859-14)"
+#: ../data/preferences_dialog.ui.h:77
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:64
+msgid ""
+"Whether to remove the ID3 tag from the audio file if all the individual tag "
+"fields are empty"
+msgstr ""
 
-#: ../src/charset.c:54
-msgid "Central European (IBM-852)"
-msgstr "Europeo central (IBM-852)"
+#: ../data/preferences_dialog.ui.h:78
+#, fuzzy
+#| msgid "Character Set for reading ID3 tags"
+msgid "Non-standard encoding for reading ID3 tags:"
+msgstr "Conjunto de caracteres para leer etiquetas ID3"
 
-#: ../src/charset.c:55
-msgid "Central European (ISO-8859-2)"
-msgstr "Europeo central (ISO-8859-2)"
+#: ../data/preferences_dialog.ui.h:79
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:62
+msgid "Whether to use a non-standard character encoding when reading ID3 tags"
+msgstr ""
 
-#: ../src/charset.c:56
-msgid "Central European (Windows-1250)"
-msgstr "Europeo central (Windows-1250)"
+#: ../data/preferences_dialog.ui.h:80
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:72
+#, fuzzy
+#| msgid "Character Set for reading ID3 tags"
+msgid "Choose the character set to be used when reading ID3v1 and ID3v2 tags"
+msgstr "Conjunto de caracteres para leer etiquetas ID3"
 
-#: ../src/charset.c:57
-msgid "Chinese Simplified (GB18030)"
-msgstr "Chino simplificado (GB18030)"
+#: ../data/preferences_dialog.ui.h:81
+#| msgid "ID3v2 tags"
+msgid "ID3v2"
+msgstr "ID3v2"
 
-#: ../src/charset.c:58
-msgid "Chinese Simplified (GB2312)"
-msgstr "Chino simplificado (GB2312)"
+#: ../data/preferences_dialog.ui.h:82
+msgid "Write ID3v2 tag"
+msgstr "Escribir etiqueta ID3v2"
 
-#: ../src/charset.c:59
-msgid "Chinese Traditional (Big5)"
-msgstr "Chino tradicional (Big5)"
+#: ../data/preferences_dialog.ui.h:83
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:74
+msgid "Whether to write ID3v2 tags when writing ID3 tags into audio files"
+msgstr ""
 
-#: ../src/charset.c:60
-msgid "Chinese Traditional (Big5-HKSCS)"
-msgstr "Chino tradicional (Big5-HKSCS)"
+#: ../data/preferences_dialog.ui.h:84
+msgid "Version:"
+msgstr "Versión:"
 
-#: ../src/charset.c:61
-msgid "Cyrillic (IBM-855)"
-msgstr "Cirílico (IBM-855)"
-
-#: ../src/charset.c:62
-msgid "Cyrillic (ISO-8859-5)"
-msgstr "Cirílico (ISO-8859-5)"
+#: ../data/preferences_dialog.ui.h:85
+#, fuzzy
+#| msgid ""
+#| "Select the ID3v2 tag version to write:\n"
+#| " - ID3v2.3 is written using id3lib,\n"
+#| " - ID3v2.4 is written using libid3tag (recommended)."
+msgid ""
+"Select the ID3v2 tag version to write:\n"
+" • ID3v2.3 is written using id3lib,\n"
+" • ID3v2.4 is written using libid3tag (recommended)"
+msgstr ""
+"Seleccionar la versión de la etiqueta ID3v2 para escribir:\n"
+"- ID3v2.3 está escrita usando id3lib,\n"
+"- ID3v2.4 está escrita usando libid3tag (recomendado)."
 
-#: ../src/charset.c:63
-msgid "Cyrillic (ISO-IR-111)"
-msgstr "Cirílico (ISO-IR-111)"
+#: ../data/preferences_dialog.ui.h:88
+#| msgid "Try another character encoding"
+msgid "Character encoding:"
+msgstr "Codificación de caracteres:"
 
-#: ../src/charset.c:64
-msgid "Cyrillic (KOI8-R)"
-msgstr "Cirílico (KOI8-R)"
+#: ../data/preferences_dialog.ui.h:89
+#| msgid "Unicode "
+msgid "Unicode"
+msgstr "Unicode"
 
-#: ../src/charset.c:65
-msgid "Cyrillic (Windows-1251)"
-msgstr "Cirílico (Windows-1251)"
+#: ../data/preferences_dialog.ui.h:90
+msgid ""
+"Choose the Unicode character encoding to be used when writing ID3v2 tags"
+msgstr ""
 
-#: ../src/charset.c:66
-msgid "Cyrillic/Russian (CP-866)"
-msgstr "Cirílico/ruso (CP-866)"
+#: ../data/preferences_dialog.ui.h:92
+msgid ""
+"Override the standard Unicode character encoding to be used when writing "
+"ID3v2 tags"
+msgstr ""
 
-#: ../src/charset.c:67
-msgid "Cyrillic/Ukrainian (KOI8-U)"
-msgstr "Cirílico/ucraniano (KOI8-U)"
+#: ../data/preferences_dialog.ui.h:93
+msgid "When encoding conversion fails:"
+msgstr ""
 
-#: ../src/charset.c:68
-msgid "English (US-ASCII)"
-msgstr "Inglés (US-ASCII)"
+#: ../data/preferences_dialog.ui.h:94
+msgid "Report error"
+msgstr "Informar de un error"
 
-#: ../src/charset.c:69
-msgid "Greek (ISO-8859-7)"
-msgstr "Griego (ISO-8859-7)"
+#: ../data/preferences_dialog.ui.h:95
+#, fuzzy
+#| msgid ""
+#| "With this option, when a character cannot be represented in the target "
+#| "character set, it will be silently discarded."
+msgid ""
+"Display an error message when a character cannot be represented in the "
+"target character encoding and keep the original character"
+msgstr ""
+"Con esta opción, cuando un carácter no se pueda representar en el conjunto "
+"de caracteres destino, se descartará silenciosamente."
 
-#: ../src/charset.c:70
-msgid "Greek (Windows-1253)"
-msgstr "Griego (Windows-1253)"
+#: ../data/preferences_dialog.ui.h:96
+msgid "Transliterate"
+msgstr "Transcribir"
 
-#: ../src/charset.c:71
-msgid "Hebrew (IBM-862)"
-msgstr "Hebreo (IBM-862)"
+#: ../data/preferences_dialog.ui.h:97
+#| msgid "Disc"
+msgid "Discard"
+msgstr "Descartar"
 
-#: ../src/charset.c:72
-msgid "Hebrew (Windows-1255)"
-msgstr "Hebreo (Windows-1255)"
+#: ../data/preferences_dialog.ui.h:98
+msgid "Automatically convert old ID3v2 tag versions"
+msgstr "Convertir automáticamente versiones antiguas de etiqueta ID3v2"
 
-#: ../src/charset.c:73
-msgid "Japanese (EUC-JP)"
-msgstr "Japonés (EUC-JP)"
+#: ../data/preferences_dialog.ui.h:99
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:78
+msgid ""
+"Whether to convert ID3 tags written against old version of the "
+"specification, such as ID3v2.2, to newer ones, such as ID3v2.3 or ID3v2.4"
+msgstr ""
 
-#: ../src/charset.c:74
-msgid "Japanese (ISO-2022-JP)"
-msgstr "Japonés (ISO-2022-JP)"
+#: ../data/preferences_dialog.ui.h:100
+#| msgid "Use CRC32"
+msgid "Use CRC-32"
+msgstr "Usar CRC-32"
 
-#: ../src/charset.c:75
-msgid "Japanese (Shift_JIS)"
-msgstr "Japonés (Shift_JIS)"
+#: ../data/preferences_dialog.ui.h:101
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:82
+msgid "Whether to embed a CRC-32 checksum of the audio file data in ID3v2 tags"
+msgstr ""
 
-#: ../src/charset.c:76
-msgid "Korean (EUC-KR)"
-msgstr "Coreano (EUC-KR)"
+#: ../data/preferences_dialog.ui.h:102
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:79
+#, fuzzy
+#| msgid "Set Compression in the ID3v2 tags"
+msgid "Compress data in ID3v2 tags"
+msgstr "Establecer compresión en las etiquetas ID3v2"
 
-#: ../src/charset.c:77
-msgid "Nordic (ISO-8859-10)"
-msgstr "Nórdico (ISO-8859-10)"
+#: ../data/preferences_dialog.ui.h:103
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:80
+#, fuzzy
+#| msgid "Set Compression in the ID3v2 tags"
+msgid "Whether to compress data in ID3v2 tags"
+msgstr "Establecer compresión en las etiquetas ID3v2"
 
-#: ../src/charset.c:78
-msgid "South European (ISO-8859-3)"
-msgstr "Sur Europeo (ISO-8859-3)"
+#: ../data/preferences_dialog.ui.h:104
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:83
+msgid "Use text-only genre in ID3v2 tags"
+msgstr ""
 
-#: ../src/charset.c:79
-msgid "Thai (TIS-620)"
-msgstr "Tailandés (TIS-620)"
+#: ../data/preferences_dialog.ui.h:105
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:84
+msgid ""
+"Whether to use only a string, and not the integer-base ID3v1 genre field, "
+"when writing a genre field to ID3v2 tags"
+msgstr ""
 
-#: ../src/charset.c:80
-msgid "Turkish (IBM-857)"
-msgstr "Turco (IBM-857)"
+#: ../data/preferences_dialog.ui.h:106
+#| msgid "ID3v1 tags"
+msgid "ID3v1"
+msgstr "ID3v1"
 
-#: ../src/charset.c:81
-msgid "Turkish (ISO-8859-9)"
-msgstr "Turco (ISO-8859-9)"
+#: ../data/preferences_dialog.ui.h:107
+#, fuzzy
+#| msgid "Write ID3v1.x tag"
+msgid "Write ID3v1 tag"
+msgstr "Escribir etiqueta ID3v1.x"
 
-#: ../src/charset.c:82
-msgid "Turkish (Windows-1254)"
-msgstr "Turco (Windows-1254)"
+#: ../data/preferences_dialog.ui.h:108
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:66
+msgid "Whether to write ID3v1 tags when writing ID3 tags into audio files"
+msgstr ""
 
-#. {N_("Unicode (UTF-7)"),                   "UTF-7"         },
-#: ../src/charset.c:84
-msgid "Unicode (UTF-8)"
-msgstr "Unicode (UTF-8)"
+#: ../data/preferences_dialog.ui.h:109
+#, fuzzy
+#| msgid "Character Set for writing ID3 tags"
+msgid "Choose the character set to be used when writing ID3v1 tag"
+msgstr "Conjunto de caracteres para escribir etiquetas ID3"
 
-#. {N_("Unicode (UTF-16BE)"),                "UTF-16BE"      },
-#. {N_("Unicode (UTF-16LE)"),                "UTF-16LE"      },
-#. {N_("Unicode (UTF-32BE)"),                "UTF-32BE"      },
-#. {N_("Unicode (UTF-32LE)"),                "UTF-32LE"      },
-#: ../src/charset.c:91
-msgid "Vietnamese (VISCII)"
-msgstr "Vietnamita (VISCII)"
+#: ../data/preferences_dialog.ui.h:110
+#| msgid "ID3 Tag"
+msgid "ID3 Tags"
+msgstr "Etiqueta ID3"
 
-#: ../src/charset.c:92
-msgid "Vietnamese (Windows-1258)"
-msgstr "Vietnamita (Windows-1258)"
+#: ../data/preferences_dialog.ui.h:111
+#, fuzzy
+#| msgid "Fill Tag Scanner - Character Conversion"
+msgid "Character Conversion"
+msgstr "Analizador de relleno de etiquetas: conversión de caracteres"
 
-#: ../src/charset.c:93
-msgid "Visual Hebrew (ISO-8859-8)"
-msgstr "Hebreo visual (ISO-8859-8)"
+#: ../data/preferences_dialog.ui.h:112
+#, fuzzy
+#| msgid "Fill Tag"
+msgid "Fill Tag Scanner"
+msgstr "Rellenar etiqueta"
 
-#: ../src/charset.c:94
-msgid "Western (IBM-850)"
-msgstr "Occidental (IBM-850)"
+#: ../data/preferences_dialog.ui.h:114
+#, fuzzy, no-c-format
+#| msgid "Convert '_' and '%20' to spaces"
+msgid "Convert underscores and ‘%20’ to spaces"
+msgstr "Convertir «_» y «%20» a espacios"
 
-#: ../src/charset.c:95
-msgid "Western (ISO-8859-1)"
-msgstr "Occidental (ISO-8859-1)"
+#: ../data/preferences_dialog.ui.h:116
+#, fuzzy, no-c-format
+#| msgid "Convert space ' ' to underscore '_'"
+msgid "Convert spaces and ‘%20’ to underscores"
+msgstr "Convertir espacios « » a subrayados «_»"
 
-#: ../src/charset.c:96
-msgid "Western (ISO-8859-15)"
-msgstr "Occidental (ISO-8859-15)"
+#: ../data/preferences_dialog.ui.h:117
+msgid "No conversion"
+msgstr "Sin conversión"
 
-#: ../src/charset.c:97
-msgid "Western (Windows-1252)"
-msgstr "Occidental (Windows-1252)"
+#: ../data/preferences_dialog.ui.h:118
+#, fuzzy
+#| msgid "Rename File and Directory"
+msgid "Rename File and Directory Scanner"
+msgstr "Renombrar archivo y carpeta"
 
-#: ../src/charset.c:511
-#, c-format
-msgid "The filename '%s' couldn't be converted into UTF-8 (%s)."
-msgstr "El nombre de archivo «%s» no se pudo convertir a UTF-8 (%s)."
+#: ../data/preferences_dialog.ui.h:119
+#, fuzzy
+#| msgid "Process Fields"
+msgid "Process Fields Scanner"
+msgstr "Procesar campos"
 
-#: ../src/charset.c:512 ../src/charset.c:611 ../src/charset.c:674
-msgid "Invalid UTF-8"
-msgstr "UTF-8 no válido"
+#: ../data/preferences_dialog.ui.h:120
+#, fuzzy
+#| msgid "Capitalize the first letter of each word"
+msgid "Upper-case the first letters of all words"
+msgstr "Primera letra de cada palabra en mayúscula"
 
-#: ../src/charset.c:610
-#, c-format
+#: ../data/preferences_dialog.ui.h:121
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:150
 msgid ""
-"The UTF-8 string '%s' couldn't be converted into filename encoding (%s)."
+"Whether to upper-case the first letter of all words, including prepositions "
+"and other short words such as “feat.”, when processing tag fields"
 msgstr ""
-"La cadena UTF-8 «%s» no se pudo convertir a la codificación del nombre de "
-"archivo (%s)."
 
-#: ../src/charset.c:673
-#, c-format
-msgid "The string '%s' couldn't be converted into UTF-8 (%s)."
-msgstr "La cadena «%s» no se pudo convertir a UTF-8 (%s)."
+#: ../data/preferences_dialog.ui.h:122
+msgid "Fields"
+msgstr "Campos"
 
-#. Starting messages
-#: ../src/easytag.c:185
-#, c-format
-msgid "Starting EasyTAG version %s (PID: %d)…"
-msgstr "Iniciando EasyTAG versión %s (PID: %d)…"
+#: ../data/preferences_dialog.ui.h:123
+msgid "Overwrite fields when scanning tags"
+msgstr "Sobrescribir campos al analizar etiquetas"
 
-#: ../src/easytag.c:187
-#, c-format
-msgid "Using libid3tag version %s"
-msgstr "Usando libid3tag versión %s"
+#: ../data/preferences_dialog.ui.h:124
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:111
+msgid ""
+"Whether to overwrite the tag field values when filling tags. Otherwise, only "
+"blank tag fields will be filled"
+msgstr ""
 
-#: ../src/easytag.c:190
-#, c-format
-msgid "Using id3lib version %d.%d.%d"
-msgstr "Usando id3lib versión %d.%d.%d"
+#: ../data/preferences_dialog.ui.h:125
+msgid "Set this text as default comment:"
+msgstr "Establecer este texto como comentario predeterminado:"
 
-#: ../src/easytag.c:196
-#, c-format
-msgid "Variable EASYTAGLANG defined. Setting locale: '%s'"
-msgstr "Variable EASYTAGLANG definida. Configuración regional: «%s»"
+#: ../data/preferences_dialog.ui.h:126
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:113
+msgid ""
+"Whether to set the comment tag field to the provided default value when "
+"filling tags"
+msgstr ""
 
-#: ../src/easytag.c:198
-#, c-format
-msgid "Setting locale: '%s'"
-msgstr "Configuración regional: «%s»"
+#: ../data/preferences_dialog.ui.h:127
+#, fuzzy
+#| msgid "Use CRC32 as the default comment (for files with ID3 tags only)."
+msgid "Use CRC-32 as the default comment (for files with ID3 tags only)"
+msgstr ""
+"Usar CRC32 como el comentario predeterminado (sólo para archivos con "
+"etiquetas ID3)."
 
-#: ../src/easytag.c:203
-#, c-format
-msgid "Currently using locale '%s' (and eventually '%s')"
+#: ../data/preferences_dialog.ui.h:128
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:117
+#, fuzzy
+#| msgid "Use CRC32 as the default comment (for files with ID3 tags only)."
+msgid ""
+"Whether to use the CRC-32 of the audio file data as the default comment, for "
+"files with ID3 tags only"
 msgstr ""
-"Usando actualmente la configuración regional «%s» (y eventualmente «%s»)"
+"Usar CRC32 como el comentario predeterminado (sólo para archivos con "
+"etiquetas ID3)."
 
-#: ../src/easytag.c:210
-msgid "Unable to create setting directories"
-msgstr "No se puede crear la carpeta de configuraciones"
+#: ../data/preferences_dialog.ui.h:129
+msgid "Scanner"
+msgstr "Analizador"
 
-#: ../src/easytag.c:427 ../src/et_core.c:638 ../src/et_core.c:650
-#, c-format
-msgid "Error while querying information for file: '%s' (%s)"
-msgstr "Error al consultar la información del archivo: «%s» (%s)"
+#: ../data/preferences_dialog.ui.h:130
+#, fuzzy
+#| msgid "Automatic Search"
+msgid "Automatic Search Servers"
+msgstr "Búsqueda automática"
 
-#: ../src/easytag.c:490
-#, c-format
-msgid "Cannot open path '%s'"
-msgstr "No se puede abrir la ruta: «%s»"
+#: ../data/preferences_dialog.ui.h:131
+#| msgid "Host Name:"
+msgid "Host:"
+msgstr "Equipo:"
 
-#.
-#. * Browser
-#.
-#: ../src/easytag.c:583 ../src/prefs.c:142
-msgid "Browser"
-msgstr "Examinador"
+#: ../data/preferences_dialog.ui.h:132
+msgid "Port:"
+msgstr "Puerto:"
 
-#: ../src/easytag.c:605 ../src/et_core.c:2858
-msgid "File"
-msgstr "Archivo"
+#: ../data/preferences_dialog.ui.h:133
+msgid "CGI Path:"
+msgstr "Ruta a CGI:"
 
-#. Default values are MPs data
-#. Nothing to display
-#. gtk_label_set_text(GTK_LABEL(VersionLabel),"");
-#. gtk_label_set_text(GTK_LABEL(VersionValueLabel),"");
-#. Version changed to encoder version
-#. Encoder version
-#: ../src/easytag.c:637 ../src/easytag.c:4226 ../src/flac_header.c:201
-#: ../src/monkeyaudio_header.c:96 ../src/musepack_header.c:98
-#: ../src/ogg_header.c:389 ../src/opus_header.c:221 ../src/wavpack_header.c:72
-#, c-format
-msgid "Encoder:"
-msgstr "Codificador:"
+#: ../data/preferences_dialog.ui.h:134
+#, fuzzy
+#| msgid "Manual Search"
+msgid "Manual Search Server"
+msgstr "Búsqueda manual"
 
-#: ../src/easytag.c:645
-msgid "Bitrate:"
-msgstr "Tasa de bits:"
+#: ../data/preferences_dialog.ui.h:135
+msgid "Proxy"
+msgstr "Proxy"
 
-#. Translators: Please try to keep this string as short as possible as it
-#. * is shown in a narrow column.
-#: ../src/easytag.c:655
-msgid "Frequency:"
-msgstr "Frecuencia:"
+#: ../data/preferences_dialog.ui.h:136
+#, fuzzy
+#| msgid "Use a proxy"
+msgid "Use a proxy server"
+msgstr "Usar un proxy"
 
-#. Mode
-#: ../src/easytag.c:666 ../src/easytag.c:4230 ../src/mpeg_header.c:216
-msgid "Mode:"
-msgstr "Modo:"
+#: ../data/preferences_dialog.ui.h:137
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:28
+msgid "Whether to access remote CDDB through a proxy"
+msgstr ""
 
-#: ../src/easytag.c:673
-msgid "Size:"
-msgstr "Tamaño:"
+#: ../data/preferences_dialog.ui.h:138
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:30
+msgid "Hostname for a proxy to access remote CDDB"
+msgstr ""
 
-#: ../src/easytag.c:680
-msgid "Duration:"
-msgstr "Duración:"
+#: ../data/preferences_dialog.ui.h:139
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:32
+msgid "Port for a proxy to access remote CDDB"
+msgstr ""
 
-#. Main Frame
-#: ../src/easytag.c:726 ../src/et_core.c:2788
-msgid "Tag"
-msgstr "Etiqueta"
+#: ../data/preferences_dialog.ui.h:140
+#| msgid "User Name:"
+msgid "User:"
+msgstr "Usuario:"
 
-#.
-#. * 1 - Page for common tag fields
-#.
-#: ../src/easytag.c:748
-msgid "Common"
-msgstr "General"
+#: ../data/preferences_dialog.ui.h:141
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:34
+msgid "Username for a proxy to access remote CDDB"
+msgstr ""
 
-#. Title
-#: ../src/easytag.c:755
-msgid "Title:"
-msgstr "Título:"
+#: ../data/preferences_dialog.ui.h:142
+#| msgid "User Password:"
+msgid "Password:"
+msgstr "Contraseña:"
 
-#: ../src/easytag.c:769
-msgid "Tag selected files with this title"
-msgstr "Etiquetar archivos seleccionados con este título"
+#: ../data/preferences_dialog.ui.h:143
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:36
+msgid "Password for a proxy to access remote CDDB"
+msgstr ""
 
-#. Artist
-#: ../src/easytag.c:774
-msgid "Artist:"
-msgstr "Artista:"
+#: ../data/preferences_dialog.ui.h:144
+#| msgid "Results:"
+msgid "Results List"
+msgstr "Lista de resultados"
 
-#: ../src/easytag.c:788
-msgid "Tag selected files with this artist"
-msgstr "Etiquetar archivos seleccionados con este artista"
+#: ../data/preferences_dialog.ui.h:145
+#, fuzzy
+#| msgid ""
+#| "Select corresponding audio file (according position or DLM if activated "
+#| "below)"
+msgid ""
+"Select corresponding file (according to position or DLM if activated below)"
+msgstr ""
+"Seleccionar el archivo de sonido correspondiente (de acuerdo a la posición o "
+"DLM si estuviese activado abajo)"
 
-#. Album Artist
-#: ../src/easytag.c:793
-msgid "Album artist:"
-msgstr "Artista del álbum:"
+#: ../data/preferences_dialog.ui.h:146
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:26
+msgid ""
+"Whether to select the file in the file list which matches the position in "
+"the CDDB results list"
+msgstr ""
 
-#: ../src/easytag.c:807
-msgid "Tag selected files with this album artist"
-msgstr "Etiquetar archivos seleccionados con este artista del álbum"
+#: ../data/preferences_dialog.ui.h:147
+#, fuzzy
+#| msgid ""
+#| "Use the Levenshtein algorithm (DLM) to match lines (using title) with "
+#| "audio files (using filename)"
+msgid ""
+"Use the Levenshtein algorithm (DLM) to match results (using title) with "
+"audio files (using filename)"
+msgstr ""
+"Usar el algoritmo de Levenshtein (DLM) para coincidir las líneas (usando el "
+"título) con los archivos de sonido (usando el nombre del archivo)"
 
-#. Album
-#: ../src/easytag.c:812
-msgid "Album:"
-msgstr "Álbum:"
+#: ../data/preferences_dialog.ui.h:149
+msgid "CDDB"
+msgstr "CDDB"
 
-#: ../src/easytag.c:826
-msgid "Tag selected files with this album name"
-msgstr "Etiquetar archivos seleccionados con este nombre de álbum"
+#: ../data/preferences_dialog.ui.h:150
+msgid "Confirmation"
+msgstr "Confirmación"
 
-#. Disc Number
-#: ../src/easytag.c:831
-msgid "CD:"
-msgstr "CD:"
+#: ../data/preferences_dialog.ui.h:151
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:118
+#, fuzzy
+#| msgid "Confirm writing of playlist"
+msgid "Confirm before quitting the application"
+msgstr "Confirmar escritura de la lista de reproducción"
 
-#: ../src/easytag.c:848
-msgid "Tag selected files with this disc number"
-msgstr "Etiquetar archivos seleccionados con este número de disco"
+#: ../data/preferences_dialog.ui.h:152
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:119
+msgid ""
+"Whether to ask for confirmation from the user before quitting the application"
+msgstr ""
 
-#. Year
-#: ../src/easytag.c:853
-msgid "Year:"
-msgstr "Año:"
+#: ../data/preferences_dialog.ui.h:153
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:120
+#, fuzzy
+#| msgid "Confirm writing of file tag"
+msgid "Confirm before writing tags"
+msgstr "Confirmar escritura de la etiqueta del archivo"
 
-#: ../src/easytag.c:873
-msgid "Tag selected files with this year"
-msgstr "Etiquetar archivos seleccionados con este año"
+#: ../data/preferences_dialog.ui.h:154
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:121
+msgid ""
+"Whether to ask for confirmation from the user before writing tags to audio "
+"files"
+msgstr ""
 
-#: ../src/easytag.c:887
-msgid "Number selected tracks sequentially. Starts at 01 in each subdirectory."
+#: ../data/preferences_dialog.ui.h:155
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:122
+#, fuzzy
+#| msgid "Confirm renaming of file"
+msgid "Confirm before renaming a file"
+msgstr "Confirmar renombrado de archivo"
+
+#: ../data/preferences_dialog.ui.h:156
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:123
+msgid "Whether to ask for confirmation from the user before renaming a file"
 msgstr ""
-"Numerar todas las pistas seleccionadas secuencialmente. Empieza con 01 en "
-"cada subcarpeta."
 
-#. To have enough space to display the icon
-#. To have enough space to display the icon
-#: ../src/easytag.c:896
-msgid "Track #:"
-msgstr "Pista n.º:"
+#: ../data/preferences_dialog.ui.h:157
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:126
+#, fuzzy
+#| msgid "Confirm deleting of file"
+msgid "Confirm before deleting a file"
+msgstr "Confirmar eliminación de archivos"
 
-#: ../src/easytag.c:927
-msgid ""
-"Set the number of files, in the same directory of the displayed file, to the "
-"selected tracks."
+#: ../data/preferences_dialog.ui.h:158
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:127
+msgid "Whether to ask for confirmation from the user before deleting a file"
 msgstr ""
-"Establecer el número de archivos, en la misma carpeta del archivo mostrado, "
-"a las pistas seleccionadas."
 
-#: ../src/easytag.c:947
-msgid "Tag selected files with this number of tracks"
-msgstr "Etiquetar archivos seleccionados con este número de pistas"
+#: ../data/preferences_dialog.ui.h:159
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:124
+#, fuzzy
+#| msgid "Confirm writing of playlist"
+msgid "Confirm before writing a playlist"
+msgstr "Confirmar escritura de la lista de reproducción"
 
-#. Genre
-#: ../src/easytag.c:951
-msgid "Genre:"
-msgstr "Género:"
+#: ../data/preferences_dialog.ui.h:160
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:125
+msgid "Whether to ask for confirmation from the user before writing a playlist"
+msgstr ""
 
-#: ../src/easytag.c:979
-msgid "Tag selected files with this genre"
-msgstr "Etiquetar archivos seleccionados con este género"
+#: ../data/preferences_dialog.ui.h:161
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:128
+#, fuzzy
+#| msgid "Confirm renaming of file"
+msgid "Confirm before losing unsaved changes to files"
+msgstr "Confirmar renombrado de archivo"
 
-#. Comment
-#: ../src/easytag.c:984
-msgid "Comment:"
-msgstr "Comentario:"
+#: ../data/preferences_dialog.ui.h:162
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:129
+msgid ""
+"Whether to ask for confirmation from the user before performing an operation "
+"that would lose unsaved changes on files"
+msgstr ""
 
-#: ../src/easytag.c:1011
-msgid "Tag selected files with this comment"
-msgstr "Etiquetar archivos seleccionados con este comentario"
+#: ../data/preferences_dialog.ui.h:163
+#| msgid "Scanner Window"
+msgid "Scanner Dialog"
+msgstr "Diálogo del analizador"
 
-#. Attach_Popup_Menu_To_Tag_Entries(GTK_ENTRY(CommentView));
-#. Composer (name of the composers)
-#: ../src/easytag.c:1018
-msgid "Composer:"
-msgstr "Compositor:"
+#: ../data/preferences_dialog.ui.h:164
+#, fuzzy
+#| msgid "Open the Scanner Window on startup"
+msgid "Show the scanner dialog on startup"
+msgstr "Abrir la ventana del analizador al arrancar."
 
-#: ../src/easytag.c:1032
-msgid "Tag selected files with this composer"
-msgstr "Etiquetar archivos seleccionados con este compositor"
+#: ../data/preferences_dialog.ui.h:165
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:202
+#, fuzzy
+#| msgid "Open the Scanner Window on startup"
+msgid "Whether to show the scanner window on application startup"
+msgstr "Abrir la ventana del analizador al arrancar."
 
-#. Translators: Original Artist / Performer. Please try to keep this string
-#. * as short as possible, as it must fit into a narrow column.
-#: ../src/easytag.c:1039
-msgid "Orig. artist:"
-msgstr "Artista orig.:"
+#: ../data/preferences_dialog.ui.h:166
+msgid "Application"
+msgstr "Aplicación"
 
-#: ../src/easytag.c:1053
-msgid "Tag selected files with this original artist"
-msgstr "Etiquetar archivos seleccionados con este artista original"
+#: ../data/scan_dialog.ui.h:1
+#, fuzzy
+#| msgid ""
+#| "Select or type in a mask using codes (see Legend) to parse filename and "
+#| "path. Used to fill in tag fields"
+msgid ""
+"Select or type in a mask using codes (see Legend) to parse filename and "
+"directory. Used to fill in tag fields"
+msgstr ""
+"Seleccionar o introducir una máscara usando códigos (consulte la leyenda) "
+"para analizar el nombre de archivo y la ruta. Se usa para rellenar campos de "
+"etiquetas."
 
-#. Copyright
-#: ../src/easytag.c:1059
-msgid "Copyright:"
-msgstr "Copyright:"
+#: ../data/scan_dialog.ui.h:2
+msgid "Fill tag preview"
+msgstr "Rellenar vista previa de la etiqueta"
 
-#: ../src/easytag.c:1073
-msgid "Tag selected files with this copyright"
-msgstr "Etiquetar archivos seleccionados con este copyright"
+#: ../data/scan_dialog.ui.h:3
+msgid "Mask Editor"
+msgstr "Editor de máscara"
 
-#. URL
-#: ../src/easytag.c:1079
-msgid "URL:"
-msgstr "URL:"
+#: ../data/scan_dialog.ui.h:4
+#| msgid "Create New Mask"
+msgid "Create a new mask"
+msgstr "Crear una máscara nueva"
 
-#: ../src/easytag.c:1093
-msgid "Tag selected files with this URL"
-msgstr "Etiquetar archivos seleccionados con este URL"
+#: ../data/scan_dialog.ui.h:5
+#, fuzzy
+#| msgid "Move up the selected line"
+msgid "Move the selected mask up"
+msgstr "Subir la línea seleccionada"
 
-#. Encoded by
-#: ../src/easytag.c:1099
-msgid "Encoded by:"
-msgstr "Codificado por:"
+#: ../data/scan_dialog.ui.h:6
+#, fuzzy
+#| msgid "Move up the selected line"
+msgid "Move the selected mask down"
+msgstr "Subir la línea seleccionada"
 
-#: ../src/easytag.c:1113
-msgid "Tag selected files with this encoder name"
-msgstr "Etiquetar archivos seleccionados con este nombre de codificador"
+#: ../data/scan_dialog.ui.h:7
+#, fuzzy
+#| msgid "Delete the selected line"
+msgid "Duplicate the selected mask"
+msgstr "Eliminar la línea seleccionada"
 
-#.
-#. * 2 - Page for extra tag fields
-#.
-#: ../src/easytag.c:1146 ../src/et_core.c:3230 ../src/et_core.c:3233
-msgid "Images"
-msgstr "Imágenes"
+#: ../data/scan_dialog.ui.h:8
+#, fuzzy
+#| msgid "Add Default Masks"
+msgid "Add default masks"
+msgstr "Añadir máscaras predeterminadas"
 
-#: ../src/easytag.c:1170
-msgid "You can use drag and drop to add an image"
-msgstr "Puede arrastrar y soltar para añadir una imagen"
+#: ../data/scan_dialog.ui.h:9
+#, fuzzy
+#| msgid "Move up the selected line"
+msgid "Remove the selected mask"
+msgstr "Subir la línea seleccionada"
 
-#: ../src/easytag.c:1219
-msgid "Add images to the tag"
-msgstr "Añadir imágenes a la etiqueta"
+#: ../data/scan_dialog.ui.h:10
+#, fuzzy
+#| msgid "Save Masks"
+msgid "Save masks"
+msgstr "Guardar máscaras"
 
-#: ../src/easytag.c:1237
-msgid "Remove selected images from the tag"
-msgstr "Quitar las imágenes seleccionadas de la etiqueta"
+#: ../data/scan_dialog.ui.h:11
+msgid "Legend"
+msgstr "Leyenda"
 
-#: ../src/easytag.c:1248
-msgid "Save the selected images to files"
-msgstr "Guardar las imágenes seleccionadas a archivos"
+#: ../data/scan_dialog.ui.h:13
+#, no-c-format
+msgid "%a: artist"
+msgstr "%a: artista"
 
-#: ../src/easytag.c:1259
-msgid "Edit image properties"
-msgstr "Editar las propiedades de la imagen"
+#: ../data/scan_dialog.ui.h:15
+#, fuzzy, no-c-format
+#| msgid "%z: album artist"
+msgid "%a: album artist"
+msgstr "%z: artista del álbum"
 
-#: ../src/easytag.c:1270
-msgid "Tag selected files with these images"
-msgstr "Etiquetar archivos seleccionados con estas imágenes"
+#: ../data/scan_dialog.ui.h:17
+#, no-c-format
+msgid "%b: album"
+msgstr "%b: álbum"
 
-#: ../src/easytag.c:1328
-#, c-format
-msgid "Selected files tagged with title '%s'."
-msgstr "Archivos seleccionados etiquetados con el título «%s»."
+#: ../data/scan_dialog.ui.h:19
+#, no-c-format
+msgid "%c: comment"
+msgstr "%c: comentario"
 
-#: ../src/easytag.c:1330
-msgid "Removed title from selected files."
-msgstr "Título eliminado de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:21
+#, no-c-format
+msgid "%p: composer"
+msgstr "%p: compositor"
 
-#: ../src/easytag.c:1345
-#, c-format
-msgid "Selected files tagged with artist '%s'."
-msgstr "Archivos seleccionados etiquetados con el artista «%s»."
+#: ../data/scan_dialog.ui.h:23
+#, no-c-format
+msgid "%r: copyright"
+msgstr "%r: copyright"
 
-#: ../src/easytag.c:1347
-msgid "Removed artist from selected files."
-msgstr "Artista eliminado de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:25
+#, no-c-format
+msgid "%d: disc number"
+msgstr "%d: número de disco"
 
-#: ../src/easytag.c:1361
-#, c-format
-msgid "Selected files tagged with album artist '%s'."
-msgstr "Archivos seleccionados etiquetados con el artista del álbum «%s»."
+#: ../data/scan_dialog.ui.h:27
+#, no-c-format
+msgid "%e: encoded by"
+msgstr "%e: codificado por"
 
-#: ../src/easytag.c:1363
-msgid "Removed album artist from selected files."
-msgstr "Eliminado artista del álbum de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:29
+#, no-c-format
+msgid "%g: genre"
+msgstr "%g: género"
 
-#: ../src/easytag.c:1378
-#, c-format
-msgid "Selected files tagged with album '%s'."
-msgstr "Archivos seleccionados etiquetados con álbum «%s»."
+#: ../data/scan_dialog.ui.h:31
+#, no-c-format
+msgid "%i: ignored"
+msgstr "%i: ignorado"
 
-#: ../src/easytag.c:1380
-msgid "Removed album name from selected files."
-msgstr "Nombre de álbum eliminado de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:33
+#, no-c-format
+msgid "%l: number of tracks"
+msgstr "%l: número de pistas"
 
-#: ../src/easytag.c:1417
-#, c-format
-msgid "Selected files tagged with disc number '%s/%s'."
-msgstr "Archivos seleccionados etiquetados con el número de disco «%s/%s»."
+#: ../data/scan_dialog.ui.h:35
+#, fuzzy, no-c-format
+#| msgid "%o: orig. artist"
+msgid "%o: original artist"
+msgstr "%o: artista orig."
 
-#: ../src/easytag.c:1422
-#, c-format
-msgid "Selected files tagged with disc number like 'xx'."
-msgstr "Archivos seleccionados etiquetados con el número de disco como «xx»."
+#: ../data/scan_dialog.ui.h:37
+#, no-c-format
+msgid "%n: track"
+msgstr "%n: pista"
 
-#: ../src/easytag.c:1427
-msgid "Removed disc number from selected files."
-msgstr "Número de disco eliminado de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:39
+#, no-c-format
+msgid "%t: title"
+msgstr "%t: título"
 
-#: ../src/easytag.c:1443
-#, c-format
-msgid "Selected files tagged with year '%s'."
-msgstr "Archivos seleccionados etiquetados con el año «%s»."
+#: ../data/scan_dialog.ui.h:41
+#, no-c-format
+msgid "%u: URL"
+msgstr "%u: URL"
 
-#: ../src/easytag.c:1445
-msgid "Removed year from selected files."
-msgstr "Año eliminado de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:43
+#, no-c-format
+msgid "%x: number of discs"
+msgstr "%x: número de discos"
 
-#: ../src/easytag.c:1471 ../src/easytag.c:1561
-#, c-format
-msgid "Selected files tagged with track like 'xx/%s'."
-msgstr "Archivos seleccionados etiquetados con la pista como «xx/%s»."
+#: ../data/scan_dialog.ui.h:45
+#, no-c-format
+msgid "%y: year"
+msgstr "%y: año"
 
-#: ../src/easytag.c:1474
-#, c-format
-msgid "Selected files tagged with track like 'xx'."
-msgstr "Archivos seleccionados etiquetados con la pista como «xx»."
+#: ../data/scan_dialog.ui.h:46
+msgid "Fill Tag"
+msgstr "Rellenar etiqueta"
 
-#: ../src/easytag.c:1478 ../src/easytag.c:1564
-msgid "Removed track number from selected files."
-msgstr "Número de pista eliminado de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:47
+#, fuzzy
+#| msgid "Prefix mask with current path"
+msgid "Prefix mask with current directory"
+msgstr "Máscara del prefijo con la ruta actual"
 
-#. msg = g_strdup_printf(_("All %d tracks numbered sequentially."), ETCore->ETFileSelectionList_Length);
-#: ../src/easytag.c:1534
-#, c-format
-msgid "Selected tracks numbered sequentially."
-msgstr "Pistas seleccionadas numeradas secuencialmente."
+#: ../data/scan_dialog.ui.h:48
+#, fuzzy
+#| msgid ""
+#| "Select or type in a mask using codes (see Legend) to parse tag fields. "
+#| "Used to rename the file.\n"
+#| "Use / to make directories. If the first character is /, it's a absolute "
+#| "path, otherwise is relative to the old path."
+msgid ""
+"Select or type in a mask using codes (see Legend) to parse tag fields. Used "
+"to rename the file.\n"
+"        Use ‘/’ to make directories. If the first character is ‘/’, it is an "
+"absolute path, otherwise is relative to the old path"
+msgstr ""
+"Seleccione o introduzca una máscara usando códigos (consulte la leyenda) "
+"para analizar campos de etiquetas. Se usa para renombrar el archivo.\n"
+"Use «/» para hacer carpetas. Si el primer carácter es «/», es una ruta "
+"absoluta, de lo contrario es relativa a la ruta anterior."
 
-#: ../src/easytag.c:1580
-#, c-format
-msgid "Selected files tagged with genre '%s'."
-msgstr "Archivos seleccionados etiquetados con el género «%s»."
+#: ../data/scan_dialog.ui.h:50
+msgid "Rename file preview"
+msgstr "Renombrar vista previa del archivo"
 
-#: ../src/easytag.c:1582
-msgid "Removed genre from selected files."
-msgstr "Género eliminado de los archivos seleccionados."
+#. Only filename changed
+#: ../data/scan_dialog.ui.h:51 ../src/easytag.c:581
+msgid "Rename File"
+msgstr "Renombrar el archivo"
 
-#: ../src/easytag.c:1604
-#, c-format
-msgid "Selected files tagged with comment '%s'."
-msgstr "Archivos seleccionados etiquetados con el comentario «%s»."
+#: ../data/scan_dialog.ui.h:52
+#, fuzzy
+#| msgid "Fields"
+msgid "Tag Fields"
+msgstr "Campos"
 
-#: ../src/easytag.c:1606
-msgid "Removed comment from selected files."
-msgstr "Comentario eliminado de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:54
+#, fuzzy
+#| msgid "Process filename field"
+msgid "Process filename"
+msgstr "Procesar campo del nombre de archivo"
 
-#: ../src/easytag.c:1620
-#, c-format
-msgid "Selected files tagged with composer '%s'."
-msgstr "Archivos seleccionados etiquetados con el compositor «%s»."
+#: ../data/scan_dialog.ui.h:56
+msgid "Process title field"
+msgstr "Procesar campo de título"
 
-#: ../src/easytag.c:1622
-msgid "Removed composer from selected files."
-msgstr "Eliminado el compositor de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:58
+#, fuzzy
+#| msgid "Process file artist field"
+msgid "Process artist field"
+msgstr "Procesar campo de artista de archivo"
 
-#: ../src/easytag.c:1637
-#, c-format
-msgid "Selected files tagged with original artist '%s'."
-msgstr "Archivos seleccionados etiquetados con el artista original «%s»."
+#: ../data/scan_dialog.ui.h:61
+msgid "Process album field"
+msgstr "Procesar campo de álbum"
 
-#: ../src/easytag.c:1639
-msgid "Removed original artist from selected files."
-msgstr "Eliminado el artista original de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:63
+msgid "Process genre field"
+msgstr "Procesar campo de género"
 
-#: ../src/easytag.c:1654
-#, c-format
-msgid "Selected files tagged with copyright '%s'."
-msgstr "Archivos seleccionados etiquetados con copyright «%s»."
+#: ../data/scan_dialog.ui.h:65
+msgid "Process comment field"
+msgstr "Procesar campo de comentario"
 
-#: ../src/easytag.c:1656
-msgid "Removed copyright from selected files."
-msgstr "Eliminado el copyright de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:67
+msgid "Process composer field"
+msgstr "Procesar campo del compositor"
 
-#: ../src/easytag.c:1671
-#, c-format
-msgid "Selected files tagged with URL '%s'."
-msgstr "Archivos seleccionados etiquetados con el URL «%s»."
+#: ../data/scan_dialog.ui.h:68
+#, fuzzy
+#| msgid "Orig. artist:"
+msgid "Orig. Artist"
+msgstr "Artista orig.:"
 
-#: ../src/easytag.c:1673
-msgid "Removed URL from selected files."
-msgstr "URL eliminado de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:69
+msgid "Process original artist field"
+msgstr "Procesar campo de artista original"
 
-#: ../src/easytag.c:1688
-#, c-format
-msgid "Selected files tagged with encoder name '%s'."
-msgstr "Archivos seleccionados etiquetados con el nombre de codificador «%s»."
+#: ../data/scan_dialog.ui.h:71
+msgid "Process copyright field"
+msgstr "Procesar campo de copyright"
 
-#: ../src/easytag.c:1690
-msgid "Removed encoder name from selected files."
-msgstr "Eliminado el nombre del codificador de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:73
+msgid "Process URL field"
+msgstr "Procesar campo de URL"
 
-#: ../src/easytag.c:1722
-msgid "Selected files tagged with images."
-msgstr "Archivos seleccionados etiquetados con imágenes."
+#: ../data/scan_dialog.ui.h:75
+#, fuzzy
+#| msgid "Process encoder name field"
+msgid "Process encoded-by field"
+msgstr "Procesar campo de nombre de codificador"
 
-#: ../src/easytag.c:1724
-msgid "Removed images from selected files."
-msgstr "Imágenes eliminadas de los archivos seleccionados."
+#: ../data/scan_dialog.ui.h:76
+#, fuzzy
+#| msgid "Capitalize all"
+msgid "Capitalization"
+msgstr "Todo en mayúscula"
 
-#: ../src/easytag.c:2005
-msgid "Select Mode and Mask, and redo the same action"
-msgstr "Seleccionar Modo y Máscara y rehacer la misma acción"
+#: ../data/scan_dialog.ui.h:77
+msgid "Capitalize all"
+msgstr "Todo en mayúscula"
 
-#: ../src/easytag.c:2057
-msgid "All tags have been scanned"
-msgstr "Todas las etiquetas han sido analizadas"
+#: ../data/scan_dialog.ui.h:78 ../data/org.gnome.EasyTAG.gschema.xml.h:144
+msgid ""
+"Whether to upper-case all characters of the tag when processing tag fields"
+msgstr ""
 
-#: ../src/easytag.c:2113
-msgid "All tags have been removed"
-msgstr "Todas las etiquetas han sido eliminadas"
+#: ../data/scan_dialog.ui.h:79
+msgid "Lowercase all"
+msgstr "Todo en minúscula"
 
-#: ../src/easytag.c:2418
-#, c-format
-msgid "A file was changed by an external program"
-msgid_plural "%d files were changed by an external program."
-msgstr[0] "Se ha cambiado un archivo por un programa externo"
-msgstr[1] "Se han cambiado %d archivos por un programa externo."
+#: ../data/scan_dialog.ui.h:80 ../data/org.gnome.EasyTAG.gschema.xml.h:142
+msgid ""
+"Whether to lower-case all characters of the tag when processing tag fields"
+msgstr ""
 
-#: ../src/easytag.c:2423
-msgid "Do you want to continue saving the file?"
-msgstr "¿Quiere continuar guardando el archivo?"
+#: ../data/scan_dialog.ui.h:81
+msgid "Capitalize first letter"
+msgstr "Primera letra en mayúscula"
 
-#: ../src/easytag.c:2481 ../src/easytag.c:2501
-msgid "Saving files was stopped"
-msgstr "Se detuvo al guardar archivos"
+#: ../data/scan_dialog.ui.h:82 ../data/org.gnome.EasyTAG.gschema.xml.h:146
+msgid ""
+"Whether to upper-case the first letter of the tag when processing tag fields"
+msgstr ""
 
-#: ../src/easytag.c:2503
-msgid "All files have been saved"
-msgstr "Todos los archivos se han guardado"
+#: ../data/scan_dialog.ui.h:83
+msgid "Capitalize the first letter of each word"
+msgstr "Primera letra de cada palabra en mayúscula"
 
-#: ../src/easytag.c:2638
-#, c-format
-msgid "Cannot delete file (%s)"
-msgstr "No se puede eliminar el archivo (%s)"
+#: ../data/scan_dialog.ui.h:84 ../data/org.gnome.EasyTAG.gschema.xml.h:148
+#, fuzzy
+#| msgid ""
+#| "Don't uppercase first letter of words for some prepositions and articles."
+msgid ""
+"Whether to upper-case the first letter of each word when processing tag "
+"fields"
+msgstr ""
+"No poner en mayúscula la primera letra de palabras para algunas "
+"preposiciones y artículos."
 
-#: ../src/easytag.c:2659
-msgid "Files have been partially deleted"
-msgstr "Se han eliminado los archivos parcialmente"
+#: ../data/scan_dialog.ui.h:85
+msgid "Detect Roman numerals"
+msgstr "Detectar números romanos"
 
-#: ../src/easytag.c:2661
-msgid "All files have been deleted"
-msgstr "Se han eliminado todos los archivos"
+#: ../data/scan_dialog.ui.h:86 ../data/org.gnome.EasyTAG.gschema.xml.h:152
+msgid ""
+"Whether to detect Roman numerals when applying upper-case conversions while "
+"processing tag fields"
+msgstr ""
 
-#: ../src/easytag.c:2777
-#, c-format
-msgid "Do you want to write the tag of file '%s'?"
-msgstr "¿Quiere escribir la etiqueta del archivo «%s»?"
+#: ../data/scan_dialog.ui.h:87
+msgid "Do not change capitalization"
+msgstr "No cambiar la capitalización"
 
-#: ../src/easytag.c:2779
-msgid "Confirm Tag Writing"
-msgstr "Confirmar escritura de etiqueta"
+#: ../data/scan_dialog.ui.h:88
+msgid "Spaces Conversions"
+msgstr ""
 
-#: ../src/easytag.c:2784 ../src/easytag.c:2904 ../src/easytag.c:3167
-msgid "Repeat action for the remaining files"
-msgstr "Repetir acción para el resto de los archivos"
+#: ../data/scan_dialog.ui.h:89 ../data/org.gnome.EasyTAG.gschema.xml.h:153
+#: ../src/tag_area.c:878
+msgid "Remove spaces"
+msgstr "Quitar espacios"
 
-#. Directories and filename changed
-#: ../src/easytag.c:2868 ../src/scan_dialog.c:183
-msgid "Rename File and Directory"
-msgstr "Renombrar archivo y carpeta"
+#: ../data/scan_dialog.ui.h:90 ../data/org.gnome.EasyTAG.gschema.xml.h:154
+msgid "Whether to remove all spaces when processing tag fields"
+msgstr ""
 
-#: ../src/easytag.c:2869
-msgid "File and directory rename confirmation required"
-msgstr "Se requiere confirmación para renombrar el archivo y la carpeta"
+#: ../data/scan_dialog.ui.h:91
+msgid "Insert a space before uppercase letters"
+msgstr "Insertar un espacio antes de las letras en mayúscula"
 
-#: ../src/easytag.c:2870
-#, c-format
-msgid "Do you want to rename the file and directory '%s' to '%s'?"
-msgstr "¿Quiere renombrar el archivo y carpeta «%s» a «%s»?"
+#: ../data/scan_dialog.ui.h:92 ../data/org.gnome.EasyTAG.gschema.xml.h:156
+msgid ""
+"Whether to insert spaces before capital letters when processing tag fields"
+msgstr ""
 
-#: ../src/easytag.c:2876
-msgid "Directory rename confirmation required"
-msgstr "Se requiere confirmar el renombrado de la carpeta"
+#: ../data/scan_dialog.ui.h:93
+msgid "Remove duplicate spaces and underscores"
+msgstr "Quitar espacios duplicados y subrayados"
 
-#: ../src/easytag.c:2877
-#, c-format
-msgid "Do you want to rename the directory '%s' to '%s'?"
-msgstr "¿Quiere renombrar la carpeta «%s» a «%s»?"
+#: ../data/scan_dialog.ui.h:94 ../data/org.gnome.EasyTAG.gschema.xml.h:158
+#, fuzzy
+#| msgid "Remove duplicate spaces and underscores"
+msgid ""
+"Whether to remove duplicate spaces and underscores when processing tag fields"
+msgstr "Quitar espacios duplicados y subrayados"
 
-#. Only filename changed
-#: ../src/easytag.c:2883
-msgid "Rename File"
-msgstr "Renombrar el archivo"
+#: ../data/scan_dialog.ui.h:95
+msgid "Do not change word separators"
+msgstr "No cambiar los separadores de palabra"
 
-#: ../src/easytag.c:2884
-msgid "File rename confirmation required"
-msgstr "Se requiere confirmación para renombrar el archivo"
+#: ../data/scan_dialog.ui.h:96
+#, fuzzy
+#| msgid "Fill Tag Scanner - Character Conversion"
+msgid "Character Conversions"
+msgstr "Analizador de relleno de etiquetas: conversión de caracteres"
 
-#: ../src/easytag.c:2885
-#, c-format
-msgid "Do you want to rename the file '%s' to '%s'?"
-msgstr "¿Quiere renombrar el archivo «%s» a «%s»?"
+#: ../data/scan_dialog.ui.h:98 ../src/tag_area.c:834
+#, fuzzy, no-c-format
+#| msgid "Convert '_' and '%20' to spaces"
+msgid "Convert ‘_’ and ‘%20’ to spaces"
+msgstr "Convertir «_» y «%20» a espacios"
 
-#: ../src/easytag.c:2951
-#, c-format
-msgid "Cannot rename file '%s' to '%s'"
-msgstr "No se puede renombrar el archivo «%s» a «%s»"
+#: ../data/scan_dialog.ui.h:100
+#, fuzzy, no-c-format
+#| msgid ""
+#| "The underscore character or the string '%20' are replaced by one space. "
+#| "Example, before: 'Text%20In%20An_Entry', after: 'Text In An Entry'."
+msgid ""
+"The underscore character or the string ‘%20’ is replaced by one space. "
+"Example, before: ‘Text%20In%20An_Entry‘, after: ‘Text In An Entry’"
+msgstr ""
+"El carácter de subrayado o la cadena «%20» se reemplazan por un espacio. "
+"Ejemplo, antes: «Texto%20En%20Una_Entrada», después: «Texto En Una Entrada»."
 
-#: ../src/easytag.c:2965
-#, c-format
-msgid "Cannot rename file '%s' to '%s': %s"
-msgstr "No se puede renombrar el archivo «%s» a «%s»: %s"
+#: ../data/scan_dialog.ui.h:101 ../src/tag_area.c:840
+#, fuzzy
+#| msgid "Convert space ' ' to underscore '_'"
+msgid "Convert spaces to underscores"
+msgstr "Convertir espacios « » a subrayados «_»"
 
-#: ../src/easytag.c:2969
-msgid "File(s) not renamed"
-msgstr "Archivo(s) no renombrados"
+#: ../data/scan_dialog.ui.h:102
+#, fuzzy
+#| msgid ""
+#| "The space character is replaced by one underscore character. Example, "
+#| "before: 'Text In An Entry', after: 'Text_In_An_Entry'."
+msgid ""
+"The space character is replaced by one underscore character. Example, "
+"before: ‘Text In An Entry’, after: ‘Text_In_An_Entry’"
+msgstr ""
+"El carácter de espacio se reemplaza por un carácter de subrayado. Ejemplo, "
+"antes: «Texto En Una Entrada», después: «Texto_En_Una_Entrada»."
 
-#: ../src/easytag.c:3081
-#, c-format
-msgid "Writing tag of '%s'"
-msgstr "Escribiendo etiqueta de «%s»"
+#: ../data/scan_dialog.ui.h:103
+msgid "Convert:"
+msgstr "Convertir:"
 
-#: ../src/easytag.c:3088
-msgid "Tag(s) written"
-msgstr "Etiqueta(s) escritas"
+#: ../data/scan_dialog.ui.h:104
+#, fuzzy
+#| msgid ""
+#| "Replace a string by another one. Note that the search is case sensitive."
+msgid "Replace a string by another one. Note that the search is case sensitive"
+msgstr ""
+"Reemplazar una cadena por otra. Tenga en cuneta que la búsqueda es sensible "
+"a capitalización."
 
-#: ../src/easytag.c:3103
-#, c-format
-msgid "Cannot write tag in file '%s' (%s)"
-msgstr "No se puede escribir la etiqueta en el archivo «%s» (%s)"
+#: ../data/scan_dialog.ui.h:105
+msgid "to: "
+msgstr "a:"
 
-#: ../src/easytag.c:3116
-#, c-format
-msgid "Cannot write tag in file '%s'"
-msgstr "No se puede escribir la etiqueta en el archivo «%s»"
+#: ../data/scan_dialog.ui.h:106
+msgid "Do not convert"
+msgstr "No convertir"
 
-#: ../src/easytag.c:3119
-msgid "Tag Write Error"
-msgstr " Error al escribir etiqueta"
+#: ../data/scan_dialog.ui.h:108
+msgid "Show / Hide Masks Editor"
+msgstr "Mostrar u ocultar editor de máscaras"
 
-#: ../src/easytag.c:3164 ../src/easytag.c:3178
-#, c-format
-msgid "Do you really want to delete the file '%s'?"
-msgstr "¿Realmente quiere eliminar el archivo «%s»?"
+#: ../data/scan_dialog.ui.h:109
+msgid "Show / Hide Legend"
+msgstr "Mostrar u ocultar leyenda"
 
-#: ../src/easytag.c:3170 ../src/easytag.c:3180
-msgid "Delete File"
-msgstr "Eliminar archivo"
+#: ../data/scan_dialog.ui.h:110
+msgid "Scanner Preferences"
+msgstr "Preferencias del analizador"
 
-#: ../src/easytag.c:3205
-#, c-format
-msgid "File '%s' deleted"
-msgstr "Archivo «%s» eliminado"
+#: ../data/search_dialog.ui.h:1
+msgid "Search:"
+msgstr "Buscar:"
 
-#: ../src/easytag.c:3340
-#, c-format
-msgid "Cannot read directory '%s'"
-msgstr "No se puede leer carpeta «%s»"
+#: ../data/search_dialog.ui.h:2
+#, fuzzy
+#| msgid ""
+#| "Type the word to search into files. Or type nothing to display all files."
+msgid ""
+"Type the text to search for in the file list, or leave the field empty to "
+"display all files"
+msgstr ""
+"Introduzca la palabra que buscar en los archivos. O no introduzca nada para "
+"mostrar todos los archivos."
 
-#: ../src/easytag.c:3344
-msgid "Directory Read Error"
-msgstr "Error al leer carpeta"
+#: ../data/search_dialog.ui.h:3
+#, fuzzy
+#| msgid "_Find…"
+msgid "_Find"
+msgstr "_Buscar…"
 
-#. Read the directory recursively
-#: ../src/easytag.c:3365
-#, c-format
-msgid "Search in progress…"
-msgstr "Búsqueda en progreso…"
+#: ../data/search_dialog.ui.h:4
+msgid "In:"
+msgstr "En:"
 
-#: ../src/easytag.c:3388 ../src/et_core.c:2865
-#, c-format
-msgid "File: '%s'"
-msgstr "Archivo: «%s»"
+#. This option is for the previous 'in' option. For instance, translate this as 'Search' 'In:' 'the Filename'.
+#: ../data/search_dialog.ui.h:6
+msgid "the Filename"
+msgstr "el nombre del archivo"
 
-#: ../src/easytag.c:3438
-#, c-format
-msgid "Found one file in this directory and subdirectories"
-msgid_plural "Found %d files in this directory and subdirectories"
-msgstr[0] "Encontrado un archivo en esta carpeta y subcarpetas."
-msgstr[1] "Encontrados %d archivos en esta carpeta y subcarpetas."
+#. This option is for the previous 'in' option. For instance, translate this as 'Search' 'In:' 'the Tag'.
+#: ../data/search_dialog.ui.h:8
+msgid "the Tag"
+msgstr "la etiqueta"
 
-#: ../src/easytag.c:3445
-#, c-format
-msgid "Found one file in this directory"
-msgid_plural "Found %d files in this directory"
-msgstr[0] "Encontrado un archivo en esta carpeta"
-msgstr[1] "Encontrados %d archivos en esta carpeta"
+#: ../data/search_dialog.ui.h:9
+msgid "Case sensitive"
+msgstr "Sensible a capitalización"
 
-#: ../src/easytag.c:3467
-msgid "No file found in this directory and subdirectories"
-msgstr "No se han encontrados archivos en esta carpeta y subcarpetas"
+#: ../data/search_dialog.ui.h:16
+msgid "CD"
+msgstr "CD"
 
-#: ../src/easytag.c:3469
-msgid "No file found in this directory"
-msgstr "No se han encontrado archivos en esta carpeta"
+#: ../data/tag_area.ui.h:1
+msgid "Image Type"
+msgstr "Tipo de imagen"
 
-#: ../src/easytag.c:3537
-#, c-format
-msgid "Error opening directory '%s' (%s)"
-msgstr "Error al abrir la carpeta «%s» (%s)"
+#: ../data/tag_area.ui.h:2 ../src/picture.c:272
+msgid "Description"
+msgstr "Descripción"
 
-#: ../src/easytag.c:3573
-#, c-format
-msgid "Cannot read directory (%s)"
-msgstr "No se puede leer carpeta (%s)"
+#: ../data/tag_area.ui.h:4
+msgid "_Accept"
+msgstr "_Aceptar"
 
-#: ../src/easytag.c:3593
-msgid "Searching for audio files…"
-msgstr "Buscando por archivos de sonido…"
+#: ../data/tag_area.ui.h:5 ../src/tag_area.c:3026
+msgid "Tag"
+msgstr "Etiqueta"
 
-#: ../src/easytag.c:3594
-msgid "Searching"
-msgstr "Buscando"
+#: ../data/tag_area.ui.h:6
+msgid "Title:"
+msgstr "Título:"
 
-#: ../src/easytag.c:4260
-msgid "Select a directory to browse"
-msgstr "Seleccione una carpeta para examinar"
+#: ../data/tag_area.ui.h:7
+msgid "Tag selected files with this title"
+msgstr "Etiquetar archivos seleccionados con este título"
 
-#. Menu items
-#: ../src/easytag.c:4406
-msgid "Tag selected files with this field"
-msgstr "Etiquetar archivos seleccionados con este campo"
+#: ../data/tag_area.ui.h:8
+msgid "Artist:"
+msgstr "Artista:"
 
-#: ../src/easytag.c:4418 ../src/scan_dialog.c:2128
-msgid "Convert '_' and '%20' to spaces"
-msgstr "Convertir «_» y «%20» a espacios"
+#: ../data/tag_area.ui.h:9
+msgid "Tag selected files with this artist"
+msgstr "Etiquetar archivos seleccionados con este artista"
 
-#: ../src/easytag.c:4425 ../src/scan_dialog.c:2130
-msgid "Convert ' ' to '_'"
-msgstr "Convertir « » a «_»"
+#: ../data/tag_area.ui.h:10
+msgid "Album artist:"
+msgstr "Artista del álbum:"
 
-#: ../src/easytag.c:4436
-msgid "All uppercase"
-msgstr "Todas mayúsculas"
+#: ../data/tag_area.ui.h:11
+msgid "Tag selected files with this album artist"
+msgstr "Etiquetar archivos seleccionados con este artista del álbum"
 
-#: ../src/easytag.c:4443
-msgid "All lowercase"
-msgstr "Todas minúsculas"
+#: ../data/tag_area.ui.h:12
+msgid "Album:"
+msgstr "Álbum:"
 
-#: ../src/easytag.c:4450
-msgid "First letter uppercase"
-msgstr "Primera letra mayúscula"
+#: ../data/tag_area.ui.h:13
+msgid "Tag selected files with this album name"
+msgstr "Etiquetar archivos seleccionados con este nombre de álbum"
 
-#: ../src/easytag.c:4457
-msgid "First letter uppercase of each word"
-msgstr "Primera letra de cada palabra en mayúscula"
+#: ../data/tag_area.ui.h:14
+msgid "CD:"
+msgstr "CD:"
 
-#: ../src/easytag.c:4468 ../src/prefs.c:1023 ../src/scan_dialog.c:2254
-msgid "Remove spaces"
-msgstr "Quitar espacios"
+#: ../data/tag_area.ui.h:15
+msgid "Tag selected files with this disc number"
+msgstr "Etiquetar archivos seleccionados con este número de disco"
 
-#: ../src/easytag.c:4475
-msgid "Insert space before uppercase letter"
-msgstr "Insertar espacios antes de letra en mayúsculas"
+#: ../data/tag_area.ui.h:16
+msgid "Year:"
+msgstr "Año:"
 
-#: ../src/easytag.c:4482
-msgid "Remove duplicate spaces or underscores"
-msgstr "Quitar espacios o subrayados duplicados"
+#: ../data/tag_area.ui.h:17
+msgid "Tag selected files with this year"
+msgstr "Etiquetar archivos seleccionados con este año"
 
-#: ../src/easytag.c:4489
-msgid "Remove all text"
-msgstr "Quitar todo el texto"
+#: ../data/tag_area.ui.h:18
+#, fuzzy
+#| msgid ""
+#| "Number selected tracks sequentially. Starts at 01 in each subdirectory."
+msgid "Number selected tracks sequentially. Starts at 01 in each subdirectory"
+msgstr ""
+"Numerar todas las pistas seleccionadas secuencialmente. Empieza con 01 en "
+"cada subcarpeta."
 
-#: ../src/easytag.c:4508
-msgid "EasyTAG: Normal exit."
-msgstr "EasyTAG: salida normal."
+#: ../data/tag_area.ui.h:19
+msgid "Track #:"
+msgstr "Pista n.º:"
 
-#: ../src/easytag.c:4560
-msgid "Do you want to save them before quitting?"
-msgstr "¿Quiere guardarlos antes de salir?"
+#: ../data/tag_area.ui.h:20
+#, fuzzy
+#| msgid ""
+#| "Set the number of files, in the same directory of the displayed file, to "
+#| "the selected tracks."
+msgid ""
+"Set the number of files, in the same directory of the displayed file, to the "
+"selected tracks"
+msgstr ""
+"Establecer el número de archivos, en la misma carpeta del archivo mostrado, "
+"a las pistas seleccionadas."
 
-#: ../src/easytag.c:4587
-msgid "Do you really want to quit?"
-msgstr "¿Seguro que desea salir?"
+#: ../data/tag_area.ui.h:21
+msgid "Tag selected files with this number of tracks"
+msgstr "Etiquetar archivos seleccionados con este número de pistas"
 
-#: ../src/et_core.c:551
-#, c-format
-msgid "Error reading tag from ogg file (%s)"
-msgstr "Error al leer etiqueta del archivo ogg: (%s)"
+#: ../data/tag_area.ui.h:22
+msgid "Genre:"
+msgstr "Género:"
 
-#: ../src/et_core.c:580
-#, c-format
-msgid "Error reading tag from Opus file (%s)"
-msgstr "Error al leer etiqueta del archivo Opus (%s)"
+#: ../data/tag_area.ui.h:23
+msgid "Comment:"
+msgstr "Comentario:"
 
-#: ../src/et_core.c:723
-#, c-format
-msgid "Automatic corrections applied for file '%s'."
-msgstr "Correcciones automáticas aplicadas para el archivo «%s»."
+#: ../data/tag_area.ui.h:24
+msgid "Tag selected files with this comment"
+msgstr "Etiquetar archivos seleccionados con este comentario"
 
-#: ../src/et_core.c:2748
-msgid "ID3 Tag"
-msgstr "Etiqueta ID3"
+#: ../data/tag_area.ui.h:25
+msgid "Composer:"
+msgstr "Compositor:"
 
-#: ../src/et_core.c:2754
-msgid "Ogg Vorbis Tag"
-msgstr "Etiqueta Ogg Vorbis"
+#: ../data/tag_area.ui.h:26
+msgid "Tag selected files with this composer"
+msgstr "Etiquetar archivos seleccionados con este compositor"
 
-#: ../src/et_core.c:2760
-msgid "FLAC Vorbis Tag"
-msgstr "Etiqueta FLAC Vorbis"
+#: ../data/tag_area.ui.h:27
+msgid "Orig. artist:"
+msgstr "Artista orig.:"
 
-#: ../src/et_core.c:2765
-msgid "APE Tag"
-msgstr "Etiqueta APE"
+#: ../data/tag_area.ui.h:28
+msgid "Tag selected files with this original artist"
+msgstr "Etiquetar archivos seleccionados con este artista original"
 
-#: ../src/et_core.c:2770
-msgid "MP4/M4A/AAC Tag"
-msgstr "Etiqueta MP4/M4A/AAC"
+#: ../data/tag_area.ui.h:29
+msgid "Copyright:"
+msgstr "Copyright:"
 
-#: ../src/et_core.c:2776
-msgid "Wavpack Tag"
-msgstr "Etiqueta Wavpack"
+#: ../data/tag_area.ui.h:30
+msgid "Tag selected files with this copyright"
+msgstr "Etiquetar archivos seleccionados con este copyright"
 
-#: ../src/et_core.c:2782
-msgid "Opus Tag"
-msgstr "Etiqueta Opus"
+#: ../data/tag_area.ui.h:31
+msgid "URL:"
+msgstr "URL:"
 
-#: ../src/et_core.c:2802
-msgid "MP3 File"
-msgstr "Archivo MP3"
+#: ../data/tag_area.ui.h:32
+msgid "Tag selected files with this URL"
+msgstr "Etiquetar archivos seleccionados con este URL"
 
-#: ../src/et_core.c:2806
-msgid "MP2 File"
-msgstr "Archivo MP2"
+#: ../data/tag_area.ui.h:33
+msgid "Encoded by:"
+msgstr "Codificado por:"
 
-#: ../src/et_core.c:2812
-msgid "Ogg Vorbis File"
-msgstr "Archivo Ogg Vorbis"
+#: ../data/tag_area.ui.h:34
+msgid "Tag selected files with this encoder name"
+msgstr "Etiquetar archivos seleccionados con este nombre de codificador"
+
+#: ../data/tag_area.ui.h:35
+msgid "Common"
+msgstr "General"
+
+#: ../data/tag_area.ui.h:36
+msgid "You can use drag and drop to add an image"
+msgstr "Puede arrastrar y soltar para añadir una imagen"
+
+#: ../data/tag_area.ui.h:37
+msgid "Add images to the tag"
+msgstr "Añadir imágenes a la etiqueta"
+
+#: ../data/tag_area.ui.h:38
+msgid "Remove selected images from the tag"
+msgstr "Quitar las imágenes seleccionadas de la etiqueta"
+
+#: ../data/tag_area.ui.h:39
+msgid "Save the selected images to files"
+msgstr "Guardar las imágenes seleccionadas a archivos"
+
+#: ../data/tag_area.ui.h:40
+msgid "Edit image properties"
+msgstr "Editar las propiedades de la imagen"
+
+#: ../data/tag_area.ui.h:41
+msgid "Tag selected files with these images"
+msgstr "Etiquetar archivos seleccionados con estas imágenes"
+
+#: ../data/tag_area.ui.h:42 ../src/tag_area.c:3279 ../src/tag_area.c:3282
+msgid "Images"
+msgstr "Imágenes"
+
+#: ../data/toolbar.ui.h:2
+msgid "First file"
+msgstr "Primer archivo"
+
+#: ../data/toolbar.ui.h:3
+msgid "_Previous File"
+msgstr "Archivo _anterior"
+
+#: ../data/toolbar.ui.h:4
+msgid "Previous file"
+msgstr "Archivo anterior"
+
+#: ../data/toolbar.ui.h:6
+msgid "Next file"
+msgstr "Siguiente archivo"
+
+#: ../data/toolbar.ui.h:8
+msgid "Last file"
+msgstr "Último archivo"
+
+#: ../data/toolbar.ui.h:9
+msgid "_Show Scanner"
+msgstr "_Mostrar analizador"
+
+#: ../data/toolbar.ui.h:10
+msgid "Show scanner"
+msgstr "Mostrar analizador"
+
+#: ../data/toolbar.ui.h:12
+msgid "Remove tags"
+msgstr "Quitar etiquetas"
+
+#: ../data/toolbar.ui.h:13
+msgid "_Undo"
+msgstr "Des_hacer"
+
+#: ../data/toolbar.ui.h:14
+#, fuzzy
+#| msgid "Found one file"
+#| msgid_plural "Found %d files"
+msgid "Undo for file"
+msgstr "Se encontró un archivo"
+
+#: ../data/toolbar.ui.h:15
+msgid "R_edo"
+msgstr "R_ehacer"
+
+#: ../data/toolbar.ui.h:16
+#, fuzzy
+#| msgid "Read-only file"
+msgid "Redo for file"
+msgstr "Archivo de solo lectura"
+
+#: ../data/toolbar.ui.h:18
+msgid "Save changes to selected files"
+msgstr "Guardar cambios en los archivos seleccionados"
+
+#: ../data/toolbar.ui.h:20
+#, fuzzy
+#| msgid "Collapse directory tree"
+msgid "Browse directory tree"
+msgstr "Contraer árbol de carpetas"
+
+#: ../data/toolbar.ui.h:22
+#, fuzzy
+#| msgid "View by artist and album"
+msgid "Browse artists and albums"
+msgstr "Ver por artista y álbum"
+
+#: ../data/toolbar.ui.h:24
+msgid "Invert file selection"
+msgstr "Invertir la selección de archivos"
+
+#: ../data/toolbar.ui.h:26
+msgid "Search filenames and tags"
+msgstr "Buscar nombres de archivo y etiquetas"
+
+#: ../data/toolbar.ui.h:27
+#, fuzzy
+#| msgid "CDD_B Search…"
+msgid "CDDB Search…"
+msgstr "Búsqueda CDD_B…"
+
+#: ../data/toolbar.ui.h:28 ../src/cddb_dialog.c:2744
+msgid "CDDB Search"
+msgstr "Buscar CDDB"
+
+#: ../data/toolbar.ui.h:30
+msgid "Generate a playlist"
+msgstr "Generar una lista de reproducción"
+
+#: ../data/toolbar.ui.h:32
+msgid "Stop the current action"
+msgstr "Detener la acción actual"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:1
+#, fuzzy
+#| msgid "Ready to start"
+msgid "Load on startup"
+msgstr "Listo para empezar"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:3
+#, fuzzy
+#| msgid "Add Default Masks"
+msgid "Default path"
+msgstr "Añadir máscaras predeterminadas"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:7
+#, fuzzy
+#| msgid "Show hidden directories"
+msgid "Show hidden directories while browsing"
+msgstr "Mostrar carpetas ocultas"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:11
+#, fuzzy
+#| msgid "Server Settings for Automatic Search"
+msgid "CDDB server hostname for automatic search"
+msgstr "Configuración del servidor para búsqueda automática"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:12
+#, fuzzy
+#| msgid "Server Settings for Automatic Search"
+msgid "The CDDB server to use for the automatic search"
+msgstr "Configuración del servidor para búsqueda automática"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:13
+#, fuzzy
+#| msgid "Server Settings for Automatic Search"
+msgid "CDDB server port for automatic search"
+msgstr "Configuración del servidor para búsqueda automática"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:14
+#, fuzzy
+#| msgid "Server Settings for Automatic Search"
+msgid "The CDDB server port to use for the automatic search"
+msgstr "Configuración del servidor para búsqueda automática"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:15
+#, fuzzy
+#| msgid "Server Settings for Automatic Search"
+msgid "CDDB server path for automatic search"
+msgstr "Configuración del servidor para búsqueda automática"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:16
+#, fuzzy
+#| msgid "Server Settings for Automatic Search"
+msgid "The CDDB server path to use for the automatic search"
+msgstr "Configuración del servidor para búsqueda automática"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:17
+#, fuzzy
+#| msgid "Server Settings for Manual Search"
+msgid "CDDB server hostname for manual search"
+msgstr "Configuración del servidor para búsqueda manual"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:18
+#, fuzzy
+#| msgid "Server Settings for Manual Search"
+msgid "The CDDB server to use for a manual search"
+msgstr "Configuración del servidor para búsqueda manual"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:19
+#, fuzzy
+#| msgid "Server Settings for Manual Search"
+msgid "CDDB server port for manual search"
+msgstr "Configuración del servidor para búsqueda manual"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:20
+#, fuzzy
+#| msgid "Server Settings for Manual Search"
+msgid "The CDDB server port to use for a manual search"
+msgstr "Configuración del servidor para búsqueda manual"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:21
+#, fuzzy
+#| msgid "Server Settings for Manual Search"
+msgid "CDDB server path for manual search"
+msgstr "Configuración del servidor para búsqueda manual"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:22
+#, fuzzy
+#| msgid "Server Settings for Manual Search"
+msgid "The CDDB server path to use for a manual search"
+msgstr "Configuración del servidor para búsqueda manual"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:23
+#, fuzzy
+#| msgid "Error while writing CDDB results to file '%s'"
+msgid "Use DLM to match CDDB results to files"
+msgstr "Error al escribir los resultados de CDDB al archivo «%s»"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:25
+msgid ""
+"Select the file with the position which matches the position of the CDDB "
+"result"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:27
+msgid "Enable proxy for remote CDDB"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:29
+msgid "CDDB proxy hostname"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:31
+msgid "CDDB proxy port"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:33
+msgid "CDDB proxy username"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:35
+msgid "CDDB proxy password"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:37
+msgid "Run the scanner on CDDB results"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:39
+msgid "The fields to use in a manual CDDB search"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:40
+msgid "Which fields to search for matches of the returned CDDB results"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:41
+msgid "The categories to use in a CDDB search"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:42
+msgid "Which categories to search for matches in the returned CDDB results"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:43
+msgid "The tag fields to set when matching against CDDB results"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:44
+msgid ""
+"Which tag fields should be set when matching against selected files and CDDB "
+"results"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:51
+#, fuzzy
+#| msgid "Display changed files in list using:"
+msgid "Show changed files in bold"
+msgstr "Mostrar los archivos modificados en una lista usando:"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:52
+msgid ""
+"Whether to highlight changed files in the file list by making them bold, or "
+"alternatively by making them red"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:55
+msgid "How to sort audio files in the file list"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:56
+msgid "Sort files in ascending or descending order for the selected type"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:57
+#, fuzzy
+#| msgid "Max number of lines:"
+msgid "Number of log lines"
+msgstr "Número máximo de líneas:"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:61
+#, fuzzy
+#| msgid "Character Set for reading ID3 tags"
+msgid "Use a non-standard character encoding when reading ID3 tags"
+msgstr "Conjunto de caracteres para leer etiquetas ID3"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:65
+#, fuzzy
+#| msgid "Write ID3v1.x tag"
+msgid "Write ID3v1 tags"
+msgstr "Escribir etiqueta ID3v1.x"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:67
+#, fuzzy
+#| msgid "Character Set for writing ID3 tags"
+msgid "The character set for writing ID3v1 tags"
+msgstr "Conjunto de caracteres para escribir etiquetas ID3"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:68
+#, fuzzy
+#| msgid "Character Set for writing ID3 tags"
+msgid "Choose the character set to be used when writing ID3v1 tags"
+msgstr "Conjunto de caracteres para escribir etiquetas ID3"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:69
+msgid "Encoding options when writing ID3v1 tags"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:70
+msgid ""
+"Additional options to pass to iconv() when converting between encodings when "
+"writing ID3v1 tags"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:71
+#, fuzzy
+#| msgid "Character Set for reading ID3 tags"
+msgid "The character set for reading ID3v1 and ID3v2 tags"
+msgstr "Conjunto de caracteres para leer etiquetas ID3"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:73
+#, fuzzy
+#| msgid "Write ID3v2 tag"
+msgid "Write ID3v2 tags"
+msgstr "Escribir etiqueta ID3v2"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:75
+msgid "Enable ID3v2.4 support"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:76
+msgid "Whether to write ID3v2.4 tags when ID3v2 support is enabled"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:77
+#, fuzzy
+#| msgid "Automatically convert old ID3v2 tag versions"
+msgid "Convert old ID3 tag versions to new ones"
+msgstr "Convertir automáticamente versiones antiguas de etiqueta ID3v2"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:81
+#, fuzzy
+#| msgid "Set CRC32 in the ID3v2 tags"
+msgid "Use CRC-32 in ID3v2 tags"
+msgstr "Establecer CRC32 en las etiquetas ID3v2"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:85
+#, fuzzy
+#| msgid "Try another character encoding"
+msgid "Use Unicode character encoding in ID3v2 tags"
+msgstr "Intentar otra codificación de caracteres"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:86
+#, fuzzy
+#| msgid "Character Set for writing ID3 tags"
+msgid "Whether to use a Unicode character set when writing ID3v2 tags"
+msgstr "Conjunto de caracteres para escribir etiquetas ID3"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:87
+#, fuzzy
+#| msgid "Character Set for writing ID3 tags"
+msgid "The Unicode character set for writing ID3v2 tags"
+msgstr "Conjunto de caracteres para escribir etiquetas ID3"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:88
+#, fuzzy
+#| msgid "Character Set for writing ID3 tags"
+msgid "Choose the Unicode character set to be used when writing ID3v2 tags"
+msgstr "Conjunto de caracteres para escribir etiquetas ID3"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:89
+#, fuzzy
+#| msgid "Character Set for writing ID3 tags"
+msgid "The character set for writing ID3v2 tags"
+msgstr "Conjunto de caracteres para escribir etiquetas ID3"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:90
+msgid ""
+"Override the typical Unicode character set to be used when writing ID3v2 tags"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:91
+msgid "Encoding options when writing ID3v2 tags"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:92
+msgid ""
+"Additional options to pass to iconv() when converting between encodings when "
+"writing ID3v2 tags"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:93
+msgid "Automatically complete the date"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:95
+msgid "Pad the disc number tag field"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:97
+msgid "The length of the disc number field"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:98
+msgid ""
+"The length of the disc number field, which controls if the field is padded "
+"with leading zeroes"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:100
+msgid ""
+"Whether to, when adding cover art, automatically select the type for an "
+"image based on its filename"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:101
+msgid "Pad the track number tag field"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:103
+msgid "The length of the track number field"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:104
+msgid ""
+"The length of the track number field, which controls if the field is padded "
+"with leading zeroes"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:107
+msgid "Convert spaces and underscores when filling tag fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:109
+#, no-c-format
+msgid ""
+"Whether to convert to spaces (and %20) or underscores when filling tag "
+"fields from filenames"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:110
+msgid "Overwrite tag field"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:112
+#, fuzzy
+#| msgid "Set this text as default comment:"
+msgid "Set the default comment"
+msgstr "Establecer este texto como comentario predeterminado:"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:114
+msgid "Default comment for filling tags"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:115
+msgid "The default comment to use when filling tags"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:116
+#, fuzzy
+#| msgid "Set this text as default comment:"
+msgid "Use the CRC-32 as the default comment"
+msgstr "Establecer este texto como comentario predeterminado:"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:130
+#, fuzzy
+#| msgid "Run the current scanner for each file"
+msgid "Run the current scanner when loading filenames from a file"
+msgstr "Ejecutar el analizador actual para cada archivo"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:132
+#, fuzzy
+#| msgid "Process title field"
+msgid "Process these tag fields"
+msgstr "Procesar campo de título"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:133
+msgid "The tag fields to process when using the scanner"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:134
+#, fuzzy
+#| msgid "Overwrite fields when scanning tags"
+msgid "Convert tag fields when processing"
+msgstr "Sobrescribir campos al analizar etiquetas"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:136
+#, no-c-format
+msgid ""
+"Whether to convert to spaces (and %20), underscores or other characters when "
+"processing tag fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:137
+#, fuzzy
+#| msgid "Try another character encoding"
+msgid "Convert characters in tags"
+msgstr "Intentar otra codificación de caracteres"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:138
+msgid ""
+"Whether to convert characters of the tag from one value to another when "
+"processing tag fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:139
+msgid "Convert the following characters when processing tag fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:140
+msgid ""
+"Replace any matched sequence of characters with this string when processing "
+"tag fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:141
+#, fuzzy
+#| msgid "Lowercase all"
+msgid "Lower-case all characters"
+msgstr "Todo en minúscula"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:143
+msgid "Upper-case all characters"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:145
+#, fuzzy
+#| msgid "Capitalize the first letter of each word"
+msgid "Upper-case the first letter of the tag"
+msgstr "Primera letra de cada palabra en mayúscula"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:147
+#, fuzzy
+#| msgid "Capitalize the first letter of each word"
+msgid "Upper-case the first letter of each word"
+msgstr "Primera letra de cada palabra en mayúscula"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:149
+msgid "Upper-case prepositions"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:151
+#, fuzzy
+#| msgid "Detect Roman numerals"
+msgid "Detect roman numerals"
+msgstr "Detectar números romanos"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:155
+#, fuzzy
+#| msgid "Insert space before uppercase letter"
+msgid "Insert spaces before capital letters"
+msgstr "Insertar espacios antes de letra en mayúsculas"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:157
+#, fuzzy
+#| msgid "Remove duplicate spaces or underscores"
+msgid "Remove duplicate spaces"
+msgstr "Quitar espacios o subrayados duplicados"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:159
+#, fuzzy
+#| msgid "Playlist File Error"
+msgid "Playlist filename mask"
+msgstr "Error del archivo de lista de reproducción"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:160
+msgid "The default filename mask to use for a new playlist"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:161
+msgid "Use a filename mask when generating a playlist"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:162
+msgid "Whether to use a filename mask when creating playlists"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:163
+#, fuzzy
+#| msgid "Create playlist in the parent directory"
+msgid "Create playlists with only the selected files"
+msgstr "Crear lista de reproducción en la carpeta padre"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:165
+#, fuzzy
+#| msgid "Use relative path for files in playlist"
+msgid "Use relative paths when creating playlists"
+msgstr "Usar ruta relativa para los archivos en la lista de reproducción"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:166
+#, fuzzy
+#| msgid "Use relative path for files in playlist"
+msgid "Whether to use relative paths for files when creating playlists"
+msgstr "Usar ruta relativa para los archivos en la lista de reproducción"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:167
+#, fuzzy
+#| msgid "Create playlist in the parent directory"
+msgid "Create the playlist in the parent directory"
+msgstr "Crear lista de reproducción en la carpeta padre"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:169
+#, fuzzy
+#| msgid "Use full path for files in playlist"
+msgid "Use DOS separators for playlists"
+msgstr "Usar ruta completa para los archivos en la lista de reproducción"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:171
+#, fuzzy
+#| msgid "Generate a playlist"
+msgid "Content of generated playlists"
+msgstr "Generar una lista de reproducción"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:172
+msgid ""
+"Write a plain list of files, include extended information from the filename "
+"or extended information using a supplied mask"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:173
+msgid "Playlist default mask"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:174
+#, fuzzy
+#| msgid "Use full path for files in playlist"
+msgid "The default mask to use for files in a playlist"
+msgstr "Usar ruta completa para los archivos en la lista de reproducción"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:175
+msgid "Search for files case-sensitively"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:176
+msgid "Whether matches when searching for files are case-sensitive"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:177
+#, fuzzy
+#| msgid "Search filenames and tags"
+msgid "Search in filenames"
+msgstr "Buscar nombres de archivo y etiquetas"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:178
+msgid "Perform the search on filenames"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:179
+#, fuzzy
+#| msgid "Searching"
+msgid "Search in tags"
+msgstr "Buscando"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:180
+msgid "Perform the search on tags"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:181
+#, fuzzy
+#| msgid "Error reading tags from file: '%s'"
+msgid "Mask for filling tags from filenames"
+msgstr "Error al leer las etiquetas del archivo: «%s»"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:182
+msgid ""
+"The default mask to use when automatically filling tags with information "
+"from filenames"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:183
+#, fuzzy
+#| msgid "Confirm renaming of file"
+msgid "Mask for renaming files"
+msgstr "Confirmar renombrado de archivo"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:184
+#, fuzzy
+#| msgid "Repeat action for the remaining files"
+msgid "The default mask to use when renaming files"
+msgstr "Repetir acción para el resto de los archivos"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:185
+#, fuzzy
+#| msgid "Unable to create setting directories"
+msgid "Mask for renaming directories"
+msgstr "No se puede crear la carpeta de configuraciones"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:186
+msgid "The default mask to use when renaming directories"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:187
+#, fuzzy
+#| msgid "Unable to create setting directories"
+msgid "Use a mask when renaming directories"
+msgstr "No se puede crear la carpeta de configuraciones"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:189
+#, fuzzy
+#| msgid "Convert space ' ' to underscore '_'"
+msgid "Convert spaces and underscores when renaming files"
+msgstr "Convertir espacios « » a subrayados «_»"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:190
+msgid "Whether to convert to spaces or underscores when renaming files"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:191
+msgid "How to modify filename extensions when renaming"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:192
+msgid ""
+"Change the file extension to all lower-case, all upper-case or do not change "
+"it"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:193
+msgid "Encoding options when renaming files"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:194
+msgid ""
+"If the encoding of the filename does not match the filesystem encoding, "
+"choose whether to try another encoding, approximate the filesystem encoding "
+"with transliteration or discard the offending characters"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:196
+#, fuzzy
+#| msgid "Replace illegal characters in filename (for Windows and CD-Rom)"
+msgid ""
+"Whether to replace illegal characters in a filename when using the rename "
+"function"
+msgstr ""
+"Reemplazar caracteres ilegales en nombres de archivo (para Windows y CD-ROM)"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:197
+#, fuzzy
+#| msgid "Show / Hide Masks Editor"
+msgid "Show the scanner mask editor"
+msgstr "Mostrar u ocultar editor de máscaras"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:198
+msgid "Whether to show the scanner mask editor in the tag scanner"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:199
+#, fuzzy
+#| msgid "Show scanner"
+msgid "Show the scanner legend"
+msgstr "Mostrar analizador"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:200
+#, fuzzy
+#| msgid "Whether to pad the disc field with leading zeroes"
+msgid "Whether to show the scanner legend in the tag scanner"
+msgstr "Indica si se debe rellenar el campo de disco con ceros a la izquierda"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:201
+#, fuzzy
+#| msgid "Open the Scanner Window on startup"
+msgid "Show the scanner window on startup"
+msgstr "Abrir la ventana del analizador al arrancar."
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:203
+msgid "The scan mode"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:204
+msgid "Which type of scan to show in the scanner"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:205
+msgid "Split Ogg title fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:207
+msgid "Split Ogg artist fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:209
+msgid "Split Ogg album fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:211
+msgid "Split Ogg genre fields"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:213
+#, fuzzy
+#| msgid "Process comment field"
+msgid "Split Ogg comment fields"
+msgstr "Procesar campo de comentario"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:215
+#, fuzzy
+#| msgid "Process composer field"
+msgid "Split Ogg composer fields"
+msgstr "Procesar campo del compositor"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:217
+#, fuzzy
+#| msgid "Process original artist field"
+msgid "Split Ogg original artist fields"
+msgstr "Procesar campo de artista original"
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:219
+msgid "Page to show in the preferences dialog"
+msgstr ""
+
+#: ../data/org.gnome.EasyTAG.gschema.xml.h:220
+msgid "The page in the notebook of the preferences dialog"
+msgstr ""
+
+#: ../nautilus-extension/nautilus-easytag.c:229
+msgid "Open in EasyTAG"
+msgstr "Abierto en EasyTAG"
+
+#: ../nautilus-extension/nautilus-easytag.c:230
+#, fuzzy
+#| msgid "Open the current selected directory in EasyTAG"
+msgid "Open the selected directory in EasyTAG"
+msgstr "Abre la carpeta seleccionada actualmente en EasyTAG"
+
+#: ../nautilus-extension/nautilus-easytag.c:248
+#, fuzzy
+#| msgid "Open selected files in EasyTAG"
+msgid "Open the selected files in EasyTAG"
+msgstr "Abrir los archivos seleccionados en EasyTAG"
+
+#. Translators: put your own name here to appear in the about dialog.
+#: ../src/about.c:89
+msgid "translator-credits"
+msgstr ""
+"Daniel Mustieles <daniel.mustieles at gmail.com>, 2012 - 2014\n"
+"Nicolás Satragno <nsatragno at gnome.org>, 2012, 2013\n"
+"Milagros Alessandra Infante Montero <maim92 at gmail.com>, 2012, 2013"
+
+#: ../src/about.c:99
+msgid "View and edit tags in audio files"
+msgstr "Ver y editar etiquetas en archivos de sonido"
+
+#: ../src/application.c:47
+msgid "Print the version and exit"
+msgstr "Imprimir la versión y salir"
+
+#. Starting messages
+#: ../src/application.c:177
+#, fuzzy, c-format
+#| msgid "Starting EasyTAG version %s (PID: %d)…"
+msgid "Starting EasyTAG version %s…"
+msgstr "Iniciando EasyTAG versión %s (PID: %d)…"
+
+#: ../src/application.c:182
+#, fuzzy, c-format
+#| msgid "Variable EASYTAGLANG defined. Setting locale: '%s'"
+msgid "Variable EASYTAGLANG defined, setting locale ‘%s’"
+msgstr "Variable EASYTAGLANG definida. Configuración regional: «%s»"
+
+#: ../src/application.c:187
+#, fuzzy, c-format
+#| msgid "Setting locale: '%s'"
+msgid "Setting locale: ‘%s’"
+msgstr "Configuración regional: «%s»"
+
+#: ../src/application.c:193
+#, c-format
+msgid "System locale is ‘%s’, using ‘%s’"
+msgstr ""
+
+#: ../src/application.c:198
+msgid "Unable to create setting directories"
+msgstr "No se puede crear la carpeta de configuraciones"
+
+#: ../src/application.c:339
+#, c-format
+msgid "Website: %s"
+msgstr "Sitio web: %s"
+
+#: ../src/application.c:348
+msgid "- Tag and rename audio files"
+msgstr "- Etiquetar y renombrar archivos de sonido"
+
+#: ../src/application.c:432 ../src/file_list.c:413
+#, fuzzy, c-format
+#| msgid "Error while querying information for file: '%s' (%s)"
+msgid "Error while querying information for file ‘%s’: %s"
+msgstr "Error al consultar la información del archivo: «%s» (%s)"
+
+#: ../src/application.c:496
+#, fuzzy, c-format
+#| msgid "Cannot open path '%s'"
+msgid "Cannot open path ‘%s’"
+msgstr "No se puede abrir la ruta: «%s»"
+
+#: ../src/application_window.c:318 ../src/application_window.c:335
+#, fuzzy, c-format
+#| msgid "Do you really want to delete the file '%s'?"
+msgid "Do you really want to delete the file ‘%s’?"
+msgstr "¿Realmente quiere eliminar el archivo «%s»?"
+
+#: ../src/application_window.c:321 ../src/easytag.c:469 ../src/easytag.c:602
+msgid "Repeat action for the remaining files"
+msgstr "Repetir acción para el resto de los archivos"
+
+#: ../src/application_window.c:323
+msgid "_Skip"
+msgstr "_Omitir"
+
+#: ../src/application_window.c:325 ../src/application_window.c:339
+#, fuzzy
+#| msgid "Delete File"
+msgid "_Delete"
+msgstr "Eliminar archivo"
+
+#: ../src/application_window.c:327 ../src/application_window.c:337
+msgid "Delete File"
+msgstr "Eliminar archivo"
+
+#: ../src/application_window.c:364
+#, fuzzy, c-format
+#| msgid "File '%s' deleted"
+msgid "File ‘%s’ deleted"
+msgstr "Archivo «%s» eliminado"
+
+#: ../src/application_window.c:541
+#, fuzzy, c-format
+#| msgid "Cannot delete file (%s)"
+msgid "Cannot delete file ‘%s’"
+msgstr "No se puede eliminar el archivo (%s)"
+
+#: ../src/application_window.c:562
+#, fuzzy
+#| msgid "All files have been deleted"
+msgid "Some files were not deleted"
+msgstr "Se han eliminado todos los archivos"
+
+#: ../src/application_window.c:564
+msgid "All files have been deleted"
+msgstr "Se han eliminado todos los archivos"
+
+#: ../src/application_window.c:903
+msgid "All tags have been removed"
+msgstr "Todas las etiquetas han sido eliminadas"
+
+#: ../src/application_window.c:1507 ../src/browser.c:356 ../src/browser.c:399
+#: ../src/browser.c:433 ../src/browser.c:4717 ../src/browser.c:4792
+#, fuzzy, c-format
+#| msgid "Failed to launch program: %s"
+msgid "Failed to launch program ‘%s’"
+msgstr "Falló al lanzar el programa: %s"
+
+#. Quit EasyTAG.
+#: ../src/application_window.c:2650
+#, fuzzy
+#| msgid "EasyTAG: Normal exit."
+msgid "Normal exit"
+msgstr "EasyTAG: salida normal."
+
+#: ../src/application_window.c:2687 ../src/browser.c:859
+msgid "Some files have been modified but not saved"
+msgstr "Se han modificado algunos archivos pero no se han guardado"
+
+#: ../src/application_window.c:2688 ../src/browser.c:863 ../src/easytag.c:254
+#: ../src/easytag.c:473 ../src/easytag.c:605 ../src/easytag.c:613
+#, fuzzy
+#| msgid "Disc"
+msgid "_Discard"
+msgstr "Disco"
+
+#: ../src/application_window.c:2690 ../src/browser.c:865 ../src/easytag.c:255
+#: ../src/easytag.c:475 ../src/easytag.c:482 ../src/easytag.c:607
+#: ../src/easytag.c:614 ../src/playlist_dialog.c:659 ../src/tag_area.c:1851
+#, fuzzy
+#| msgid "Save"
+msgid "_Save"
+msgstr "Guardar"
+
+#: ../src/application_window.c:2694 ../src/application_window.c:2732
+#: ../src/easytag.c:260
+msgid "Quit"
+msgstr "Salir"
+
+#: ../src/application_window.c:2697
+msgid "Do you want to save them before quitting?"
+msgstr "¿Quiere guardarlos antes de salir?"
+
+#: ../src/application_window.c:2726
+msgid "Do you really want to quit?"
+msgstr "¿Seguro que desea salir?"
+
+#: ../src/browser.c:569
+#, fuzzy
+#| msgid "Select a directory to browse"
+msgid "New default directory selected for browser"
+msgstr "Seleccione una carpeta para examinar"
+
+#: ../src/browser.c:862
+#, fuzzy
+#| msgid "Do you want to save them before changing the directory?"
+msgid "Do you want to save them before changing directory?"
+msgstr "¿Quiere guardarlos antes de cambiar de carpeta?"
+
+#: ../src/browser.c:869
+msgid "Confirm Directory Change"
+msgstr "Confirmar el cambio de carpeta"
+
+#: ../src/browser.c:2563
+#, fuzzy
+#| msgid "<All albums>"
+msgid "All albums"
+msgstr "<Todos los álbumes>"
+
+#: ../src/browser.c:3816
+msgid "Select File"
+msgstr "Seleccionar archivo"
+
+#: ../src/browser.c:3823
+msgid "Select Directory"
+msgstr "Seleccionar una carpeta"
+
+#: ../src/browser.c:4206
+#, fuzzy, c-format
+#| msgid "Rename the directory '%s' to:"
+msgid "Rename the directory ‘%s’ to:"
+msgstr "Renombrar la carpeta «%s» a:"
+
+#: ../src/browser.c:4346
+msgid "You must type a directory name"
+msgstr "Debe introducir un nombre de directorio"
+
+#: ../src/browser.c:4347 ../src/browser.c:4369
+msgid "Directory Name Error"
+msgstr "Error en el nombre de la carpeta"
+
+#: ../src/browser.c:4365
+#, fuzzy, c-format
+#| msgid "Could not convert '%s' into filename encoding."
+msgid "Could not convert ‘%s’ into filename encoding"
+msgstr "No se puede convertir «%s» a la codificación del nombre de archivo."
+
+#: ../src/browser.c:4368
+#, fuzzy
+#| msgid "Please use another name"
+msgid "Please use another name."
+msgstr "Use otro nombre"
+
+#: ../src/browser.c:4440
+#, fuzzy, c-format
+#| msgid "The directory name '%s' already exists"
+msgid "The directory name ‘%s’ already exists."
+msgstr "El nombre de la carpeta «%s» ya existe"
+
+#: ../src/browser.c:4441 ../src/easytag.c:662
+msgid "Rename File Error"
+msgstr "Error al renombrar el archivo"
+
+#: ../src/browser.c:4479 ../src/browser.c:4508
+msgid "Rename Directory Error"
+msgstr "Error al renombrar la carpeta"
+
+#: ../src/browser.c:4547
+msgid "Directory renamed"
+msgstr "Carpeta renombrada"
+
+#: ../src/browser.c:4709 ../src/browser.c:4784
+#, fuzzy, c-format
+#| msgid "Executed command: %s"
+msgid "Executed command ‘%s’"
+msgstr "Comando ejecutado: %s"
+
+#: ../src/cddb_dialog.c:270
+#, fuzzy, c-format
+#| msgid ""
+#| "Album: '%s', artist: '%s', length: '%s', year: '%s', genre: '%s', ID: '%s'"
+msgid ""
+"Album: ‘%s’, artist: ‘%s’, length: ‘%s’, year: ‘%s’, genre: ‘%s’, disc ID: "
+"‘%s’"
+msgstr ""
+"Álbum: «%s», artista: «%s», duración: «%s», año: «%s», género: «%s», ID: «%s»"
+
+#: ../src/cddb_dialog.c:586
+#, c-format
+msgid "Resolving host '%s'…"
+msgstr "Resolviendo equipo  «%s»…"
+
+#: ../src/cddb_dialog.c:628
+#, fuzzy, c-format
+#| msgid "Cannot create a new socket (%s)"
+msgid "Cannot create a new socket ‘%s’"
+msgstr "No se puede crear un nuevo socket (%s)"
+
+#: ../src/cddb_dialog.c:642
+msgid "Cannot set options on the newly-created socket"
+msgstr "No se pueden establecer opciones en el nuevo socket creado"
+
+#. Open connection to the server.
+#: ../src/cddb_dialog.c:646
+#, fuzzy, c-format
+#| msgid "Connecting to host '%s', port '%d'…"
+msgid "Connecting to host ‘%s’, port ‘%d’…"
+msgstr "Conectando a equipo «%s», puerto «%d»…"
+
+#: ../src/cddb_dialog.c:659
+#, fuzzy, c-format
+#| msgid "Cannot connect to host '%s' (%s)"
+msgid "Cannot connect to host ‘%s’: %s"
+msgstr "No se puede conectar al equipo «%s» (%s)"
+
+#: ../src/cddb_dialog.c:683
+#, fuzzy, c-format
+#| msgid "Cannot resolve host '%s' (%s)"
+msgid "Cannot resolve host ‘%s’: %s"
+msgstr "No se puede resolver el equipo «%s» (%s)."
+
+#: ../src/cddb_dialog.c:696
+#, fuzzy, c-format
+#| msgid "Connected to host '%s'"
+msgid "Connected to host ‘%s’"
+msgstr "Conectado al equipo «%s»"
+
+#: ../src/cddb_dialog.c:783
+#, fuzzy, c-format
+#| msgid "Error while writing CDDB results to file '%s'"
+msgid "Error while writing CDDB results to file ‘%s’"
+msgstr "Error al escribir los resultados de CDDB al archivo «%s»"
+
+#: ../src/cddb_dialog.c:794
+#, c-format
+msgid "Receiving data (%s)…"
+msgstr "Recibiendo datos (%s)…"
+
+#: ../src/cddb_dialog.c:807
+#, fuzzy, c-format
+#| msgid "Error when reading CDDB response (%s)"
+msgid "Error when reading CDDB response ‘%s’"
+msgstr "Error al leer la respuesta de CDDB (%s)"
+
+#: ../src/cddb_dialog.c:814
+#, fuzzy, c-format
+#| msgid "Cannot create file '%s' (%s)"
+msgid "Cannot create file ‘%s’: %s"
+msgstr "No se puede crear el archivo «%s» (%s)"
+
+#. g_print("Request Cddb_Get_Album_Tracks_List : '%s'\n", cddb_in);
+#. Send the request
+#. g_print("Request Cddb_Search_Album_List_From_String_Freedb : '%s'\n", cddb_in);
+#. Send the request
+#. g_print("Request Cddb_Search_Album_List_From_String_Gnudb : '%s'\n", cddb_in);
+#. Send the request
+#: ../src/cddb_dialog.c:943 ../src/cddb_dialog.c:1589
+#: ../src/cddb_dialog.c:1927
+msgid "Sending request…"
+msgstr "Enviando solicitud…"
+
+#: ../src/cddb_dialog.c:947 ../src/cddb_dialog.c:1593
+#: ../src/cddb_dialog.c:1931 ../src/cddb_dialog.c:3488
+#, fuzzy, c-format
+#| msgid "Cannot send the request (%s)"
+msgid "Cannot send the request ‘%s’"
+msgstr "No se puede enviar la solicitud (%s)"
+
+#. Read the answer
+#.
+#. * Read the answer
+#.
+#: ../src/cddb_dialog.c:959 ../src/cddb_dialog.c:1620
+#: ../src/cddb_dialog.c:3506
+msgid "Receiving data…"
+msgstr "Recibiendo datos…"
+
+#: ../src/cddb_dialog.c:966 ../src/cddb_dialog.c:1627
+#: ../src/cddb_dialog.c:1962 ../src/cddb_dialog.c:3513
+msgid "The server returned a bad response"
+msgstr "El servidor devolvió una respuesta errónea"
+
+#: ../src/cddb_dialog.c:982 ../src/cddb_dialog.c:997 ../src/cddb_dialog.c:1018
+#: ../src/cddb_dialog.c:1640 ../src/cddb_dialog.c:1978
+#: ../src/cddb_dialog.c:3530
+#, fuzzy, c-format
+#| msgid "The server returned a bad response: %s"
+msgid "The server returned a bad response ‘%s’"
+msgstr "El servidor devolvió una respuesta errónea: %s"
+
+#. Load the track list of the album
+#: ../src/cddb_dialog.c:1233
+msgid "Loading album track list…"
+msgstr "Cargando la lista de pistas del álbum…"
+
+#: ../src/cddb_dialog.c:1787
+#, c-format
+msgid "Sorry, the web-based search is currently not available"
+msgstr "Lo siento, la búsqueda basada en web no funciona actualmente"
+
+#: ../src/cddb_dialog.c:1789 ../src/cddb_dialog.c:2149
+#, c-format
+msgid "Found one matching album"
+msgid_plural "Found %d matching albums"
+msgstr[0] "Encontrado un álbum coincidente"
+msgstr[1] "Encontrados %d álbumes coincidentes"
+
+#: ../src/cddb_dialog.c:1950
+#, c-format
+msgid "Receiving data of page %d (album %d/%d)…"
+msgstr "Recibiendo datos de página %d (álbum %d/%d)…"
+
+#: ../src/cddb_dialog.c:1952
+#, c-format
+msgid "Receiving data of page %d…"
+msgstr "Recibiendo datos de página %d…"
+
+#: ../src/cddb_dialog.c:2116
+#, c-format
+msgid "More results to load…"
+msgstr "Más resultados que cargar…"
+
+#: ../src/cddb_dialog.c:2296
+msgid "The number of CDDB results does not match the number of selected files"
+msgstr ""
+"El número de resultados de CDDB no coincide con el número de archivos "
+"seleccionados"
+
+#: ../src/cddb_dialog.c:2302
+msgid "Write Tag from CDDB"
+msgstr "Escribir etiqueta desde CDDB"
+
+#: ../src/cddb_dialog.c:3004
+msgid "Ready to search"
+msgstr "Listo para buscar"
+
+#: ../src/cddb_dialog.c:3092 ../src/load_files_dialog.c:261
+#: ../src/setting.c:327
+#, fuzzy, c-format
+#| msgid "Cannot open file '%s' (%s)"
+msgid "Cannot open file ‘%s’: %s"
+msgstr "No se puede abrir el archivo «%s» (%s)"
+
+#: ../src/cddb_dialog.c:3319
+#, c-format
+msgid "No file selected"
+msgstr "No hay ningún archivo seleccionado"
+
+#. The CD redbook standard defines the maximum number of tracks as 99, any
+#. queries with more than 99 tracks will never return a result.
+#: ../src/cddb_dialog.c:3327
+#, c-format
+msgid "More than 99 files selected. Cannot send request"
+msgstr "Se seleccionaron más de 99 archivos. No se puede enviar la solicitud"
+
+#: ../src/cddb_dialog.c:3333
+#, c-format
+msgid "One file selected"
+msgid_plural "%d files selected"
+msgstr[0] "Un archivo seleccionado"
+msgstr[1] "%d archivos seleccionados"
+
+#. g_print("Request Cddb_Search_Album_From_Selected_Files : '%s'\n", cddb_in);
+#: ../src/cddb_dialog.c:3478
+#, fuzzy, c-format
+#| msgid "Sending request (CddbId: %s, #tracks: %d, Disc length: %d)…"
+msgid "Sending request (disc ID: %s, #tracks: %d, Disc length: %d)…"
+msgstr "Enviando solicitud (CddbId: %s, #pistas: %d, duración del disco: %d)…"
+
+#: ../src/cddb_dialog.c:3646
+#, fuzzy, c-format
+#| msgid "DiscID '%s' gave one matching album"
+#| msgid_plural "DiscID '%s' gave %d matching albums"
+msgid "DiscID ‘%s’ gave one matching album"
+msgid_plural "DiscID ‘%s’ gave %d matching albums"
+msgstr[0] "DiscID «%s» da un álbum coincidente"
+msgstr[1] "DiscID «%s» da %d álbumes coincidentes"
+
+#: ../src/charset.c:46
+msgid "Arabic (IBM-864)"
+msgstr "Árabe (IBM-864)"
+
+#: ../src/charset.c:47
+msgid "Arabic (ISO-8859-6)"
+msgstr "Árabe (ISO-8859-6)"
+
+#: ../src/charset.c:48
+msgid "Arabic (Windows-1256)"
+msgstr "Árabe (Windows-1256)"
+
+#: ../src/charset.c:49
+msgid "Baltic (ISO-8859-13)"
+msgstr "Báltico (ISO-8859-13)"
+
+#: ../src/charset.c:50
+msgid "Baltic (ISO-8859-4)"
+msgstr "Báltico (ISO-8859-4)"
+
+#: ../src/charset.c:51
+msgid "Baltic (Windows-1257)"
+msgstr "Báltico (Windows-1257)"
+
+#: ../src/charset.c:52
+msgid "Celtic (ISO-8859-14)"
+msgstr "Céltico (ISO-8859-14)"
+
+#: ../src/charset.c:53
+msgid "Central European (IBM-852)"
+msgstr "Europeo central (IBM-852)"
+
+#: ../src/charset.c:54
+msgid "Central European (ISO-8859-2)"
+msgstr "Europeo central (ISO-8859-2)"
+
+#: ../src/charset.c:55
+msgid "Central European (Windows-1250)"
+msgstr "Europeo central (Windows-1250)"
+
+#: ../src/charset.c:56
+msgid "Chinese Simplified (GB18030)"
+msgstr "Chino simplificado (GB18030)"
+
+#: ../src/charset.c:57
+msgid "Chinese Simplified (GB2312)"
+msgstr "Chino simplificado (GB2312)"
+
+#: ../src/charset.c:58
+msgid "Chinese Traditional (Big5)"
+msgstr "Chino tradicional (Big5)"
+
+#: ../src/charset.c:59
+msgid "Chinese Traditional (Big5-HKSCS)"
+msgstr "Chino tradicional (Big5-HKSCS)"
+
+#: ../src/charset.c:60
+msgid "Cyrillic (IBM-855)"
+msgstr "Cirílico (IBM-855)"
+
+#: ../src/charset.c:61
+msgid "Cyrillic (ISO-8859-5)"
+msgstr "Cirílico (ISO-8859-5)"
+
+#: ../src/charset.c:62
+msgid "Cyrillic (ISO-IR-111)"
+msgstr "Cirílico (ISO-IR-111)"
+
+#: ../src/charset.c:63
+msgid "Cyrillic (KOI8-R)"
+msgstr "Cirílico (KOI8-R)"
+
+#: ../src/charset.c:64
+msgid "Cyrillic (Windows-1251)"
+msgstr "Cirílico (Windows-1251)"
+
+#: ../src/charset.c:65
+msgid "Cyrillic/Russian (CP-866)"
+msgstr "Cirílico/ruso (CP-866)"
+
+#: ../src/charset.c:66
+msgid "Cyrillic/Ukrainian (KOI8-U)"
+msgstr "Cirílico/ucraniano (KOI8-U)"
+
+#: ../src/charset.c:67
+msgid "English (US-ASCII)"
+msgstr "Inglés (US-ASCII)"
+
+#: ../src/charset.c:68
+msgid "Greek (ISO-8859-7)"
+msgstr "Griego (ISO-8859-7)"
+
+#: ../src/charset.c:69
+msgid "Greek (Windows-1253)"
+msgstr "Griego (Windows-1253)"
+
+#: ../src/charset.c:70
+msgid "Hebrew (IBM-862)"
+msgstr "Hebreo (IBM-862)"
+
+#: ../src/charset.c:71
+msgid "Hebrew (Windows-1255)"
+msgstr "Hebreo (Windows-1255)"
+
+#: ../src/charset.c:72
+msgid "Japanese (EUC-JP)"
+msgstr "Japonés (EUC-JP)"
+
+#: ../src/charset.c:73
+msgid "Japanese (ISO-2022-JP)"
+msgstr "Japonés (ISO-2022-JP)"
+
+#: ../src/charset.c:74
+msgid "Japanese (Shift_JIS)"
+msgstr "Japonés (Shift_JIS)"
+
+#: ../src/charset.c:75
+msgid "Korean (EUC-KR)"
+msgstr "Coreano (EUC-KR)"
+
+#: ../src/charset.c:76
+msgid "Nordic (ISO-8859-10)"
+msgstr "Nórdico (ISO-8859-10)"
+
+#: ../src/charset.c:77
+msgid "South European (ISO-8859-3)"
+msgstr "Sur Europeo (ISO-8859-3)"
+
+#: ../src/charset.c:78
+msgid "Thai (TIS-620)"
+msgstr "Tailandés (TIS-620)"
+
+#: ../src/charset.c:79
+msgid "Turkish (IBM-857)"
+msgstr "Turco (IBM-857)"
+
+#: ../src/charset.c:80
+msgid "Turkish (ISO-8859-9)"
+msgstr "Turco (ISO-8859-9)"
+
+#: ../src/charset.c:81
+msgid "Turkish (Windows-1254)"
+msgstr "Turco (Windows-1254)"
+
+#. {N_("Unicode (UTF-7)"),                   "UTF-7"         },
+#: ../src/charset.c:83
+msgid "Unicode (UTF-8)"
+msgstr "Unicode (UTF-8)"
+
+#. {N_("Unicode (UTF-16BE)"),                "UTF-16BE"      },
+#. {N_("Unicode (UTF-16LE)"),                "UTF-16LE"      },
+#. {N_("Unicode (UTF-32BE)"),                "UTF-32BE"      },
+#. {N_("Unicode (UTF-32LE)"),                "UTF-32LE"      },
+#: ../src/charset.c:90
+msgid "Vietnamese (VISCII)"
+msgstr "Vietnamita (VISCII)"
+
+#: ../src/charset.c:91
+msgid "Vietnamese (Windows-1258)"
+msgstr "Vietnamita (Windows-1258)"
+
+#: ../src/charset.c:92
+msgid "Visual Hebrew (ISO-8859-8)"
+msgstr "Hebreo visual (ISO-8859-8)"
+
+#: ../src/charset.c:93
+msgid "Western (IBM-850)"
+msgstr "Occidental (IBM-850)"
+
+#: ../src/charset.c:94
+msgid "Western (ISO-8859-1)"
+msgstr "Occidental (ISO-8859-1)"
+
+#: ../src/charset.c:95
+msgid "Western (ISO-8859-15)"
+msgstr "Occidental (ISO-8859-15)"
+
+#: ../src/charset.c:96
+msgid "Western (Windows-1252)"
+msgstr "Occidental (Windows-1252)"
+
+#: ../src/charset.c:508
+#, fuzzy, c-format
+#| msgid "The filename '%s' couldn't be converted into UTF-8 (%s)."
+msgid "The filename ‘%s’ could not be converted into UTF-8: %s"
+msgstr "El nombre de archivo «%s» no se pudo convertir a UTF-8 (%s)."
+
+#: ../src/charset.c:510 ../src/charset.c:623 ../src/charset.c:688
+msgid "Invalid UTF-8"
+msgstr "UTF-8 no válido"
+
+#: ../src/charset.c:621
+#, fuzzy, c-format
+#| msgid ""
+#| "The UTF-8 string '%s' couldn't be converted into filename encoding (%s)."
+msgid "The UTF-8 string ‘%s’ could not be converted into filename encoding: %s"
+msgstr ""
+"La cadena UTF-8 «%s» no se pudo convertir a la codificación del nombre de "
+"archivo (%s)."
+
+#: ../src/charset.c:686
+#, fuzzy, c-format
+#| msgid "The string '%s' couldn't be converted into UTF-8 (%s)."
+msgid "The string ‘%s’ could not be converted into UTF-8: %s"
+msgstr "La cadena «%s» no se pudo convertir a UTF-8 (%s)."
+
+#: ../src/easytag.c:250
+#, fuzzy, c-format
+#| msgid "A file was changed by an external program"
+#| msgid_plural "%d files were changed by an external program."
+msgid "A file was changed by an external program"
+msgid_plural "%d files were changed by an external program"
+msgstr[0] "Se ha cambiado un archivo por un programa externo"
+msgstr[1] "Se han cambiado %d archivos por un programa externo."
+
+#: ../src/easytag.c:259
+msgid "Do you want to continue saving the file?"
+msgstr "¿Quiere continuar guardando el archivo?"
+
+#: ../src/easytag.c:320 ../src/easytag.c:341
+msgid "Saving files was stopped"
+msgstr "Se detuvo al guardar archivos"
+
+#: ../src/easytag.c:343
+msgid "All files have been saved"
+msgstr "Todos los archivos se han guardado"
+
+#: ../src/easytag.c:462
+#, fuzzy, c-format
+#| msgid "Do you want to write the tag of file '%s'?"
+msgid "Do you want to write the tag of file ‘%s’?"
+msgstr "¿Quiere escribir la etiqueta del archivo «%s»?"
+
+#: ../src/easytag.c:464
+msgid "Confirm Tag Writing"
+msgstr "Confirmar escritura de etiqueta"
+
+#. Directories and filename changed
+#: ../src/easytag.c:565
+msgid "Rename File and Directory"
+msgstr "Renombrar archivo y carpeta"
+
+#: ../src/easytag.c:566
+msgid "File and directory rename confirmation required"
+msgstr "Se requiere confirmación para renombrar el archivo y la carpeta"
+
+#: ../src/easytag.c:567
+#, fuzzy, c-format
+#| msgid "Do you want to rename the file and directory '%s' to '%s'?"
+msgid "Do you want to rename the file and directory ‘%s’ to ‘%s’?"
+msgstr "¿Quiere renombrar el archivo y carpeta «%s» a «%s»?"
+
+#: ../src/easytag.c:573
+msgid "Directory rename confirmation required"
+msgstr "Se requiere confirmar el renombrado de la carpeta"
+
+#: ../src/easytag.c:574
+#, fuzzy, c-format
+#| msgid "Do you want to rename the directory '%s' to '%s'?"
+msgid "Do you want to rename the directory ‘%s’ to ‘%s’?"
+msgstr "¿Quiere renombrar la carpeta «%s» a «%s»?"
+
+#: ../src/easytag.c:582
+msgid "File rename confirmation required"
+msgstr "Se requiere confirmación para renombrar el archivo"
+
+#: ../src/easytag.c:583
+#, fuzzy, c-format
+#| msgid "Do you want to rename the file '%s' to '%s'?"
+msgid "Do you want to rename the file ‘%s’ to ‘%s’?"
+msgstr "¿Quiere renombrar el archivo «%s» a «%s»?"
+
+#: ../src/easytag.c:655
+#, fuzzy, c-format
+#| msgid "Cannot rename file '%s' to '%s'"
+msgid "Cannot rename file ‘%s’ to ‘%s’"
+msgstr "No se puede renombrar el archivo «%s» a «%s»"
+
+#: ../src/easytag.c:669
+#, fuzzy, c-format
+#| msgid "Cannot rename file '%s' to '%s': %s"
+msgid "Cannot rename file ‘%s’ to ‘%s’: %s"
+msgstr "No se puede renombrar el archivo «%s» a «%s»: %s"
+
+#: ../src/easytag.c:674
+msgid "File(s) not renamed"
+msgstr "Archivo(s) no renombrados"
+
+#: ../src/easytag.c:859
+#, fuzzy, c-format
+#| msgid "Writing tag of '%s'"
+msgid "Writing tag of ‘%s’"
+msgstr "Escribiendo etiqueta de «%s»"
+
+#: ../src/easytag.c:867
+#, fuzzy, c-format
+#| msgid "Written tag of '%s'"
+msgid "Wrote tag of ‘%s’"
+msgstr "Etiqueta escrita de «%s»"
+
+#: ../src/easytag.c:883
+#, fuzzy, c-format
+#| msgid "Cannot write tag in file '%s'"
+msgid "Cannot write tag in file ‘%s’"
+msgstr "No se puede escribir la etiqueta en el archivo «%s»"
+
+#: ../src/easytag.c:887
+msgid "Tag Write Error"
+msgstr " Error al escribir etiqueta"
+
+#: ../src/easytag.c:962 ../src/easytag.c:1190
+#, fuzzy, c-format
+#| msgid "Cannot read directory '%s'"
+msgid "Cannot read directory ‘%s’"
+msgstr "No se puede leer carpeta «%s»"
+
+#: ../src/easytag.c:966
+msgid "Directory Read Error"
+msgstr "Error al leer carpeta"
+
+#. Read the directory recursively
+#: ../src/easytag.c:987
+#, c-format
+msgid "Search in progress…"
+msgstr "Búsqueda en progreso…"
+
+#: ../src/easytag.c:1011 ../src/file.c:1306
+#, fuzzy, c-format
+#| msgid "File: '%s'"
+msgid "File: ‘%s’"
+msgstr "Archivo: «%s»"
+
+#: ../src/easytag.c:1058
+#, c-format
+msgid "Found one file in this directory and subdirectories"
+msgid_plural "Found %d files in this directory and subdirectories"
+msgstr[0] "Encontrado un archivo en esta carpeta y subcarpetas."
+msgstr[1] "Encontrados %d archivos en esta carpeta y subcarpetas."
 
-#: ../src/et_core.c:2818
-msgid "Speex File"
-msgstr "Archivo Speex"
+#: ../src/easytag.c:1065
+#, c-format
+msgid "Found one file in this directory"
+msgid_plural "Found %d files in this directory"
+msgstr[0] "Encontrado un archivo en esta carpeta"
+msgstr[1] "Encontrados %d archivos en esta carpeta"
 
-#: ../src/et_core.c:2824
-msgid "FLAC File"
-msgstr "Archivo FLAC"
+#: ../src/easytag.c:1082
+msgid "No file found in this directory and subdirectories"
+msgstr "No se han encontrados archivos en esta carpeta y subcarpetas"
 
-#: ../src/et_core.c:2829
-msgid "MusePack File"
-msgstr "Archivo MusePack"
+#: ../src/easytag.c:1084
+msgid "No file found in this directory"
+msgstr "No se han encontrado archivos en esta carpeta"
 
-#: ../src/et_core.c:2833
-msgid "Monkey's Audio File"
-msgstr "Archivo de sonido Monkey"
+#: ../src/easytag.c:1154
+#, fuzzy, c-format
+#| msgid "Error opening directory '%s' (%s)"
+msgid "Error opening directory ‘%s’: %s"
+msgstr "Error al abrir la carpeta «%s» (%s)"
 
-#: ../src/et_core.c:2838
-msgid "MP4/AAC File"
-msgstr "Archivo MP4/AAC"
+#: ../src/easytag.c:1210
+msgid "Searching for audio files…"
+msgstr "Buscando por archivos de sonido…"
 
-#: ../src/et_core.c:2844
-msgid "Wavpack File"
-msgstr "Archivo Wavpack"
+#: ../src/easytag.c:1211
+msgid "Searching"
+msgstr "Buscando"
 
-#: ../src/et_core.c:2850
-msgid "Opus File"
-msgstr "Archivo Opus"
+#: ../src/easytag.c:1212
+msgid "_Stop"
+msgstr "_Detener"
 
-#: ../src/et_core.c:2909 ../src/et_core.c:2964
+#: ../src/file_area.c:280 ../src/file_area.c:335
 msgid "File not found"
 msgstr "Archivo no encontrado"
 
-#: ../src/et_core.c:2914
-#, c-format
-msgid "Cannot query file information (%s)"
+#: ../src/file_area.c:285 ../src/load_files_dialog.c:221
+#, fuzzy, c-format
+#| msgid "Cannot query file information (%s)"
+msgid "Cannot query file information ‘%s’"
 msgstr "No se puede consultar la información del archivo (%s)"
 
-#: ../src/et_core.c:2948
+#: ../src/file_area.c:319
 msgid "Read-only file"
 msgstr "Archivo de solo lectura"
 
+#: ../src/file_list.c:279
+#, fuzzy, c-format
+#| msgid "Error reading tag from ogg file (%s)"
+msgid "Error reading tag from Ogg file ‘%s’: %s"
+msgstr "Error al leer etiqueta del archivo ogg: (%s)"
+
+#: ../src/file_list.c:290
+#, fuzzy, c-format
+#| msgid "Error reading tags from file: '%s'"
+msgid "Error reading tag from FLAC file ‘%s’: %s"
+msgstr "Error al leer las etiquetas del archivo: «%s»"
+
+#: ../src/file_list.c:300
+#, fuzzy, c-format
+#| msgid "Error reading tags from file: '%s'"
+msgid "Error reading APE tag from file ‘%s’: %s"
+msgstr "Error al leer las etiquetas del archivo: «%s»"
+
+#: ../src/file_list.c:310
+#, fuzzy, c-format
+#| msgid "Error reading tags from file: '%s'"
+msgid "Error reading tag from MP4 file ‘%s’: %s"
+msgstr "Error al leer las etiquetas del archivo: «%s»"
+
+#: ../src/file_list.c:321
+#, fuzzy, c-format
+#| msgid "Error reading tags from file: '%s'"
+msgid "Error reading tag from WavPack file ‘%s’: %s"
+msgstr "Error al leer las etiquetas del archivo: «%s»"
+
+#: ../src/file_list.c:332
+#, fuzzy, c-format
+#| msgid "Error reading tag from Opus file (%s)"
+msgid "Error reading tag from Opus file ‘%s’: %s"
+msgstr "Error al leer etiqueta del archivo Opus (%s)"
+
+#: ../src/file_list.c:348
+#, fuzzy, c-format
+#| msgid ""
+#| "The year value '%s' seems to be invalid in file '%s'. The information "
+#| "will be lost while saving tag."
+msgid ""
+"The year value ‘%s’ seems to be invalid in file ‘%s’. The information will "
+"be lost when saving"
+msgstr ""
+"El valor de año «%s» parece no ser válido en el archivo «%s». La información "
+"se perderá al guardar la etiqueta."
+
+#: ../src/file_list.c:483
+#, fuzzy, c-format
+#| msgid "Automatic corrections applied for file '%s'."
+msgid "Automatic corrections applied for file ‘%s’"
+msgstr "Correcciones automáticas aplicadas para el archivo «%s»."
+
 #. And refresh the number of files in this directory
-#: ../src/et_core.c:3012
+#: ../src/file.c:1330
 #, c-format
 msgid "One file"
 msgid_plural "%u files"
 msgstr[0] "Un archivo"
 msgstr[1] "%u archivos"
 
-#: ../src/et_core.c:3216
-#, c-format
-msgid "Images (%d)"
-msgstr "Imágenes (%d)"
-
 #. Bitrate
-#: ../src/et_core.c:3258 ../src/flac_header.c:205
-#: ../src/monkeyaudio_header.c:86 ../src/mp4_header.cc:132
-#: ../src/mpeg_header.c:206 ../src/musepack_header.c:88
-#: ../src/ogg_header.c:401 ../src/opus_header.c:227 ../src/wavpack_header.c:78
+#: ../src/file.c:1361 ../src/tags/flac_header.c:179
+#: ../src/tags/monkeyaudio_header.c:82 ../src/tags/mp4_header.cc:144
+#: ../src/tags/mpeg_header.c:239 ../src/tags/musepack_header.c:86
+#: ../src/tags/ogg_header.c:410 ../src/tags/opus_header.c:227
+#: ../src/tags/wavpack_header.c:145
 #, c-format
 msgid "%d kb/s"
 msgstr "%d kb/s"
 
 #. Samplerate
-#: ../src/et_core.c:3263 ../src/flac_header.c:210
-#: ../src/monkeyaudio_header.c:91 ../src/mp4_header.cc:137
-#: ../src/mpeg_header.c:211 ../src/musepack_header.c:93
-#: ../src/ogg_header.c:406 ../src/opus_header.c:232 ../src/wavpack_header.c:83
+#: ../src/file.c:1364 ../src/tags/flac_header.c:182
+#: ../src/tags/monkeyaudio_header.c:85 ../src/tags/mp4_header.cc:148
+#: ../src/tags/mpeg_header.c:244 ../src/tags/musepack_header.c:89
+#: ../src/tags/ogg_header.c:413 ../src/tags/opus_header.c:230
+#: ../src/tags/wavpack_header.c:148
 #, c-format
 msgid "%d Hz"
 msgstr "%d Hz"
 
-#: ../src/et_core.c:3409 ../src/scan_dialog.c:688
-#, c-format
-msgid "Could not convert filename '%s' into system filename encoding"
+#: ../src/file.c:1493
+#, fuzzy, c-format
+#| msgid "Could not convert filename '%s' into system filename encoding"
+msgid "Could not convert filename ‘%s’ to system filename encoding"
 msgstr ""
 "No se puede convertir el nombre de archivo «%s» a la codificación de nombres "
 "de archivo del sistema"
 
-#: ../src/et_core.c:3411
+#: ../src/file.c:1495
 msgid "Try setting the environment variable G_FILENAME_ENCODING."
 msgstr "Intente configurar la variable de entorno G_FILENAME_ENCODING."
 
-#: ../src/et_core.c:3412 ../src/scan_dialog.c:690
+#: ../src/file.c:1496 ../src/scan_dialog.c:823
 msgid "Filename translation"
 msgstr "Traducción del nombre de archivo"
 
-#: ../src/et_core.c:4117
-#, c-format
-msgid "Error writing tag type %d to file %s (%s)"
-msgstr "Error al escribir el tipo de etiqueta %d al archivo %s (%s)"
-
-#. Mode
-#. Mode
-#. mpeg4ip library seems to always return -1
-#. Mode
-#: ../src/flac_header.c:215 ../src/mp4_header.cc:143 ../src/ogg_header.c:411
-#: ../src/opus_header.c:237 ../src/wavpack_header.c:88
-msgid "Channels:"
-msgstr "Canales:"
-
-#: ../src/flac_tag.c:131 ../src/flac_tag.c:850 ../src/flac_tag.c:860
-#, c-format
-msgid "Error while opening file: '%s' as FLAC (%s)."
-msgstr "Error al abrir archivo: «%s» como FLAC (%s)."
-
-#: ../src/flac_tag.c:352 ../src/ogg_tag.c:304
-#, c-format
-msgid ""
-"The year value '%s' seems to be invalid in file '%s'. The information will "
-"be lost while saving tag."
-msgstr ""
-"El valor de año «%s» parece no ser válido en el archivo «%s». La información "
-"se perderá al guardar la etiqueta."
-
-#: ../src/flac_tag.c:1061
-#, c-format
-msgid "Picture block isn't valid: '%s'"
-msgstr "El bloque de imagen no es válido: «%s»"
-
-#: ../src/flac_tag.c:1094
-#, c-format
-msgid "Error: Failed to write comments to file '%s' (%s)."
-msgstr "Error: fallo al escribir comentarios al archivo «%s» (%s)."
-
-#: ../src/flac_tag.c:1099 ../src/ogg_tag.c:1161
-#, c-format
-msgid "Written tag of '%s'"
-msgstr "Etiqueta escrita de «%s»"
-
-#: ../src/id3_tag.c:205
-#, c-format
-msgid "Error while reading file: '%s' (%s)"
-msgstr "Error al leer el archivo: «%s» (%s)"
-
-#: ../src/id3_tag.c:217
-#, c-format
-msgid ""
-"As the following corrupted file '%s' will cause an error in id3lib, it will "
-"not be processed"
-msgstr ""
-"Como el siguiente archivo corrupto «%s» causará un error en id3lib, no se "
-"procesará"
-
-#: ../src/id3_tag.c:219
-msgid "Corrupted file"
-msgstr "Archivo dañado"
+#: ../src/load_files_dialog.c:291
+#, fuzzy, c-format
+#| msgid "Error reading file (%s)"
+msgid "Error reading file ‘%s’"
+msgstr "Error al leer el archivo (%s)"
 
-#: ../src/id3_tag.c:592
-#, c-format
-msgid "Removed tag of '%s'"
-msgstr "Etiqueta eliminada de «%s»"
+#: ../src/load_files_dialog.c:628 ../src/load_files_dialog.c:731
+msgid "Insert a blank line"
+msgstr "Insertar una línea en blanco"
 
-#: ../src/id3_tag.c:596 ../src/id3_tag.c:696
-#, c-format
-msgid "Error while removing ID3v1 tag of '%s' (%s)"
-msgstr "Error al eliminar la etiqueta ID3v1 de «%s» (%s)"
+#: ../src/load_files_dialog.c:632 ../src/load_files_dialog.c:735
+msgid "Delete this line"
+msgstr "Eliminar esta línea"
 
-#: ../src/id3_tag.c:598 ../src/id3_tag.c:668
-#, c-format
-msgid "Error while removing ID3v2 tag of '%s' (%s)"
-msgstr "Error al eliminar la etiqueta ID3v2 de «%s» (%s)"
+#: ../src/load_files_dialog.c:643 ../src/load_files_dialog.c:746
+#, fuzzy
+#| msgid "Move up this line"
+msgid "Move this line up"
+msgstr "Subir esta línea"
 
-#: ../src/id3_tag.c:617
-#, c-format
-msgid "Error while updating ID3v2 tag of '%s' (%s)"
-msgstr "Error al actualizar la etiqueta ID3v2 de «%s» (%s)"
+#: ../src/load_files_dialog.c:647 ../src/load_files_dialog.c:750
+#, fuzzy
+#| msgid "Move up this line"
+msgid "Move this line down"
+msgstr "Subir esta línea"
 
-#: ../src/id3_tag.c:645
-msgid ""
-"You have tried to save this tag to Unicode but it was detected that your "
-"version of id3lib is buggy"
-msgstr ""
-"Ha intentado guardar esta etiqueta en Unicode pero se detectó que su versión "
-"de id3lib tiene errores"
+#: ../src/load_files_dialog.c:893
+msgid "Load Filenames From a Text File"
+msgstr "Cargar nombres de archivos desde un archivo de texto"
 
-#: ../src/id3_tag.c:647
-#, c-format
-msgid ""
-"If you reload this file, some characters in the tag may not be displayed "
-"correctly. Please, apply the patch src/id3lib/"
-"patch_id3lib_3.8.3_UTF16_writing_bug.diff to id3lib, which is available in "
-"the EasyTAG package sources.\n"
-"Note that this message will appear only once.\n"
-"\n"
-"File: %s"
-msgstr ""
-"Si vuelve a cargar este archivo, algunos caracteres en la etiqueta pueden no "
-"mostrarse correctamente. Aplique el parche src/id3lib/"
-"patch_id3lib_3.8.3_UTF16_writing_bug.diff a id3lib, que está disponible en "
-"el paquete de fuentes de EasyTAG. \n"
-"Tenga en cuenta que este mensaje aparecerá solo una vez.\n"
-"\n"
-"Archivo: %s"
+#: ../src/misc.c:204
+msgid "You must type a program name"
+msgstr "Debe introducir un nombre de programa"
 
-#: ../src/id3_tag.c:654
-msgid "Buggy id3lib"
-msgstr "id3lib con errores"
+#: ../src/misc.c:205
+msgid "Program Name Error"
+msgstr "Error del nombre del programa"
 
-#: ../src/id3_tag.c:688
-#, c-format
-msgid "Error while updating ID3v1 tag of '%s' (%s)"
-msgstr "Error al actualizar la etiqueta ID3v1 de «%s» (%s)"
+#: ../src/picture.c:174
+msgid "JPEG image"
+msgstr "Imagen JPEG"
 
-#: ../src/id3_tag.c:702 ../src/id3v24_tag.c:1108
-#, c-format
-msgid "Updated tag of '%s'"
-msgstr "Actualizada la etiqueta de «%s»"
+#: ../src/picture.c:176
+msgid "PNG image"
+msgstr "Imagen PNG"
 
-#: ../src/id3_tag.c:721
-msgid "No error reported"
-msgstr "No se han reportado errores"
+#: ../src/picture.c:178
+msgid "GIF image"
+msgstr "Imagen GIF"
 
-#: ../src/id3_tag.c:723
-msgid "No available memory"
-msgstr "No hay memoria disponible"
+#: ../src/picture.c:180
+msgid "Unknown image"
+msgstr "Imagen desconocida"
 
-#: ../src/id3_tag.c:725
-msgid "No data to parse"
-msgstr "No hay datos que analizar"
+#: ../src/picture.c:192
+#, fuzzy
+#| msgid "32x32 pixel PNG file icon"
+msgid "32×32 pixel PNG file icon"
+msgstr "Icono de archivo PNG de 32x32 píxeles"
 
-#: ../src/id3_tag.c:727
-msgid "Improperly formatted data"
-msgstr "Datos incorrectamente formateados"
+#: ../src/picture.c:194
+msgid "Other file icon"
+msgstr "Otro icono de archivo"
 
-#: ../src/id3_tag.c:729
-msgid "No buffer to write to"
-msgstr "No hay búfer para escribir"
+#: ../src/picture.c:196
+msgid "Cover (front)"
+msgstr "Carátula (frontal)"
 
-#: ../src/id3_tag.c:731
-msgid "Buffer is too small"
-msgstr "El búfer es demasiado pequeño"
+#: ../src/picture.c:198
+msgid "Cover (back)"
+msgstr "Carátula (trasera)"
 
-#: ../src/id3_tag.c:733
-msgid "Invalid frame ID"
-msgstr "ID de marco no válido"
+#: ../src/picture.c:200
+msgid "Leaflet page"
+msgstr "Página del folleto"
 
-#: ../src/id3_tag.c:735
-msgid "Requested field not found"
-msgstr "Campo solicitado no encontrado"
+#: ../src/picture.c:202
+#, fuzzy
+#| msgid "Media (e.g. label side of CD)"
+msgid "Media (such as label side of CD)"
+msgstr "Medios (ej. etiqueta lateral del CD)"
 
-#: ../src/id3_tag.c:737
-msgid "Unknown field type"
-msgstr "Tipo de campo desconocido"
+#: ../src/picture.c:204
+msgid "Lead artist/lead performer/soloist"
+msgstr "Artista líder/intérprete líder/solista"
 
-#: ../src/id3_tag.c:739
-msgid "Tag is already attached to a file"
-msgstr "La etiqueta ya está adjuntada a un archivo"
+#: ../src/picture.c:206
+msgid "Artist/performer"
+msgstr "Artista/intérprete"
 
-#: ../src/id3_tag.c:741
-msgid "Invalid tag version"
-msgstr "Versión de etiqueta no válida"
+#: ../src/picture.c:208
+msgid "Conductor"
+msgstr "Director"
 
-#: ../src/id3_tag.c:743
-msgid "No file to parse"
-msgstr "Ningún archivo que procesar"
+#: ../src/picture.c:210
+msgid "Band/Orchestra"
+msgstr "Banda/Orquesta"
 
-#: ../src/id3_tag.c:745
-msgid "Attempting to write to a read-only file"
-msgstr "Intentando escribir en un archivo de sólo lectura"
+#: ../src/picture.c:214
+msgid "Lyricist/text writer"
+msgstr "Escritor de las letras/texto"
 
-#: ../src/id3_tag.c:747
-msgid "Error in compression/uncompression"
-msgstr "Error en compresión/descompresión"
+#: ../src/picture.c:216
+msgid "Recording location"
+msgstr "Lugar de grabación"
 
-#: ../src/id3_tag.c:749
-msgid "Unknown error message"
-msgstr "Mensaje de error desconocido"
+#: ../src/picture.c:218
+msgid "During recording"
+msgstr "Durante la grabación"
 
-#: ../src/id3_tag.c:1357
-#, c-format
-msgid "Error while creating temporary file: '%s'"
-msgstr "Error al crear archivo temporal: «%s»"
+#: ../src/picture.c:220
+msgid "During performance"
+msgstr "Durante la ejecución"
 
-#: ../src/id3_tag.c:1364
-msgid "Error while creating temporary file"
-msgstr "Error al crear archivo temporal"
+#: ../src/picture.c:222
+msgid "Movie/video screen capture"
+msgstr "Captura de pantalla de la película/vídeo"
 
-#: ../src/id3_tag.c:1384
-#, c-format
-msgid "Error while writing to file: '%s' (%s)"
-msgstr "Error al escribir al archivo: «%s» (%s)"
+#: ../src/picture.c:224
+msgid "A bright colored fish"
+msgstr "Un pez brillante coloreado"
 
-#. Translators: The first string is a filename, the
-#. * second string is the number of bytes that were
-#. * missing (not read for some reason) while reading from
-#. * the file.
-#.
-#: ../src/id3v24_tag.c:1563
-#, c-format
-msgid "Cannot write tag of file ‘%s’ (a byte was missing)"
-msgid_plural "Cannot write tag of file ‘%s’ (%s bytes were missing)"
-msgstr[0] "No se puede escribir la etiqueta del archivo «%s» (faltaba un byte)"
-msgstr[1] ""
-"No se puede escribir la etiqueta del archivo «%s» (faltaban %s bytes)"
+#: ../src/picture.c:226
+msgid "Illustration"
+msgstr "Ilustración"
 
-#: ../src/id3v24_tag.c:1584
-#, c-format
-msgid "Cannot save tag of file '%s'"
-msgstr "No se puede guardar etiqueta del archivo «%s»"
+#: ../src/picture.c:228
+msgid "Band/Artist logotype"
+msgstr "Logotipo de banda/artista"
 
-#: ../src/id3v24_tag.c:1595
-#, c-format
-msgid "Size error while saving tag of '%s'"
-msgstr "Error de tamaño al guardar etiqueta de «%s»"
+#: ../src/picture.c:230
+msgid "Publisher/studio logotype"
+msgstr "Logotipo del editor/estudio"
 
-#: ../src/log.c:100
-msgid "Log"
-msgstr "Registro"
+#: ../src/picture.c:234
+msgid "Unknown image type"
+msgstr "Tipo de imagen desconocido"
 
-#: ../src/misc.c:716
-msgid "You must type a program name"
-msgstr "Debe introducir un nombre de programa"
+#: ../src/picture.c:262 ../src/picture.c:271
+msgid "pixels"
+msgstr "píxeles"
 
-#: ../src/misc.c:717
-msgid "Program Name Error"
-msgstr "Error del nombre del programa"
+#: ../src/picture.c:262 ../src/picture.c:271
+msgid "Type"
+msgstr "Tipo"
 
-#: ../src/misc.c:796
-#, c-format
-msgid "Executed command: %s"
-msgstr "Comando ejecutado: %s"
+#: ../src/playlist_dialog.c:531
+#, fuzzy, c-format
+#| msgid "Cannot write playlist file '%s'"
+msgid "Cannot write playlist file ‘%s’"
+msgstr "No se puede escribir el archivo de lista de reproducción «%s»"
 
-#: ../src/misc.c:803
-#, c-format
-msgid "Failed to launch program: %s"
-msgstr "Falló al lanzar el programa: %s"
+#: ../src/playlist_dialog.c:535
+msgid "Playlist File Error"
+msgstr "Error del archivo de lista de reproducción"
 
-#: ../src/misc.c:820
-msgid "Select File"
-msgstr "Seleccionar archivo"
+#: ../src/playlist_dialog.c:543
+#, fuzzy, c-format
+#| msgid "Written playlist file '%s'"
+msgid "Wrote playlist file ‘%s’"
+msgstr "Se ha escrito el archivo de la lista «%s»"
 
-#: ../src/misc.c:826
-msgid "Select Directory"
-msgstr "Seleccionar una carpeta"
+#: ../src/playlist_dialog.c:625 ../src/scan_dialog.c:2824
+#: ../src/scan_dialog.c:2886
+msgid "Invalid scanner mask"
+msgstr "Máscara del analizador no válida"
 
-#: ../src/misc.c:1138
+#: ../src/playlist_dialog.c:656
 msgid "Generate Playlist"
 msgstr "Generar lista de reproducción"
 
-#: ../src/misc.c:1162
-msgid "M3U Playlist Name"
-msgstr "Nombre de la lista de reproducción M3U"
-
-#: ../src/misc.c:1177
-msgid "Use directory name"
-msgstr "Usar nombre de la carpeta"
-
-#. Playlist options
-#: ../src/misc.c:1194
-msgid "Playlist Options"
-msgstr "Opciones de la lista de reproducción"
+#. The window
+#: ../src/preferences_dialog.c:289
+msgid "Preferences"
+msgstr "Preferencias"
 
-#: ../src/misc.c:1200
-msgid "Include only the selected files"
-msgstr "Incluir sólo los archivos seleccionados"
+#: ../src/preferences_dialog.c:1126
+#, fuzzy
+#| msgid "The selected path for 'Default path to files' is invalid"
+msgid "The selected default path is invalid"
+msgstr ""
+"La ruta seleccionada para «Ruta a archivos predeterminada» no es válida"
 
-#: ../src/misc.c:1203
+#: ../src/preferences_dialog.c:1128
+#, fuzzy, c-format
+#| msgid ""
+#| "Path: '%s'\n"
+#| "Error: %s"
 msgid ""
-"If activated, only the selected files will be written in the playlist file. "
-"Else, all the files will be written."
+"Path: ‘%s’\n"
+"Error: %s"
 msgstr ""
-"Si está activado, sólo los archivos seleccionados se escribirán en el "
-"archivo de la lista de reproducción. De lo contrario, se escribirán todos "
-"los archivos."
+"Ruta: «%s»\n"
+"Error: %s"
 
-#: ../src/misc.c:1206
-msgid "Use full path for files in playlist"
-msgstr "Usar ruta completa para los archivos en la lista de reproducción"
+#: ../src/preferences_dialog.c:1132
+msgid "Invalid Path Error"
+msgstr "Error de ruta no válida"
 
-#: ../src/misc.c:1209
-msgid "Use relative path for files in playlist"
-msgstr "Usar ruta relativa para los archivos en la lista de reproducción"
+#: ../src/scan_dialog.c:409
+#, fuzzy, c-format
+#| msgid "Cannot calculate CRC value of file (%s)"
+msgid "Cannot calculate CRC value of file ‘%s’"
+msgstr "No se puede calcular el valor CRC del archivo (%s)"
 
-#. Create playlist in parent directory
-#: ../src/misc.c:1215
-msgid "Create playlist in the parent directory"
-msgstr "Crear lista de reproducción en la carpeta padre"
+#: ../src/scan_dialog.c:427
+msgid "Tag successfully scanned"
+msgstr "Etiqueta analizada con éxito"
+
+#: ../src/scan_dialog.c:430
+#, fuzzy, c-format
+#| msgid "Tag successfully scanned: %s"
+msgid "Tag successfully scanned ‘%s’"
+msgstr "Etiqueta analizada con éxito: %s"
 
-#: ../src/misc.c:1218
-msgid "If activated, the playlist will be created in the parent directory."
+#: ../src/scan_dialog.c:473
+#, fuzzy, c-format
+#| msgid ""
+#| "Tag scanner: strange… the extension '%s' was not found in filename '%s'"
+msgid "The extension ‘%s’ was not found in filename ‘%s’"
 msgstr ""
-"Si está activado, la lista de reproducción se creará en la carpeta padre."
+"Etiqueta del analizador: extraño… la extensión «%s» no se encuentra en el "
+"nombre de archivo «%s»"
 
-#. DOS Separator
-#: ../src/misc.c:1222
-msgid "Use DOS directory separator"
-msgstr "Usar el separador de carpetas de DOS"
+#: ../src/scan_dialog.c:563 ../src/scan_dialog.c:594
+#, fuzzy, c-format
+#| msgid "Scan Error: can't find separator '%s' within '%s'"
+msgid "Cannot find separator ‘%s’ within ‘%s’"
+msgstr "Error al analizar: no se puede encontrar el separador «%s» entre «%s»"
 
-#: ../src/misc.c:1228
-msgid ""
-"This option replaces the UNIX directory separator '/' into DOS separator "
-"'\\'."
+#: ../src/scan_dialog.c:821
+#, fuzzy, c-format
+#| msgid "Could not convert filename '%s' into system filename encoding"
+msgid "Could not convert filename ‘%s’ into system filename encoding"
 msgstr ""
-"Esta opción reemplaza el separador de carpetas UNIX «/» por el separador DOS "
-"«\\»."
+"No se puede convertir el nombre de archivo «%s» a la codificación de nombres "
+"de archivo del sistema"
 
-#: ../src/misc.c:1237
-msgid "Playlist Content"
-msgstr "Contenido de la lista de reproducción"
+#: ../src/scan_dialog.c:846
+msgid "New filename successfully scanned"
+msgstr "Nombre de archivo nuevo analizado con éxito"
 
-#: ../src/misc.c:1243
-msgid "Write only list of files"
-msgstr "Escribir sólo la lista de archivos"
+#: ../src/scan_dialog.c:850
+#, fuzzy, c-format
+#| msgid "New filename successfully scanned: %s"
+msgid "New filename successfully scanned ‘%s’"
+msgstr "Nombre de archivo nuevo analizado con éxito: %s"
 
-#: ../src/misc.c:1247
-msgid "Write info using filename"
-msgstr "Escribir información usando el nombre de archivo"
+#: ../src/scan_dialog.c:1213
+#, fuzzy, c-format
+#| msgid "Error while processing fields: %s"
+msgid "Error while processing fields ‘%s’"
+msgstr "Error al procesar campos: %s"
 
-#: ../src/misc.c:1250
-msgid "Write info using:"
-msgstr "Escribir información usando:"
+#: ../src/scan_dialog.c:2094
+msgid "New_mask"
+msgstr "Máscara_nueva"
 
-#: ../src/misc.c:1464
-#, c-format
-msgid "Cannot write playlist file '%s'"
-msgstr "No se puede escribir el archivo de lista de reproducción «%s»"
+#. The window
+#: ../src/scan_dialog.c:2311
+msgid "Tag and Filename Scan"
+msgstr "Análisis de etiquetas y nombres de archivo"
 
-#: ../src/misc.c:1468
-msgid "Playlist File Error"
-msgstr "Error del archivo de lista de reproducción"
+#. 'Scan selected files' button
+#: ../src/scan_dialog.c:2317
+msgid "Scan Files"
+msgstr "Analizar archivos"
 
-#: ../src/misc.c:1476
-#, c-format
-msgid "Written playlist file '%s'"
-msgstr "Se ha escrito el archivo de la lista «%s»"
+#: ../src/scan_dialog.c:2323
+msgid "Scan selected files"
+msgstr "Analizar archivos seleccionados"
 
-#: ../src/misc.c:1540 ../src/scan_dialog.c:2747 ../src/scan_dialog.c:2809
-msgid "Invalid scanner mask"
-msgstr "Máscara del analizador no válida"
+#: ../src/scan_dialog.c:2961
+msgid "All tags have been scanned"
+msgstr "Todas las etiquetas han sido analizadas"
 
-#: ../src/misc.c:1904
-msgid "CD"
-msgstr "CD"
+#: ../src/search_dialog.c:545
+#, c-format
+msgid "Found one file"
+msgid_plural "Found %d files"
+msgstr[0] "Se encontró un archivo"
+msgstr[1] "Se encontraron %d archivos"
 
-#: ../src/misc.c:1926
+#: ../src/search_dialog.c:594
 msgid "Find Files"
 msgstr "Buscar archivos"
 
-#: ../src/misc.c:1958
-msgid ""
-"Type the word to search into files. Or type nothing to display all files."
-msgstr ""
-"Introduzca la palabra que buscar en los archivos. O no introduzca nada para "
-"mostrar todos los archivos."
+#: ../src/search_dialog.c:678
+msgid "Ready to search…"
+msgstr "Listo para buscar…"
 
-#. Where...
-#: ../src/misc.c:1964
-msgid "In:"
-msgstr "En:"
+#: ../src/setting.c:245
+#, fuzzy, c-format
+#| msgid "Error: Cannot write list to file: %s (%s)"
+msgid "Cannot write list to file ‘%s’: %s"
+msgstr "Errot: no se puede escribir la lista al archivo: %s (%s)"
 
-#. Translators: This option is for the previous 'in' option. For instance,
-#. * translate this as "Search" "In:" "the Filename".
-#: ../src/misc.c:1969
-msgid "the Filename"
-msgstr "el nombre del archivo"
+#. Fall back to defaults.
+#: ../src/setting.c:350
+#, fuzzy
+#| msgid "Loading default 'Fill Tag' masks…"
+msgid "Loading default ‘Fill Tag’ masks…"
+msgstr "Cargando máscaras predeterminadas de «Rellenar etiqueta»…"
 
-#. Translators: This option is for the previous 'in' option. For instance,
-#. * translate this as "Search" "In:" "the Tag".
-#. * Note: label changed to "the Tag" (to be the only one) to fix a Hungarian
-#. * grammatical problem (which uses one word to say "in the tag" like here)
-#.
-#: ../src/misc.c:1975
-msgid "the Tag"
-msgstr "la etiqueta"
+#. Fall back to defaults.
+#: ../src/setting.c:380
+#, fuzzy
+#| msgid "Loading default 'Rename File' masks…"
+msgid "Loading default ‘Rename File’ masks…"
+msgstr "Cargando máscaras predeterminadas de «Renombrar archivo»…"
 
-#. Property of the search
-#: ../src/misc.c:1986 ../src/prefs.c:335
-msgid "Case sensitive"
-msgstr "Sensible a capitalización"
+#: ../src/status_bar.c:146
+msgid "Ready to start"
+msgstr "Listo para empezar"
 
-#: ../src/misc.c:2213
-msgid "Ready to search…"
-msgstr "Listo para buscar…"
+#: ../src/tag_area.c:186
+#, fuzzy, c-format
+#| msgid "Selected files tagged with title '%s'."
+msgid "Selected files tagged with title ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el título «%s»."
 
-#: ../src/misc.c:2433
-#, c-format
-msgid "Found one file"
-msgid_plural "Found %d files"
-msgstr[0] "Se encontró un archivo"
-msgstr[1] "Se encontraron %d archivos"
+#: ../src/tag_area.c:191
+#, fuzzy
+#| msgid "Removed title from selected files."
+msgid "Removed title from selected files"
+msgstr "Título eliminado de los archivos seleccionados."
 
-#: ../src/misc.c:2718
-msgid "Load Filenames From a Text File"
-msgstr "Cargar nombres de archivos desde un archivo de texto"
+#: ../src/tag_area.c:208
+#, fuzzy, c-format
+#| msgid "Selected files tagged with artist '%s'."
+msgid "Selected files tagged with artist ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el artista «%s»."
 
-#: ../src/misc.c:2747
-msgid "File:"
-msgstr "Archivo:"
+#: ../src/tag_area.c:213
+#, fuzzy
+#| msgid "Removed artist from selected files."
+msgid "Removed artist from selected files"
+msgstr "Artista eliminado de los archivos seleccionados."
 
-#. Button 'load'
-#. the signal attached to this button, to load the file, is placed after the LoadFileContentList definition
-#: ../src/misc.c:2766
-msgid " Load "
-msgstr " Cargar "
+#: ../src/tag_area.c:229
+#, fuzzy, c-format
+#| msgid "Selected files tagged with album artist '%s'."
+msgid "Selected files tagged with album artist ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el artista del álbum «%s»."
 
-#: ../src/misc.c:2784
-msgid "Content of Text File"
-msgstr "Contenido del archivo de texto"
+#: ../src/tag_area.c:234
+#, fuzzy
+#| msgid "Removed album artist from selected files."
+msgid "Removed album artist from selected files"
+msgstr "Eliminado artista del álbum de los archivos seleccionados."
 
-#. gtk_button_set_relief(GTK_BUTTON(Button),GTK_RELIEF_NONE);
-#: ../src/misc.c:2805 ../src/misc.c:2900
-msgid "Insert a blank line before the selected line"
-msgstr "Insertar un línea en blanco antes de la línea seleccionada"
+#: ../src/tag_area.c:251
+#, fuzzy, c-format
+#| msgid "Selected files tagged with album '%s'."
+msgid "Selected files tagged with album ‘%s’"
+msgstr "Archivos seleccionados etiquetados con álbum «%s»."
 
-#. gtk_button_set_relief(GTK_BUTTON(Button),GTK_RELIEF_NONE);
-#: ../src/misc.c:2814 ../src/misc.c:2909
-msgid "Delete the selected line"
-msgstr "Eliminar la línea seleccionada"
+#: ../src/tag_area.c:256
+#, fuzzy
+#| msgid "Removed album name from selected files."
+msgid "Removed album name from selected files"
+msgstr "Nombre de álbum eliminado de los archivos seleccionados."
 
-#. gtk_button_set_relief(GTK_BUTTON(Button),GTK_RELIEF_NONE);
-#: ../src/misc.c:2823 ../src/misc.c:2918 ../src/misc.c:3399
-msgid "Delete all blank lines"
-msgstr "Eliminar todas las líneas en blanco"
+#: ../src/tag_area.c:294
+#, fuzzy, c-format
+#| msgid "Selected files tagged with disc number '%s/%s'."
+msgid "Selected files tagged with disc number ‘%s/%s’"
+msgstr "Archivos seleccionados etiquetados con el número de disco «%s/%s»."
 
-#. gtk_button_set_relief(GTK_BUTTON(Button),GTK_RELIEF_NONE);
-#: ../src/misc.c:2835 ../src/misc.c:2930
-msgid "Move up the selected line"
-msgstr "Subir la línea seleccionada"
+#: ../src/tag_area.c:299
+#, fuzzy, c-format
+#| msgid "Selected files tagged with disc number like 'xx'."
+msgid "Selected files tagged with disc number like ‘xx’"
+msgstr "Archivos seleccionados etiquetados con el número de disco como «xx»."
 
-#. gtk_button_set_relief(GTK_BUTTON(Button),GTK_RELIEF_NONE);
-#: ../src/misc.c:2844 ../src/misc.c:2939
-msgid "Move down the selected line"
-msgstr "Bajar la línea seleccionada"
+#: ../src/tag_area.c:304
+#, fuzzy
+#| msgid "Removed disc number from selected files."
+msgid "Removed disc number from selected files"
+msgstr "Número de disco eliminado de los archivos seleccionados."
 
-#. gtk_button_set_relief(GTK_BUTTON(Button),GTK_RELIEF_NONE);
-#: ../src/misc.c:2856 ../src/misc.c:2951 ../src/misc.c:3423
-msgid "Reload"
-msgstr "Recargar"
+#: ../src/tag_area.c:321
+#, fuzzy, c-format
+#| msgid "Selected files tagged with year '%s'."
+msgid "Selected files tagged with year ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el año «%s»."
 
-#: ../src/misc.c:2878
-msgid "List of Files"
-msgstr "Lista de archivos"
+#: ../src/tag_area.c:326
+#, fuzzy
+#| msgid "Removed year from selected files."
+msgid "Removed year from selected files"
+msgstr "Año eliminado de los archivos seleccionados."
 
-#: ../src/misc.c:2973
-msgid "Selected line:"
-msgstr "Línea seleccionada:"
+#: ../src/tag_area.c:356 ../src/tag_area.c:450
+#, fuzzy, c-format
+#| msgid "Selected files tagged with track like 'xx/%s'."
+msgid "Selected files tagged with track like ‘xx/%s’"
+msgstr "Archivos seleccionados etiquetados con la pista como «xx/%s»."
 
-#: ../src/misc.c:2991
-msgid ""
-"When activating this option, after loading the filenames, the current "
-"selected scanner will be ran (the scanner window must be opened)."
-msgstr ""
-"Cuando esta opción esté activa, después de cargar los nombres de archivo, el "
-"analizador seleccionado actual se ejecutará (la ventana del analizador debe "
-"estar abierta)."
+#: ../src/tag_area.c:360
+#, fuzzy, c-format
+#| msgid "Selected files tagged with track like 'xx'."
+msgid "Selected files tagged with track like ‘xx’"
+msgstr "Archivos seleccionados etiquetados con la pista como «xx»."
 
-#: ../src/misc.c:3078
-#, c-format
-msgid "Cannot retrieve file info (%s)"
-msgstr "No se puede recuperar la información del archivo (%s)"
+#: ../src/tag_area.c:365 ../src/tag_area.c:455
+#, fuzzy
+#| msgid "Removed track number from selected files."
+msgid "Removed track number from selected files"
+msgstr "Número de pista eliminado de los archivos seleccionados."
 
-#: ../src/misc.c:3141
-#, c-format
-msgid "Can't open file '%s' (%s)"
-msgstr "No se puede abrir el archivo «%s» (%s)"
+#. msg = g_strdup_printf(_("All %d tracks numbered sequentially."), ETCore->ETFileSelectionList_Length);
+#: ../src/tag_area.c:423
+#, fuzzy, c-format
+#| msgid "Selected tracks numbered sequentially."
+msgid "Selected tracks numbered sequentially"
+msgstr "Pistas seleccionadas numeradas secuencialmente."
 
-#: ../src/misc.c:3170
-#, c-format
-msgid "Error reading file (%s)"
-msgstr "Error al leer el archivo (%s)"
+#: ../src/tag_area.c:472
+#, fuzzy, c-format
+#| msgid "Selected files tagged with genre '%s'."
+msgid "Selected files tagged with genre ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el género «%s»."
 
-#: ../src/misc.c:3387
-msgid "Insert a blank line"
-msgstr "Insertar una línea en blanco"
+#: ../src/tag_area.c:477
+#, fuzzy
+#| msgid "Removed genre from selected files."
+msgid "Removed genre from selected files"
+msgstr "Género eliminado de los archivos seleccionados."
 
-#: ../src/misc.c:3393
-msgid "Delete this line"
-msgstr "Eliminar esta línea"
+#: ../src/tag_area.c:501
+#, fuzzy, c-format
+#| msgid "Selected files tagged with comment '%s'."
+msgid "Selected files tagged with comment ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el comentario «%s»."
 
-#: ../src/misc.c:3408
-msgid "Move up this line"
-msgstr "Subir esta línea"
+#: ../src/tag_area.c:506
+#, fuzzy
+#| msgid "Removed comment from selected files."
+msgid "Removed comment from selected files"
+msgstr "Comentario eliminado de los archivos seleccionados."
 
-#: ../src/misc.c:3414
-msgid "Move down this line"
-msgstr "Bajar esta línea"
+#: ../src/tag_area.c:522
+#, fuzzy, c-format
+#| msgid "Selected files tagged with composer '%s'."
+msgid "Selected files tagged with composer ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el compositor «%s»."
 
-#. Mode changed to profile name
-#: ../src/monkeyaudio_header.c:78 ../src/musepack_header.c:80
-#, c-format
-msgid "Profile:"
-msgstr "Perfil:"
+#: ../src/tag_area.c:527
+#, fuzzy
+#| msgid "Removed composer from selected files."
+msgid "Removed composer from selected files"
+msgstr "Eliminado el compositor de los archivos seleccionados."
 
-#: ../src/mp4_header.cc:59 ../src/mp4_tag.cc:91 ../src/mp4_tag.cc:284
-msgid "MP4 format invalid"
-msgstr "Formato MP4 no válido"
+#: ../src/tag_area.c:544
+#, fuzzy, c-format
+#| msgid "Selected files tagged with original artist '%s'."
+msgid "Selected files tagged with original artist ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el artista original «%s»."
 
-#: ../src/mp4_header.cc:69
-#, c-format
-msgid "Error reading properties from file: '%s'"
-msgstr "Error al leer las propiedades del archivo: «%s»"
+#: ../src/tag_area.c:549
+#, fuzzy
+#| msgid "Removed original artist from selected files."
+msgid "Removed original artist from selected files"
+msgstr "Eliminado el artista original de los archivos seleccionados."
 
-#: ../src/mp4_header.cc:130 ../src/mpeg_header.c:204
-#, c-format
-msgid "~%d kb/s"
-msgstr "~%d kb/s"
+#: ../src/tag_area.c:566
+#, fuzzy, c-format
+#| msgid "Selected files tagged with copyright '%s'."
+msgid "Selected files tagged with copyright ‘%s’"
+msgstr "Archivos seleccionados etiquetados con copyright «%s»."
 
-#: ../src/mp4_tag.cc:101 ../src/mp4_tag.cc:293
-#, c-format
-msgid "Error reading tags from file: '%s'"
-msgstr "Error al leer las etiquetas del archivo: «%s»"
+#: ../src/tag_area.c:571
+#, fuzzy
+#| msgid "Removed copyright from selected files."
+msgid "Removed copyright from selected files"
+msgstr "Eliminado el copyright de los archivos seleccionados."
 
-#: ../src/mpeg_header.c:64
-msgid "Stereo"
-msgstr "Estéreo"
+#: ../src/tag_area.c:588
+#, fuzzy, c-format
+#| msgid "Selected files tagged with URL '%s'."
+msgid "Selected files tagged with URL ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el URL «%s»."
 
-#: ../src/mpeg_header.c:65
-msgid "Joint stereo"
-msgstr "Estéreo mixto"
+#: ../src/tag_area.c:593
+#, fuzzy
+#| msgid "Removed URL from selected files."
+msgid "Removed URL from selected files"
+msgstr "URL eliminado de los archivos seleccionados."
 
-#: ../src/mpeg_header.c:66
-msgid "Dual channel"
-msgstr "Canal doble"
+#: ../src/tag_area.c:610
+#, fuzzy, c-format
+#| msgid "Selected files tagged with encoder name '%s'."
+msgid "Selected files tagged with encoder name ‘%s’"
+msgstr "Archivos seleccionados etiquetados con el nombre de codificador «%s»."
 
-#: ../src/mpeg_header.c:67
-msgid "Single channel"
-msgstr "Canal único"
+#: ../src/tag_area.c:615
+#, fuzzy
+#| msgid "Removed encoder name from selected files."
+msgid "Removed encoder name from selected files"
+msgstr "Eliminado el nombre del codificador de los archivos seleccionados."
 
-#. MPEG, Layer versions
-#: ../src/mpeg_header.c:194
-msgid "MPEG"
-msgstr "MPEG"
+#: ../src/tag_area.c:650
+#, fuzzy
+#| msgid "Selected files tagged with images."
+msgid "Selected files tagged with images"
+msgstr "Archivos seleccionados etiquetados con imágenes."
 
-#. FIXME: Pass error back to calling function.
-#: ../src/ogg_header.c:227
-#, c-format
-msgid "Error while opening file: '%s' (%s)"
-msgstr "Error al abrir archivo: «%s» (%s)"
+#: ../src/tag_area.c:654
+#, fuzzy
+#| msgid "Removed images from selected files."
+msgid "Removed images from selected files"
+msgstr "Imágenes eliminadas de los archivos seleccionados."
 
-#: ../src/ogg_header.c:243
-#, c-format
-msgid ""
-"Ogg Vorbis: The specified bitstream does not exist or the file has been "
-"initialized improperly (file: '%s')."
-msgstr ""
-"Ogg Vorbis: el flujo de bits especificado no existe o el archivo no se ha "
-"inicializado adecuadamente (archivo: «%s»)."
+#. Menu items
+#: ../src/tag_area.c:823
+msgid "Tag selected files with this field"
+msgstr "Etiquetar archivos seleccionados con este campo"
 
-#: ../src/ogg_header.c:279
-#, c-format
-msgid "Ogg Vorbis: Read from media returned an error (file: '%s')."
-msgstr "Ogg Vorbis: hubo un error al leer los medios (archivo: «%s»)."
+#: ../src/tag_area.c:850
+msgid "All uppercase"
+msgstr "Todas mayúsculas"
 
-#: ../src/ogg_header.c:282
-#, c-format
-msgid "Ogg Vorbis: Bitstream is not Vorbis data (file: '%s')."
-msgstr "Ogg Vorbis: el flujo de bits no son datos Vorbis (archivo: «%s»)."
+#: ../src/tag_area.c:856
+msgid "All lowercase"
+msgstr "Todas minúsculas"
 
-#: ../src/ogg_header.c:285
-#, c-format
-msgid "Ogg Vorbis: Vorbis version mismatch (file: '%s')."
-msgstr "Ogg Vorbis: la versión de Vorbis no coincide (archivo «%s»)."
+#: ../src/tag_area.c:862
+msgid "First letter uppercase"
+msgstr "Primera letra mayúscula"
+
+#: ../src/tag_area.c:868
+msgid "First letter uppercase of each word"
+msgstr "Primera letra de cada palabra en mayúscula"
+
+#: ../src/tag_area.c:884
+msgid "Insert space before uppercase letter"
+msgstr "Insertar espacios antes de letra en mayúsculas"
+
+#: ../src/tag_area.c:890
+msgid "Remove duplicate spaces or underscores"
+msgstr "Quitar espacios o subrayados duplicados"
+
+#: ../src/tag_area.c:896
+msgid "Remove all text"
+msgstr "Quitar todo el texto"
 
-#: ../src/ogg_header.c:288
+#: ../src/tag_area.c:1258 ../src/tag_area.c:1336
 #, c-format
-msgid "Ogg Vorbis: Invalid Vorbis bitstream header (file: '%s')."
+msgid "Error parsing image data ‘%s’"
 msgstr ""
-"Ogg Vorbis: cabecera de flujo de bits de Vorbis no válida (archivo: «%s»)"
 
-#: ../src/ogg_header.c:291
-#, c-format
+#: ../src/tag_area.c:1318
+#, fuzzy
+#| msgid ""
+#| "Cannot display the image because not enough data has been read to "
+#| "determine how to create the image buffer."
 msgid ""
-"Ogg Vorbis: Internal logic fault, indicates a bug or heap/stack corruption "
-"(file: '%s')."
+"Cannot display the image because not enough data has been read to determine "
+"how to create the image buffer"
 msgstr ""
-"Ogg Vorbis: fallo lógico interno, indica un error o corrupción de la pila "
-"(archivo: «%s»)."
-
-#: ../src/ogg_header.c:337
-#, c-format
-msgid "Error: Failed to open file: '%s' as Vorbis (%s)."
-msgstr "Error: falló al abrir el archivo: «%s» como vorbis (%s)."
+"No se puede mostrar la imagen, debido a que no se han leído suficientes "
+"datos para determinar cómo crear el búfer de la imagen."
 
-#: ../src/ogg_tag.c:706 ../src/ogg_tag.c:881
-#, c-format
-msgid "Warning: The Ogg Vorbis file '%s' contains an ID3v2 tag."
-msgstr "Advertencia: el archivo Ogg Vorbis «%s» contiene una etiqueta ID3v2."
+#: ../src/tag_area.c:1325
+msgid "Cannot display the image"
+msgstr "No se puede mostrar la imagen"
 
-#: ../src/ogg_tag.c:1030 ../src/picture.c:1082
-#, c-format
-msgid "Error with 'loader_write': %s"
-msgstr "Error con «loader_write»: %s"
+#: ../src/tag_area.c:1327
+msgid ""
+"Not enough data has been read to determine how to create the image buffer."
+msgstr ""
+"No se han leído suficientes datos para determinar cómo crear el búfer de la "
+"imagen."
 
-#: ../src/ogg_tag.c:1045 ../src/picture.c:1005
-#, c-format
-msgid "Error with 'loader_close': %s"
-msgstr "Error con «loader_close»: %s"
+#: ../src/tag_area.c:1329
+msgid "Load Image File"
+msgstr "Cargar archivo de imagen"
 
-#: ../src/picture.c:244 ../src/picture.c:269
-#, c-format
-msgid "Image file not loaded: %s"
+#: ../src/tag_area.c:1373 ../src/tag_area.c:1398
+#, fuzzy, c-format
+#| msgid "Image file not loaded: %s"
+msgid "Image file not loaded ‘%s’"
 msgstr "No se cargó el archivo de imagen: %s"
 
-#: ../src/picture.c:261
-#, c-format
-msgid "Cannot open file: '%s'"
+#: ../src/tag_area.c:1390
+#, fuzzy, c-format
+#| msgid "Cannot open file: '%s'"
+msgid "Cannot open file ‘%s’"
 msgstr "No se puede abrir el archivo: «%s»"
 
-#: ../src/picture.c:265
+#: ../src/tag_area.c:1394
 msgid "Image File Error"
 msgstr "Error en el archivo de imagen"
 
-#: ../src/picture.c:276
+#: ../src/tag_area.c:1405
 msgid "Image file loaded"
 msgstr "Archivo de imagen cargado"
 
-#: ../src/picture.c:334
+#: ../src/tag_area.c:1484
 msgid "Add Images"
 msgstr "Añadir imágenes"
 
-#: ../src/picture.c:344 ../src/picture.c:701
-msgid "All Files"
-msgstr "Todos los archivos"
+#: ../src/tag_area.c:1494 ../src/tag_area.c:1858
+msgid "All Files"
+msgstr "Todos los archivos"
+
+#: ../src/tag_area.c:1501 ../src/tag_area.c:1865
+msgid "PNG and JPEG"
+msgstr "PNG y JPEG"
+
+#: ../src/tag_area.c:1644
+#, c-format
+msgid "Image Properties %d/%d"
+msgstr "Propiedades de la imagen %d/%d"
+
+#: ../src/tag_area.c:1844
+#, c-format
+msgid "Save Image %d/%d"
+msgstr "Guardar la imagen %d/%d"
+
+#: ../src/tag_area.c:1923
+#, fuzzy, c-format
+#| msgid "Image file not saved: %s"
+msgid "Image file not saved ‘%s’"
+msgstr "No se guardó el archivo de imagen: %s"
+
+#: ../src/tag_area.c:2266
+msgid "Tag selected files with this genre"
+msgstr "Etiquetar archivos seleccionados con este género"
+
+#: ../src/tag_area.c:2993
+msgid "ID3 Tag"
+msgstr "Etiqueta ID3"
+
+#: ../src/tag_area.c:2998
+msgid "Ogg Vorbis Tag"
+msgstr "Etiqueta Ogg Vorbis"
+
+#: ../src/tag_area.c:3003
+msgid "FLAC Vorbis Tag"
+msgstr "Etiqueta FLAC Vorbis"
 
-#: ../src/picture.c:350 ../src/picture.c:707
-msgid "PNG and JPEG"
-msgstr "PNG y JPEG"
+#: ../src/tag_area.c:3007
+msgid "APE Tag"
+msgstr "Etiqueta APE"
 
-#: ../src/picture.c:477
-#, c-format
-msgid "Image Properties %d/%d"
-msgstr "Propiedades de la imagen %d/%d"
+#: ../src/tag_area.c:3011
+msgid "MP4/M4A/AAC Tag"
+msgstr "Etiqueta MP4/M4A/AAC"
 
-#: ../src/picture.c:503
-msgid "Image Type"
-msgstr "Tipo de imagen"
+#: ../src/tag_area.c:3016
+msgid "Wavpack Tag"
+msgstr "Etiqueta Wavpack"
 
-#. Description of the picture
-#: ../src/picture.c:561
-msgid "Image Description:"
-msgstr "Descripción de la imagen:"
+#: ../src/tag_area.c:3021
+msgid "Opus Tag"
+msgstr "Etiqueta Opus"
 
-#: ../src/picture.c:688
+#: ../src/tag_area.c:3261
 #, c-format
-msgid "Save Image %d/%d"
-msgstr "Guardar la imagen %d/%d"
+msgid "Images (%d)"
+msgstr "Imágenes (%d)"
 
-#: ../src/picture.c:763
-#, c-format
-msgid "Image file not saved: %s"
-msgstr "No se guardó el archivo de imagen: %s"
+#: ../src/tags/ape_tag.c:63 ../src/tags/mp4_header.cc:58
+#: ../src/tags/mp4_header.cc:67 ../src/tags/mp4_tag.cc:65
+#: ../src/tags/mp4_tag.cc:78 ../src/tags/mp4_tag.cc:84
+#: ../src/tags/ogg_header.c:227
+#, fuzzy, c-format
+#| msgid "Error while opening file: '%s' (%s)"
+msgid "Error while opening file: %s"
+msgstr "Error al abrir archivo: «%s» (%s)"
 
-#: ../src/picture.c:846
-msgid "JPEG image"
-msgstr "Imagen JPEG"
+#: ../src/tags/ape_tag.c:385
+msgid "Failed to write APE tag"
+msgstr ""
 
-#: ../src/picture.c:848
-msgid "PNG image"
-msgstr "Imagen PNG"
+#: ../src/tags/flac_header.c:85 ../src/tags/flac_tag.c:123
+#, fuzzy
+#| msgid "Error reading file (%s)"
+msgid "Error opening FLAC file"
+msgstr "Error al leer el archivo (%s)"
 
-#: ../src/picture.c:850
-msgid "GIF image"
-msgstr "Imagen GIF"
+#: ../src/tags/flac_header.c:172
+msgid "FLAC File"
+msgstr "Archivo FLAC"
 
-#: ../src/picture.c:852
-msgid "Unknown image"
-msgstr "Imagen desconocida"
+#. Mode
+#. Mode
+#. mpeg4ip library seems to always return -1
+#. Mode
+#: ../src/tags/flac_header.c:185 ../src/tags/mp4_header.cc:152
+#: ../src/tags/ogg_header.c:416 ../src/tags/opus_header.c:233
+#: ../src/tags/wavpack_header.c:151
+msgid "Channels:"
+msgstr "Canales:"
 
-#: ../src/picture.c:864
-msgid "32x32 pixel PNG file icon"
-msgstr "Icono de archivo PNG de 32x32 píxeles"
+#: ../src/tags/flac_tag.c:842 ../src/tags/flac_tag.c:875
+#: ../src/tags/flac_tag.c:889
+#, fuzzy, c-format
+#| msgid "Error while opening file: '%s' as FLAC (%s)."
+msgid "Error while opening file ‘%s’ as FLAC: %s"
+msgstr "Error al abrir archivo: «%s» como FLAC (%s)."
 
-#: ../src/picture.c:866
-msgid "Other file icon"
-msgstr "Otro icono de archivo"
+#: ../src/tags/flac_tag.c:1182 ../src/tags/flac_tag.c:1194
+#: ../src/tags/flac_tag.c:1214
+#, fuzzy, c-format
+#| msgid "Error: Failed to write comments to file '%s' (%s)."
+msgid "Failed to write comments to file ‘%s’: %s"
+msgstr "Error: fallo al escribir comentarios al archivo «%s» (%s)."
 
-#: ../src/picture.c:868
-msgid "Cover (front)"
-msgstr "Carátula (frontal)"
+#: ../src/tags/id3_tag.c:212
+#, fuzzy, c-format
+#| msgid ""
+#| "As the following corrupted file '%s' will cause an error in id3lib, it "
+#| "will not be processed"
+msgid ""
+"As the following corrupted file ‘%s’ will cause an error in id3lib, it will "
+"not be processed"
+msgstr ""
+"Como el siguiente archivo corrupto «%s» causará un error en id3lib, no se "
+"procesará"
 
-#: ../src/picture.c:870
-msgid "Cover (back)"
-msgstr "Carátula (trasera)"
+#: ../src/tags/id3_tag.c:214
+msgid "Corrupted file"
+msgstr "Archivo dañado"
 
-#: ../src/picture.c:872
-msgid "Leaflet page"
-msgstr "Página del folleto"
+#: ../src/tags/id3_tag.c:602
+#, fuzzy, c-format
+#| msgid "Removed tag of '%s'"
+msgid "Removed tag of ‘%s’"
+msgstr "Etiqueta eliminada de «%s»"
 
-#: ../src/picture.c:874
-msgid "Media (e.g. label side of CD)"
-msgstr "Medios (ej. etiqueta lateral del CD)"
+#: ../src/tags/id3_tag.c:609 ../src/tags/id3_tag.c:739
+#, fuzzy, c-format
+#| msgid "Error while removing ID3v1 tag of '%s' (%s)"
+msgid "Error while removing ID3v1 tag of ‘%s’: %s"
+msgstr "Error al eliminar la etiqueta ID3v1 de «%s» (%s)"
 
-#: ../src/picture.c:876
-msgid "Lead artist/lead performer/soloist"
-msgstr "Artista líder/intérprete líder/solista"
+#: ../src/tags/id3_tag.c:618 ../src/tags/id3_tag.c:702
+#, fuzzy, c-format
+#| msgid "Error while removing ID3v2 tag of '%s' (%s)"
+msgid "Error while removing ID3v2 tag of ‘%s’: %s"
+msgstr "Error al eliminar la etiqueta ID3v2 de «%s» (%s)"
 
-#: ../src/picture.c:878
-msgid "Artist/performer"
-msgstr "Artista/intérprete"
+#: ../src/tags/id3_tag.c:644
+#, fuzzy, c-format
+#| msgid "Error while updating ID3v2 tag of '%s' (%s)"
+msgid "Error while updating ID3v2 tag of ‘%s’: %s"
+msgstr "Error al actualizar la etiqueta ID3v2 de «%s» (%s)"
 
-#: ../src/picture.c:880
-msgid "Conductor"
-msgstr "Director"
+#: ../src/tags/id3_tag.c:676
+msgid ""
+"You have tried to save this tag to Unicode but it was detected that your "
+"version of id3lib is buggy"
+msgstr ""
+"Ha intentado guardar esta etiqueta en Unicode pero se detectó que su versión "
+"de id3lib tiene errores"
 
-#: ../src/picture.c:882
-msgid "Band/Orchestra"
-msgstr "Banda/Orquesta"
+#: ../src/tags/id3_tag.c:678
+#, c-format
+msgid ""
+"If you reload this file, some characters in the tag may not be displayed "
+"correctly. Please, apply the patch src/id3lib/"
+"patch_id3lib_3.8.3_UTF16_writing_bug.diff to id3lib, which is available in "
+"the EasyTAG package sources.\n"
+"Note that this message will appear only once.\n"
+"\n"
+"File: %s"
+msgstr ""
+"Si vuelve a cargar este archivo, algunos caracteres en la etiqueta pueden no "
+"mostrarse correctamente. Aplique el parche src/id3lib/"
+"patch_id3lib_3.8.3_UTF16_writing_bug.diff a id3lib, que está disponible en "
+"el paquete de fuentes de EasyTAG. \n"
+"Tenga en cuenta que este mensaje aparecerá solo una vez.\n"
+"\n"
+"Archivo: %s"
 
-#: ../src/picture.c:886
-msgid "Lyricist/text writer"
-msgstr "Escritor de las letras/texto"
+#: ../src/tags/id3_tag.c:685
+msgid "Buggy id3lib"
+msgstr "id3lib con errores"
 
-#: ../src/picture.c:888
-msgid "Recording location"
-msgstr "Lugar de grabación"
+#: ../src/tags/id3_tag.c:727
+#, fuzzy, c-format
+#| msgid "Error while updating ID3v1 tag of '%s' (%s)"
+msgid "Error while updating ID3v1 tag of ‘%s’: %s"
+msgstr "Error al actualizar la etiqueta ID3v1 de «%s» (%s)"
 
-#: ../src/picture.c:890
-msgid "During recording"
-msgstr "Durante la grabación"
+#: ../src/tags/id3_tag.c:761
+msgid "No error reported"
+msgstr "No se han reportado errores"
 
-#: ../src/picture.c:892
-msgid "During performance"
-msgstr "Durante la ejecución"
+#: ../src/tags/id3_tag.c:763
+msgid "No available memory"
+msgstr "No hay memoria disponible"
 
-#: ../src/picture.c:894
-msgid "Movie/video screen capture"
-msgstr "Captura de pantalla de la película/vídeo"
+#: ../src/tags/id3_tag.c:765
+msgid "No data to parse"
+msgstr "No hay datos que analizar"
 
-#: ../src/picture.c:896
-msgid "A bright colored fish"
-msgstr "Un pez brillante coloreado"
+#: ../src/tags/id3_tag.c:767
+msgid "Improperly formatted data"
+msgstr "Datos incorrectamente formateados"
 
-#: ../src/picture.c:898
-msgid "Illustration"
-msgstr "Ilustración"
+#: ../src/tags/id3_tag.c:769
+msgid "No buffer to write to"
+msgstr "No hay búfer para escribir"
 
-#: ../src/picture.c:900
-msgid "Band/Artist logotype"
-msgstr "Logotipo de banda/artista"
+#: ../src/tags/id3_tag.c:771
+msgid "Buffer is too small"
+msgstr "El búfer es demasiado pequeño"
 
-#: ../src/picture.c:902
-msgid "Publisher/studio logotype"
-msgstr "Logotipo del editor/estudio"
+#: ../src/tags/id3_tag.c:773
+msgid "Invalid frame ID"
+msgstr "ID de marco no válido"
 
-#: ../src/picture.c:906
-msgid "Unknown image type"
-msgstr "Tipo de imagen desconocido"
+#: ../src/tags/id3_tag.c:775
+msgid "Requested field not found"
+msgstr "Campo solicitado no encontrado"
 
-#: ../src/picture.c:936 ../src/picture.c:947
-msgid "pixels"
-msgstr "píxeles"
+#: ../src/tags/id3_tag.c:777
+msgid "Unknown field type"
+msgstr "Tipo de campo desconocido"
 
-#: ../src/picture.c:937 ../src/picture.c:948
-msgid "Type"
-msgstr "Tipo"
+#: ../src/tags/id3_tag.c:779
+msgid "Tag is already attached to a file"
+msgstr "La etiqueta ya está adjuntada a un archivo"
 
-#: ../src/picture.c:949
-msgid "Description"
-msgstr "Descripción"
+#: ../src/tags/id3_tag.c:781
+msgid "Invalid tag version"
+msgstr "Versión de etiqueta no válida"
 
-#: ../src/picture.c:1065
-msgid ""
-"Cannot display the image because not enough data has been read to determine "
-"how to create the image buffer."
-msgstr ""
-"No se puede mostrar la imagen, debido a que no se han leído suficientes "
-"datos para determinar cómo crear el búfer de la imagen."
+#: ../src/tags/id3_tag.c:783
+msgid "No file to parse"
+msgstr "Ningún archivo que procesar"
 
-#: ../src/picture.c:1072
-msgid "Cannot display the image"
-msgstr "No se puede mostrar la imagen"
+#: ../src/tags/id3_tag.c:785
+msgid "Attempting to write to a read-only file"
+msgstr "Intentando escribir en un archivo de sólo lectura"
 
-#: ../src/picture.c:1074
-msgid ""
-"Not enough data has been read to determine how to create the image buffer."
-msgstr ""
-"No se han leído suficientes datos para determinar cómo crear el búfer de la "
-"imagen."
+#: ../src/tags/id3_tag.c:787
+msgid "Error in compression/uncompression"
+msgstr "Error en compresión/descompresión"
 
-#: ../src/picture.c:1076
-msgid "Load Image File"
-msgstr "Cargar archivo de imagen"
+#: ../src/tags/id3_tag.c:789
+msgid "Unknown error message"
+msgstr "Mensaje de error desconocido"
 
-#. Label
-#: ../src/prefs.c:152
-msgid "Default directory:"
-msgstr "Carpeta predeterminada:"
+#: ../src/tags/id3_tag.c:1466
+msgid "Error while creating temporary file"
+msgstr "Error al crear archivo temporal"
 
-#: ../src/prefs.c:165
-msgid ""
-"Specify the directory where your files are located. This path will be loaded "
-"when EasyTAG starts without parameter."
-msgstr ""
-"Especificar la carpeta donde se encuentran sus archivos. Esta ruta se "
-"cargará al ejecutar EasyTAG sin parámetros."
+#: ../src/tags/id3v24_tag.c:132 ../src/tags/id3v24_tag.c:187
+#: ../src/tags/id3v24_tag.c:225 ../src/tags/id3v24_tag.c:236
+#: ../src/tags/id3v24_tag.c:952 ../src/tags/id3v24_tag.c:959
+#: ../src/tags/id3v24_tag.c:985 ../src/tags/id3v24_tag.c:1025
+#: ../src/tags/mp4_tag.cc:94
+#, fuzzy
+#| msgid "Error reading tags from file: '%s'"
+msgid "Error reading tags from file"
+msgstr "Error al leer las etiquetas del archivo: «%s»"
 
-#. Load directory on startup
-#: ../src/prefs.c:186
-msgid ""
-"Load on startup the default directory or the directory passed as argument"
-msgstr ""
-"Al arrancar, cargar la carpeta predeterminada o la carpeta pasada como "
-"argumento"
+#: ../src/tags/monkeyaudio_header.c:46
+#, fuzzy
+#| msgid "Monkey's Audio File"
+msgid "Error opening Monkey’s Audio file"
+msgstr "Archivo de sonido Monkey"
 
-#: ../src/prefs.c:189
-msgid ""
-"Automatically search files, when EasyTAG starts, into the default directory. "
-"Note that this path may be overridden by the parameter passed to easytag "
-"(easytag /path_to/mp3_files)."
-msgstr ""
-"Buscar archivos automáticamente, cuando EasyTAG empieza, en la carpeta "
-"predeterminada. Tenga en cuenta que esta ruta puede alterarse con el "
-"parámetro pasado a easytag (easytag /ruta_a/archivos_mp3)."
+#. Mode changed to profile name
+#: ../src/tags/monkeyaudio_header.c:78 ../src/tags/musepack_header.c:81
+msgid "Profile:"
+msgstr "Perfil:"
 
-#. Browse subdirectories
-#: ../src/prefs.c:194
-msgid "Search subdirectories"
-msgstr "Buscar subcarpetas"
+#: ../src/tags/mp4_header.cc:68 ../src/tags/mp4_tag.cc:85
+#: ../src/tags/mp4_tag.cc:283
+msgid "MP4 format invalid"
+msgstr "Formato MP4 no válido"
 
-#: ../src/prefs.c:197
-msgid "Search subdirectories for files when reading a directory into the tree."
-msgstr "Buscar archivos en subcarpetas al leer una carpeta en el árbol."
+#: ../src/tags/mp4_header.cc:77
+#, fuzzy
+#| msgid "Error reading properties from file: '%s'"
+msgid "Error reading properties from file"
+msgstr "Error al leer las propiedades del archivo: «%s»"
 
-#. Open the node to show subdirectories
-#: ../src/prefs.c:201
-msgid "Show subdirectories when selecting a directory"
-msgstr "Mostrar subcarpetas al seleccionar una carpeta"
+#: ../src/tags/mp4_header.cc:131
+msgid "MP4/AAC File"
+msgstr "Archivo MP4/AAC"
 
-#: ../src/prefs.c:205
-msgid ""
-"This expands the selected node into the file browser to display the sub-"
-"directories."
-msgstr ""
-"Esto expande el nodo seleccionado en el examinador de archivos para mostrar "
-"las subcarpetas."
+#: ../src/tags/mp4_header.cc:140 ../src/tags/mpeg_header.c:235
+#, c-format
+msgid "~%d kb/s"
+msgstr "~%d kb/s"
 
-#. Browse hidden directories
-#: ../src/prefs.c:209
-msgid "Search hidden directories"
-msgstr "Buscar en carpetas ocultas"
+#: ../src/tags/mp4_tag.cc:259 ../src/tags/mp4_tag.cc:276
+#: ../src/tags/mp4_tag.cc:282
+#, fuzzy, c-format
+#| msgid "Error while opening file: '%s' (%s)"
+msgid "Error while opening file ‘%s’: %s"
+msgstr "Error al abrir archivo: «%s» (%s)"
 
-#: ../src/prefs.c:214
-msgid "Search hidden directories for files (directories starting by a '.')."
-msgstr "Buscar archivos en carpetas ocultas (que empiezan con un «.»)."
+#: ../src/tags/mp4_tag.cc:294
+#, fuzzy, c-format
+#| msgid "Error reading tags from file: '%s'"
+msgid "Error reading tags from file ‘%s’"
+msgstr "Error al leer las etiquetas del archivo: «%s»"
 
-#.
-#. * Misc
-#.
-#: ../src/prefs.c:222
-msgid "Misc"
-msgstr "Varios"
+#: ../src/tags/mpeg_header.c:50
+msgid "Stereo"
+msgstr "Estéreo"
 
-#. User interface
-#: ../src/prefs.c:228
-msgid "User Interface"
-msgstr "Interfaz de usuario"
+#: ../src/tags/mpeg_header.c:51
+msgid "Joint stereo"
+msgstr "Estéreo mixto"
 
-#. Show header infos
-#: ../src/prefs.c:235
-msgid "Show header information of file"
-msgstr "Mostrar la información de cabecera del archivo"
+#: ../src/tags/mpeg_header.c:52
+msgid "Dual channel"
+msgstr "Canal doble"
 
-#: ../src/prefs.c:238
-msgid ""
-"If activated, information about the file as the bitrate, the time, the size, "
-"will be displayed under the filename entry."
-msgstr ""
-"Si está activada, la información sobre el archivo como la tasa de bits, el "
-"tiempo, el tamaño, se mostrará bajo la entrada del nombre de archivo."
+#: ../src/tags/mpeg_header.c:53
+msgid "Single channel"
+msgstr "Canal único"
 
-#: ../src/prefs.c:244
-msgid "Display changed files in list using:"
-msgstr "Mostrar los archivos modificados en una lista usando:"
+#: ../src/tags/mpeg_header.c:205
+msgid "MP3 File"
+msgstr "Archivo MP3"
 
-#: ../src/prefs.c:247
-msgid "Red color"
-msgstr "Color rojo"
+#: ../src/tags/mpeg_header.c:208
+msgid "MP2 File"
+msgstr "Archivo MP2"
 
-#: ../src/prefs.c:253
-msgid "Bold style"
-msgstr "Estilo negrita"
+#. MPEG, Layer versions
+#: ../src/tags/mpeg_header.c:215
+msgid "MPEG"
+msgstr "MPEG"
 
-#. Sorting List Options
-#: ../src/prefs.c:259
-msgid "Sorting List Options"
-msgstr "Opciones de ordenación de lista"
+#: ../src/tags/musepack_header.c:46
+#, fuzzy
+#| msgid "Error while creating temporary file"
+msgid "Error opening Musepack file"
+msgstr "Error al crear archivo temporal"
 
-#. Sorting method
-#: ../src/prefs.c:268
-msgid "Sort the file list by:"
-msgstr "Ordenar la lista de archivos por:"
+#: ../src/tags/musepack_header.c:78
+msgid "MusePack File"
+msgstr "Archivo MusePack"
 
-#: ../src/prefs.c:278
-msgid "Ascending filename"
-msgstr "Ascendente por nombre de archivo"
+#: ../src/tags/ogg_header.c:243
+#, fuzzy
+#| msgid ""
+#| "Ogg Vorbis: The specified bitstream does not exist or the file has been "
+#| "initialized improperly (file: '%s')."
+msgid ""
+"The specified bitstream does not exist or the file has been initialized "
+"improperly"
+msgstr ""
+"Ogg Vorbis: el flujo de bits especificado no existe o el archivo no se ha "
+"inicializado adecuadamente (archivo: «%s»)."
 
-#: ../src/prefs.c:280
-msgid "Descending filename"
-msgstr "Descendente por nombre de archivo"
+#: ../src/tags/ogg_header.c:262
+#, fuzzy
+#| msgid "Ogg Vorbis: Read from media returned an error (file: '%s')."
+msgid "Read from media returned an error"
+msgstr "Ogg Vorbis: hubo un error al leer los medios (archivo: «%s»)."
 
-#: ../src/prefs.c:281
-msgid "Ascending title"
-msgstr "Ascendente por título"
+#: ../src/tags/ogg_header.c:265
+#, fuzzy
+#| msgid "Ogg Vorbis: Bitstream is not Vorbis data (file: '%s')."
+msgid "Bitstream is not Vorbis data"
+msgstr "Ogg Vorbis: el flujo de bits no son datos Vorbis (archivo: «%s»)."
 
-#: ../src/prefs.c:282
-msgid "Descending title"
-msgstr "Descendente por título"
+#: ../src/tags/ogg_header.c:268
+#, fuzzy
+#| msgid "Ogg Vorbis: Vorbis version mismatch (file: '%s')."
+msgid "Vorbis version mismatch"
+msgstr "Ogg Vorbis: la versión de Vorbis no coincide (archivo «%s»)."
 
-#: ../src/prefs.c:283
-msgid "Ascending artist"
-msgstr "Ascendente por artista"
+#: ../src/tags/ogg_header.c:271
+#, fuzzy
+#| msgid "Ogg Vorbis: Invalid Vorbis bitstream header (file: '%s')."
+msgid "Invalid Vorbis bitstream header"
+msgstr ""
+"Ogg Vorbis: cabecera de flujo de bits de Vorbis no válida (archivo: «%s»)"
 
-#: ../src/prefs.c:284
-msgid "Descending artist"
-msgstr "Descendente por artista"
+#: ../src/tags/ogg_header.c:274
+#, fuzzy
+#| msgid ""
+#| "Ogg Vorbis: Internal logic fault, indicates a bug or heap/stack "
+#| "corruption (file: '%s')."
+msgid "Internal logic fault, indicates a bug or heap/stack corruption"
+msgstr ""
+"Ogg Vorbis: fallo lógico interno, indica un error o corrupción de la pila "
+"(archivo: «%s»)."
 
-#: ../src/prefs.c:286
-msgid "Ascending album artist"
-msgstr "Ascendente por artista del álbum"
+#: ../src/tags/ogg_header.c:325
+#, fuzzy, c-format
+#| msgid "Error: Failed to open file: '%s' as Vorbis (%s)."
+msgid "Failed to open file as Vorbis: %s"
+msgstr "Error: falló al abrir el archivo: «%s» como vorbis (%s)."
+
+#: ../src/tags/ogg_header.c:388
+msgid "Ogg Vorbis File"
+msgstr "Archivo Ogg Vorbis"
 
-#: ../src/prefs.c:288
-msgid "Descending album artist"
-msgstr "Descendente por artista del álbum"
+#: ../src/tags/ogg_header.c:391
+msgid "Speex File"
+msgstr "Archivo Speex"
 
-#: ../src/prefs.c:289
-msgid "Ascending album"
-msgstr "Ascendente por álbum"
+#: ../src/tags/opus_header.c:220
+msgid "Opus File"
+msgstr "Archivo Opus"
 
-#: ../src/prefs.c:290
-msgid "Descending album"
-msgstr "Descendente por álbum"
+#: ../src/tags/wavpack_header.c:138
+msgid "Wavpack File"
+msgstr "Archivo Wavpack"
 
-#: ../src/prefs.c:291
-msgid "Ascending year"
-msgstr "Ascendente por año"
+#~ msgid "Error while opening file: '%s' (%s)."
+#~ msgstr "Error al abrir archivo: «%s» (%s)."
 
-#: ../src/prefs.c:292
-msgid "Descending year"
-msgstr "Descendente por año"
+#~ msgid "Run a command on the selected files"
+#~ msgstr "Ejecutar un comando en los archivos seleccionados"
 
-#: ../src/prefs.c:294
-msgid "Ascending disc number"
-msgstr "Ascendente por número de disco"
+#~ msgid "Clear the current selection"
+#~ msgstr "Limpiar la selección actual"
 
-#: ../src/prefs.c:296
-msgid "Descending disc number"
-msgstr "Descendente por número de disco"
+#~ msgid "Delete files"
+#~ msgstr "Eliminar archivos"
 
-#: ../src/prefs.c:298
-msgid "Ascending track number"
-msgstr "Ascendente por número de pista"
+#~ msgid "S_can Files"
+#~ msgstr "A_nalizar archivos"
 
-#: ../src/prefs.c:300
-msgid "Descending track number"
-msgstr "Descendente por número de pista"
+#~ msgid "_Undo Last Files Changes"
+#~ msgstr "_Deshacer los últimos cambios de los archivos"
 
-#: ../src/prefs.c:301
-msgid "Ascending genre"
-msgstr "Ascendente por género"
+#~ msgid "Undo last files changes"
+#~ msgstr "Deshacer los últimos cambios de los archivos"
 
-#: ../src/prefs.c:302
-msgid "Descending genre"
-msgstr "Descendente por género"
+#~ msgid "R_edo Last Files Changes"
+#~ msgstr "R_ehacer últimos cambios de los archivos"
 
-#: ../src/prefs.c:303
-msgid "Ascending comment"
-msgstr "Ascendente por comentario"
+#~ msgid "Redo last files changes"
+#~ msgstr "Rehacer los último cambios de los archivos"
 
-#: ../src/prefs.c:304
-msgid "Descending comment"
-msgstr "Descendente por comentario"
+#~ msgid "Force saving files"
+#~ msgstr "Forzar el guardado de archivos"
 
-#: ../src/prefs.c:306
-msgid "Ascending composer"
-msgstr "Ascendente por compositor"
+#~ msgid "Undo Last Changes"
+#~ msgstr "Deshacer últimos cambios"
 
-#: ../src/prefs.c:308
-msgid "Descending composer"
-msgstr "Descendente por compositor"
+#~ msgid "Undo last changes"
+#~ msgstr "Deshacer los últimos cambios"
 
-#: ../src/prefs.c:310
-msgid "Ascending original artist"
-msgstr "Ascendente por artista original"
+#~ msgid "Redo Last Changes"
+#~ msgstr "Rehacer últimos cambios"
 
-#: ../src/prefs.c:312
-msgid "Descending original artist"
-msgstr "Descendente por artista original"
+#~ msgid "Redo last changes"
+#~ msgstr "Rehacer los últimos cambios"
 
-#: ../src/prefs.c:314
-msgid "Ascending copyright"
-msgstr "Ascendente por copyright"
+#~ msgid "Go to home directory"
+#~ msgstr "Ir a la carpeta personal"
 
-#: ../src/prefs.c:316
-msgid "Descending copyright"
-msgstr "Descendente por copyright"
+#~ msgid "Go to desktop directory"
+#~ msgstr "Ir a la carpeta del escritorio"
 
-#: ../src/prefs.c:318
-msgid "Ascending URL"
-msgstr "Ascendente por URL"
+#~ msgid "Go to documents directory"
+#~ msgstr "Ir a la carpeta de documentos"
 
-#: ../src/prefs.c:320
-msgid "Descending URL"
-msgstr "Descendente por URL"
+#~ msgid "Go to downloads directory"
+#~ msgstr "Ir a la carpeta de descargas"
 
-#: ../src/prefs.c:322
-msgid "Ascending encoded by"
-msgstr "Ascendente por codificado por"
+#~ msgid "Go to music directory"
+#~ msgstr "Ir a la carpeta de música"
 
-#: ../src/prefs.c:324
-msgid "Descending encoded by"
-msgstr "Descendente por codificado por"
+#~ msgid "Go to parent directory"
+#~ msgstr "Ir a la carpeta superior"
 
-#: ../src/prefs.c:326
-msgid "Ascending creation date"
-msgstr "Ascendente por fecha de creación"
+#~ msgid "Go to default directory"
+#~ msgstr "Ir a la carpeta predeterminada"
 
-#: ../src/prefs.c:328
-msgid "Descending creation date"
-msgstr "Descendente por fecha de creación"
+#~ msgid "Set current path as default"
+#~ msgstr "Establecer ruta actual como predeterminada"
 
-#: ../src/prefs.c:332
-msgid "Select the type of file sorting when loading a directory."
-msgstr "Seleccionar el tipo de ordenación de archivos al cargar una carpeta."
+#~ msgid "Rename directory"
+#~ msgstr "Renombrar carpeta"
 
-#: ../src/prefs.c:344
-msgid "If activated, the sorting of the list will be dependent on the case."
-msgstr ""
-"Si esta activada, el orden de la lista será dependiente de la capitalización."
+#~ msgid "Reload directory"
+#~ msgstr "Recargar carpeta"
 
-#. File Player
-#: ../src/prefs.c:348
-msgid "File Audio Player"
-msgstr "Reproductor de archivos de audio"
+#~ msgid "Run a command on the directory"
+#~ msgstr "Ejecutar un comando en la carpeta"
 
-#: ../src/prefs.c:360
-msgid "Player to run:"
-msgstr "Reproductor que ejecutar:"
+#~ msgid "Reload directory tree"
+#~ msgstr "Recargar árbol de carpetas"
 
-#: ../src/prefs.c:366
-msgid ""
-"Enter the program used to play the files. Some arguments can be passed for "
-"the program (as 'xmms -p') before to receive files as other arguments."
-msgstr ""
-"Introduzca el programa usado para reproducir los archivos. Se pueden pasar "
-"algunos argumentos al programa (como «xmms -p») antes de recibir archivos "
-"como otros argumentos."
+#~ msgid "CDDB search"
+#~ msgstr "Buscar CDDB…"
 
-#. Log options
-#: ../src/prefs.c:384
-msgid "Log Options"
-msgstr "Opciones de registro"
+#~ msgid "Load filenames from a text file"
+#~ msgstr "Cargar nombres de archivos desde un archivo de texto"
 
-#. Show / hide log view
-#: ../src/prefs.c:391
-msgid "Show log view in main window"
-msgstr "Mostrar la ventana del registro en la ventana principal"
+#~ msgid "Run audio player"
+#~ msgstr "Ejecutar reproductor de audio"
 
-#: ../src/prefs.c:394
-msgid "If activated, the log view would be visible in the main window."
-msgstr ""
-"Si está activada, la vista del registro será visible en la ventana principal."
+#~ msgid "About"
+#~ msgstr "Acerca de"
 
-#: ../src/prefs.c:400
-msgid "Max number of lines:"
-msgstr "Número máximo de líneas:"
+#~ msgid "_File Operations"
+#~ msgstr "_Operaciones de archivo"
 
-#. g_signal_connect(G_OBJECT(NumberTrackFormated),"toggled",G_CALLBACK(Number_Track_Formatted_Toggled),NULL);
-#. * g_signal_emit_by_name(G_OBJECT(NumberTrackFormated),"toggled");
-#. gtk_tooltips_set_tip(Tips,GTK_BIN(FilePlayerCombo)->child,_("Enter the program used to "
-#. "play the files. Some arguments can be passed for the program (as 'xmms -p') before "
-#. "to receive files as other arguments."),NULL);
-#.
-#.
-#. * File Settings
-#.
-#: ../src/prefs.c:418
-msgid "File Settings"
-msgstr "Configuración de archivo"
+#~ msgid "S_canner"
+#~ msgstr "Anali_zador"
 
-#. File (name) Options
-#: ../src/prefs.c:424
-msgid "File Options"
-msgstr "Opciones de archivo"
+#~ msgid "CDDB search files…"
+#~ msgstr "Buscar archivos en CDDB…"
 
-#: ../src/prefs.c:430
-msgid "Replace illegal characters in filename (for Windows and CD-Rom)"
-msgstr ""
-"Reemplazar caracteres ilegales en nombres de archivo (para Windows y CD-ROM)"
+#~ msgid "Tree Browser"
+#~ msgstr "Navegador de árbol"
 
-#: ../src/prefs.c:433
-msgid ""
-"Convert illegal characters for FAT32/16 and ISO9660 + Joliet filesystems "
-"('\\', ':', ';', '*', '?', '\"', '<', '>', '|') of the filename to avoid "
-"problem when renaming the file. This is useful when renaming the file from "
-"the tag with the scanner."
-msgstr ""
-"Convertir caracteres ilegales para sistemas de archivos FAT32/16 e ISO9660 + "
-"Joliet («\\», «:», «;», «*», «?», «\"», «<», «>», «|») del nombre de archivo "
-"para evitar problemas al renombrarlo. Esto es útil al renombrar el archivo "
-"desde la etiqueta con el analizador."
-
-#. Extension case (lower/upper?)
-#: ../src/prefs.c:441
-msgid "Convert filename extension to:"
-msgstr "Convertir la extensión del nombre del archivo a:"
+#~ msgid "View by directory tree"
+#~ msgstr "Ver por árbol de carpetas"
 
-#: ../src/prefs.c:444
-msgid "Lower Case"
-msgstr "Minúsculas"
+#~ msgid "_Fill Tags…"
+#~ msgstr "_Rellenar etiquetas…"
 
-#: ../src/prefs.c:447
-msgid "For example, the extension will be converted to '.mp3'"
-msgstr "Por ejemplo, la extensión se convertirá a «.mp3»"
+#~ msgid "Fill tags"
+#~ msgstr "Rellenar etiquetas…"
 
-#: ../src/prefs.c:450
-msgid "Upper Case"
-msgstr "Mayúsculas"
+#~ msgid "Rename files and directories"
+#~ msgstr "Renombrar archivos y carpetas"
 
-#: ../src/prefs.c:453
-msgid "For example, the extension will be converted to '.MP3'"
-msgstr "Por ejemplo, la extensión se convertirá a «.MP3»"
+#~ msgid "_Process Fields…"
+#~ msgstr "_Procesar campos…"
 
-#: ../src/prefs.c:456
-msgid "No Change"
-msgstr "Sin cambios"
+#~ msgid "Could not merge UI, error was: %s\n"
+#~ msgstr "No se pudo combinar el IU, el error fue: %s\n"
 
-#: ../src/prefs.c:459
-msgid "The extension will not be converted"
-msgstr "La extensión no se convertirá"
+#~ msgid "Error: Searching for %s, could not find node %s in tree."
+#~ msgstr "Error: buscando %s, no se pudo encontrar el nodo %s en el árbol."
 
-#. Preserve modification time
-#: ../src/prefs.c:462
-msgid "Preserve modification time of the file"
-msgstr "Mantener el tiempo de modificación del archivo"
+#~ msgid "Tree"
+#~ msgstr "Árbol"
 
-#: ../src/prefs.c:465
-msgid ""
-"Preserve the modification time (in file properties) when saving the file."
-msgstr ""
-"Mantener la fecha de modificación (en las propiedades del archivo) al "
-"guardar el archivo."
+#~ msgid "Select a directory to browse."
+#~ msgstr "Seleccionar una carpeta para examinarla."
 
-#. Change directory modification time
-#: ../src/prefs.c:469
-msgid ""
-"Update modification time of the parent directory of the file (recommended "
-"when using Amarok)"
-msgstr ""
-"Actualizar el tiempo de modificación de la carpeta padre del archivo "
-"(recomendado al usar Amarok)"
+#~ msgid "Artist & Album"
+#~ msgstr "Artista y álbum"
 
-#: ../src/prefs.c:473
-msgid ""
-"The modification time of the parent directory of the file will be updated "
-"when saving tag the file. At the present time it is automatically done only "
-"when renaming a file.\n"
-"This feature is interesting when using applications like Amarok. For "
-"performance reasons, they refresh file information by detecting changes of "
-"the parent directory."
-msgstr ""
-"El tiempo de modificación de la carpeta padre del archivo se cargará al "
-"guardar la etiqueta del archivo. Actualmente se hace automáticamente solo al "
-"renombrar un archivo.\n"
-"Esta característica es interesante cuando usas aplicaciones como Amarok. Por "
-"razones de ejecución, actualizan información del archivo al detectar cambios "
-"de la carpeta padre."
-
-#. Character Set for Filename
-#: ../src/prefs.c:481
-msgid "Character Set for Filename"
-msgstr "Conjunto de caracteres para el nombre del archivo"
-
-#. Rules for character set
-#: ../src/prefs.c:493
-msgid ""
-"Rules to apply if some characters can't be converted to the system character "
-"encoding when writing filename:"
-msgstr ""
-"Reglas para aplicar si algunos caracteres no pueden convertirse a la "
-"codificación de caracteres del sistema al escribir el nombre del archivo:"
+#~ msgid "If activated, it will use masks to rename directory."
+#~ msgstr "Si está activado, usará máscaras para renombrar la carpeta."
 
-#: ../src/prefs.c:499
-msgid "Try another character encoding"
-msgstr "Intentar otra codificación de caracteres"
+#~ msgid "Program to run:"
+#~ msgstr "Programa que ejecutar:"
 
-#: ../src/prefs.c:503
-msgid ""
-"With this option, it will try the conversion to the encoding associated to "
-"your locale (for example: ISO-8859-1 for 'fr', KOI8-R for 'ru', ISO-8859-2 "
-"for 'ro'). If it fails, it will try the character encoding ISO-8859-1."
-msgstr ""
-"Con esta opción, se intentará la conversión a la codificación asociada a su "
-"configuración regional (por ejemplo : ISO-8859-1 para «fr», KOI8-R para "
-"«ru», ISO8859-2 para «ro»). Si falla, se intentará con la codificación de "
-"caracteres ISO-8859-1."
+#~ msgid "Request CDDB"
+#~ msgstr "Solicitar CDDB"
 
-#: ../src/prefs.c:510
-msgid ""
-"Force using the system character encoding and activate the transliteration"
-msgstr ""
-"Forzar el uso de la codificación de caracteres del sistema y activar la "
-"transliteración"
+#~ msgid "Use local CDDB"
+#~ msgstr "Usar CDDB local"
 
-#: ../src/prefs.c:514 ../src/prefs.c:844 ../src/prefs.c:913
-msgid ""
-"With this option, when a character cannot be represented in the target "
-"character set, it can be approximated through one or several similarly "
-"looking characters."
-msgstr ""
-"Con esta opción, cuando un carácter no pueda representarse en el conjunto de "
-"caracteres destino, puede aproximarse a través de uno o varios caracteres de "
-"apariencia similar."
+#~ msgid ""
+#~ "When activating this option, after loading the fields, the current "
+#~ "selected scanner will be ran (the scanner window must be opened)."
+#~ msgstr ""
+#~ "Cuando esta opción esté activa, después de cargar los campos, el "
+#~ "analizador actual seleccionado se ejecutará (la ventana del analizador "
+#~ "debe estar abierta)."
 
-#: ../src/prefs.c:520
-msgid ""
-"Force using the system character encoding and silently discard some "
-"characters"
-msgstr ""
-"Forzar el uso de la codificación de caracteres del sistema y descartar "
-"silenciosamente algunos caracteres"
+#~ msgid "Words:"
+#~ msgstr "Palabras:"
 
-#: ../src/prefs.c:524 ../src/prefs.c:854 ../src/prefs.c:923
-msgid ""
-"With this option, when a character cannot be represented in the target "
-"character set, it will be silently discarded."
-msgstr ""
-"Con esta opción, cuando un carácter no se pueda representar en el conjunto "
-"de caracteres destino, se descartará silenciosamente."
+#~ msgid "Search In:"
+#~ msgstr "Buscar en:"
 
-#.
-#. * Tag Settings
-#.
-#: ../src/prefs.c:533
-msgid "Tag Settings"
-msgstr "Configuración de etiquetas"
+#~ msgid "All Fields"
+#~ msgstr "Todos los campos"
 
-#. Tag Options
-#: ../src/prefs.c:539
-msgid "Tag Options"
-msgstr "Opciones de etiquetas"
+#~ msgid "All Categories"
+#~ msgstr "Todas las categorías"
 
-#: ../src/prefs.c:545
-msgid "Auto completion of date if not complete"
-msgstr "Autocompletado de fecha si no está completa"
+#~ msgid "included: funk, soul, rap, pop, industrial, metal, etc."
+#~ msgstr "incluido: funk, soul, rap, pop, industrial, metal, etc."
 
-#: ../src/prefs.c:548
-msgid ""
-"Try to complete the year field if you enter only the last numerals of the "
-"date (for instance, if the current year is 2005: 5 => 2005, 4 => 2004, 6 => "
-"1996, 95 => 1995…)."
-msgstr ""
-"Intentar completar el campo de año si se introducen sólo los últimos "
-"numerales de la fecha (por ejemplo, si el año actual es 2005: 5 => 2005, 4 "
-"=> 2004, 6 => 1996, 95 => 1995…)."
+#~ msgid "movies, shows"
+#~ msgstr "películas, shows"
 
-#: ../src/prefs.c:556
-msgid "Write the track field with the following number of digits:"
-msgstr "Escribir el campo de pista con el siguiente número de dígitos:"
+#~ msgid "others that do not fit in the above categories"
+#~ msgstr "otros que no se ajustan a las categorías anteriores"
 
-#: ../src/prefs.c:559
-msgid ""
-"If activated, the track field is written using the number '0' as padding to "
-"obtain a number with 'n' digits (for example, with two digits: '05', '09', "
-"'10'…). Else it keeps the 'raw' track value."
-msgstr ""
-"Si está activada, el campo de pista se escribirá usando el número «0» como "
-"relleno para obtener un número con «n» dígitos (por ejemplo, con dos "
-"dígitos: «05», «09», «10»…). De lo contrario, guarda el valor «bruto» de la "
-"pista."
+#~ msgid "Enter the words to search in the list below"
+#~ msgstr "Introduzca las palabras que buscar en la siguiente lista"
 
-#: ../src/prefs.c:578
-msgid "Write the disc field with the following number of digits:"
-msgstr "Escribir el campo de disco con el siguiente número de dígitos:"
+#~ msgid "Search Next"
+#~ msgstr "Buscar siguiente"
 
-#: ../src/prefs.c:583
-msgid "Whether to pad the disc field with leading zeroes"
-msgstr "Indica si se debe rellenar el campo de disco con ceros a la izquierda"
+#~ msgid "Search Previous"
+#~ msgstr "Buscar anterior"
 
-#: ../src/prefs.c:613
-msgid ""
-"Tag field focus when switching files in list with shortcuts Page Up/Page "
-"Down:"
-msgstr ""
-"Enfocar el campo de la etiqueta al cambiar de archivo en la lista con las "
-"teclas de atajo AvPág/RePág:"
+#~ msgid "Show only red lines (or show all lines) in the 'Artist / Album' list"
+#~ msgstr ""
+#~ "Mostrar solo líneas rojas (o todas las líneas) en la lista «Artista/álbum»"
 
-#: ../src/prefs.c:619
-msgid "Keep focus to the same tag field"
-msgstr "Mantener el foco en el mismo campo de la etiqueta"
+#~ msgid "Set Into:"
+#~ msgstr "Establecer en:"
 
-#: ../src/prefs.c:625
-msgid "Return focus to the first tag field (i.e. 'Title' field)"
-msgstr ""
-"Devolver el foco al primer campo de la etiqueta (por ejemplo, el campo "
-"«Título»)"
+#~ msgid "All"
+#~ msgstr "Todo"
 
-#. gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(SetFocusToFirstTagField),SET_FOCUS_TO_FIRST_TAG_FIELD);
-#. Tag Splitting
-#: ../src/prefs.c:630
-msgid "Tag Splitting"
-msgstr "División de etiqueta"
+#~ msgid ""
+#~ "When activating this option, the Levenshtein algorithm (DLM: Damerau-"
+#~ "Levenshtein Metric) will be used to match the CDDB title against every "
+#~ "filename in the current folder, and to select the best match. This will "
+#~ "be used when selecting the corresponding audio file, or applying CDDB "
+#~ "results, instead of using directly the position order."
+#~ msgstr ""
+#~ "Cuando se activa esta opción, se usará el algoritmo de Levenshtein (DLM: "
+#~ "Métrica de Damerau-Levenshtein) para hacer coincidir el título CDDB con "
+#~ "cada nombre de archivo en la carpeta actual, y para seleccionar la mejor "
+#~ "coincidencia. Esto se usará al seleccionar el archivo de sonido "
+#~ "correspondiente, o al aplicar los resultados de CDDB en vez de usar "
+#~ "directamente el orden de la posición."
 
-#: ../src/prefs.c:639
-msgid ""
-"For Vorbis tags, selected fields will be split at dashes and saved as "
-"separate tags"
-msgstr ""
-"Para etiquetas Vorbis, los campos seleccionados se dividirán en guiones y "
-"guardados como etiquetas separadas"
+#~ msgid "The path for 'Local CD Database' was not defined"
+#~ msgstr "La ruta para «base de datos de CD local» no se ha definido"
 
-#: ../src/prefs.c:649
-msgid "Original artist"
-msgstr "Artista original"
+#~ msgid "Enter it in the preferences window before using this search."
+#~ msgstr ""
+#~ "Introdúzcalo en las preferencias de ventana antes de usar esta búsqueda."
 
-#.
-#. * ID3 Tag Settings
-#.
-#: ../src/prefs.c:670
-msgid "ID3 Tag Settings"
-msgstr "Configuración de etiqueta ID3"
-
-#. Tag Rules frame
-#: ../src/prefs.c:679
-msgid "ID3 Tag Rules"
-msgstr "Reglas de etiquetas ID3"
-
-#. Strip tag when fields (managed by EasyTAG) are empty
-#: ../src/prefs.c:691
-msgid "Strip tags if all fields are set to blank"
-msgstr "Quitar etiquetas si todos los campos están en blanco"
+#~ msgid "Local CD search"
+#~ msgstr "Búsqueda de CD local"
 
-#: ../src/prefs.c:694
-msgid ""
-"As ID3v2 tags may contain other data than Title, Artist, Album, Year, Track, "
-"Genre or Comment (as an attached image, lyrics…), this option allows you to "
-"strip the whole tag when these seven standard data fields have been set to "
-"blank."
-msgstr ""
-"Como las etiquetas ID3v2 pueden contener otros datos además del Título, "
-"Artista, Álbum, Año, Pista, Género o Comentario (como una imagen adjunta, "
-"letras…), esta opción le permite quitar la etiqueta entera cuando estos "
-"siete campos de datos estándar estén en blanco."
-
-#. Convert old ID3v2 tag version
-#: ../src/prefs.c:700
-msgid "Automatically convert old ID3v2 tag versions"
-msgstr "Convertir automáticamente versiones antiguas de etiqueta ID3v2"
+#~ msgid "Can't load file: '%s' (%s)."
+#~ msgstr "No se puede cargar el archivo: «%s» (%s)."
 
-#: ../src/prefs.c:703
-msgid ""
-"If activated, an old ID3v2 tag version (as ID3v2.2) will be updated to the "
-"ID3v2.3 version."
-msgstr ""
-"Si está activada, una versión de etiqueta ID3v2 antigua (como ID3v2.2) se "
-"actualizará a la versión ID3v2.3."
+#~ msgid "Using libid3tag version %s"
+#~ msgstr "Usando libid3tag versión %s"
 
-#. Use CRC32
-#: ../src/prefs.c:707
-msgid "Use CRC32"
-msgstr "Usar CRC32"
+#~ msgid "Using id3lib version %d.%d.%d"
+#~ msgstr "Usando id3lib versión %d.%d.%d"
 
-#: ../src/prefs.c:710
-msgid "Set CRC32 in the ID3v2 tags"
-msgstr "Establecer CRC32 en las etiquetas ID3v2"
+#~ msgid "Currently using locale '%s' (and eventually '%s')"
+#~ msgstr ""
+#~ "Usando actualmente la configuración regional «%s» (y eventualmente «%s»)"
 
-#. Use Compression
-#: ../src/prefs.c:713
-msgid "Use Compression"
-msgstr "Usar compresión"
+#~ msgid "Frequency:"
+#~ msgstr "Frecuencia:"
 
-#: ../src/prefs.c:717
-msgid "Set Compression in the ID3v2 tags"
-msgstr "Establecer compresión en las etiquetas ID3v2"
+#~ msgid "Select Mode and Mask, and redo the same action"
+#~ msgstr "Seleccionar Modo y Máscara y rehacer la misma acción"
 
-#. Write Genre in text
-#: ../src/prefs.c:720
-msgid "Write Genre in text only"
-msgstr "Escribir género en solo texto"
+#~ msgid "Files have been partially deleted"
+#~ msgstr "Se han eliminado los archivos parcialmente"
 
-#: ../src/prefs.c:724
-msgid ""
-"Don't use ID3v1 number references in genre tag. Enable this if you see "
-"numbers as genre in your music player."
-msgstr ""
-"No use referencias de número ID3v1 en la etiqueta de género. Active esto si "
-"ve números como género en su reproductor de sonido."
+#~ msgid "Tag(s) written"
+#~ msgstr "Etiqueta(s) escritas"
 
-#. Character Set for writing ID3 tag
-#: ../src/prefs.c:727
-msgid "Character Set for writing ID3 tags"
-msgstr "Conjunto de caracteres para escribir etiquetas ID3"
+#~ msgid "Cannot write tag in file '%s' (%s)"
+#~ msgstr "No se puede escribir la etiqueta en el archivo «%s» (%s)"
 
-#. ID3v2 tags
-#: ../src/prefs.c:734
-msgid "ID3v2 tags"
-msgstr "Etiquetas ID3v2"
+#~ msgid "Cannot read directory (%s)"
+#~ msgstr "No se puede leer carpeta (%s)"
 
-#. Write ID3v2 tag
-#: ../src/prefs.c:747
-msgid "Write ID3v2 tag"
-msgstr "Escribir etiqueta ID3v2"
+#~ msgid "Convert ' ' to '_'"
+#~ msgstr "Convertir « » a «_»"
 
-#: ../src/prefs.c:750
-msgid ""
-"If activated, an ID3v2.4 tag will be added or updated at the beginning of "
-"the MP3 files. Else it will be stripped."
-msgstr ""
-"Si está activada, se añadirá o actualizará una etiqueta ID3v2.4 al principio "
-"de los archivos MP3. De otra manera, se eliminará."
+#~ msgid "Error writing tag type %d to file %s (%s)"
+#~ msgstr "Error al escribir el tipo de etiqueta %d al archivo %s (%s)"
 
-#. ID3v2 tag version
-#: ../src/prefs.c:757
-msgid "Version:"
-msgstr "Versión:"
+#~ msgid "Picture block isn't valid: '%s'"
+#~ msgstr "El bloque de imagen no es válido: «%s»"
 
-#: ../src/prefs.c:763
-msgid ""
-"Select the ID3v2 tag version to write:\n"
-" - ID3v2.3 is written using id3lib,\n"
-" - ID3v2.4 is written using libid3tag (recommended)."
-msgstr ""
-"Seleccionar la versión de la etiqueta ID3v2 para escribir:\n"
-"- ID3v2.3 está escrita usando id3lib,\n"
-"- ID3v2.4 está escrita usando libid3tag (recomendado)."
+#~ msgid "Error while reading file: '%s' (%s)"
+#~ msgstr "Error al leer el archivo: «%s» (%s)"
 
-#. Charset
-#. Id3V1 writing character set
-#: ../src/prefs.c:778 ../src/prefs.c:882
-msgid "Charset:"
-msgstr "Conjunto de caracteres:"
+#~ msgid "Updated tag of '%s'"
+#~ msgstr "Actualizada la etiqueta de «%s»"
 
-#. Unicode
-#: ../src/prefs.c:783
-msgid "Unicode "
-msgstr "Unicode "
+#~ msgid "Error while creating temporary file: '%s'"
+#~ msgstr "Error al crear archivo temporal: «%s»"
 
-#: ../src/prefs.c:791
-msgid "Unicode type to use"
-msgstr "Tipo Unicode que usar"
+#~ msgid "Error while writing to file: '%s' (%s)"
+#~ msgstr "Error al escribir al archivo: «%s» (%s)"
 
-#: ../src/prefs.c:815
-msgid "Character set used to write the tag data in the file."
-msgstr ""
-"Conjunto de caracteres usado para escribir datos de la etiqueta en el "
-"archivo."
+#~ msgid "Cannot write tag of file ‘%s’ (a byte was missing)"
+#~ msgid_plural "Cannot write tag of file ‘%s’ (%s bytes were missing)"
+#~ msgstr[0] ""
+#~ "No se puede escribir la etiqueta del archivo «%s» (faltaba un byte)"
+#~ msgstr[1] ""
+#~ "No se puede escribir la etiqueta del archivo «%s» (faltaban %s bytes)"
 
-#. ID3v2 Additional iconv() options
-#. ID3V1 Additional iconv() options
-#: ../src/prefs.c:825 ../src/prefs.c:894
-msgid "Additional settings for iconv():"
-msgstr "Configuración adicional para iconv():"
+#~ msgid "Cannot save tag of file '%s'"
+#~ msgstr "No se puede guardar etiqueta del archivo «%s»"
 
-#: ../src/prefs.c:831 ../src/prefs.c:900
-msgid "No"
-msgstr "No"
+#~ msgid "Size error while saving tag of '%s'"
+#~ msgstr "Error de tamaño al guardar etiqueta de «%s»"
 
-#: ../src/prefs.c:835 ../src/prefs.c:904
-msgid ""
-"With this option, when a character cannot be represented in the target "
-"character set, it isn't changed. But note that an error message will be "
-"displayed for information."
-msgstr ""
-"Con esta opción, cuando un carácter no pueda representarse en el conjunto de "
-"caracteres destino, no se cambia. Pero, tenga en cuenta que un mensaje de "
-"error se mostrará como información."
-
-#: ../src/prefs.c:840 ../src/prefs.c:909
-msgid "//TRANSLIT"
-msgstr "//TRANSLIT"
-
-#: ../src/prefs.c:850 ../src/prefs.c:919
-msgid "//IGNORE"
-msgstr "//IGNORE"
-
-#. ID3v1 tags
-#: ../src/prefs.c:859
-msgid "ID3v1 tags"
-msgstr "Etiquetas ID3v1"
-
-#. Write ID3v1 tag
-#: ../src/prefs.c:873
-msgid "Write ID3v1.x tag"
-msgstr "Escribir etiqueta ID3v1.x"
+#~ msgid "M3U Playlist Name"
+#~ msgstr "Nombre de la lista de reproducción M3U"
 
-#: ../src/prefs.c:876
-msgid ""
-"If activated, an ID3v1 tag will be added or updated at the end of the MP3 "
-"files. Else it will be stripped."
-msgstr ""
-"Si está activada, una etiqueta ID3v1 se añadirá o actualizará al final de "
-"los archivos MP3. De otra manera se suprimirá."
+#~ msgid "Playlist Options"
+#~ msgstr "Opciones de la lista de reproducción"
 
-#: ../src/prefs.c:890
-msgid "Character set used to write ID3v1 tag data in the file."
-msgstr ""
-"Conjunto de caracteres usado para escribir datos de etiqueta ID3v1 en el "
-"archivo."
+#~ msgid ""
+#~ "If activated, only the selected files will be written in the playlist "
+#~ "file. Else, all the files will be written."
+#~ msgstr ""
+#~ "Si está activado, sólo los archivos seleccionados se escribirán en el "
+#~ "archivo de la lista de reproducción. De lo contrario, se escribirán todos "
+#~ "los archivos."
 
-#. Character Set for reading tag
-#: ../src/prefs.c:928
-msgid "Character Set for reading ID3 tags"
-msgstr "Conjunto de caracteres para leer etiquetas ID3"
+#~ msgid "If activated, the playlist will be created in the parent directory."
+#~ msgstr ""
+#~ "Si está activado, la lista de reproducción se creará en la carpeta padre."
 
-#: ../src/prefs.c:942
-msgid "Non-standard:"
-msgstr "No estándar:"
+#~ msgid ""
+#~ "This option replaces the UNIX directory separator '/' into DOS separator "
+#~ "'\\'."
+#~ msgstr ""
+#~ "Esta opción reemplaza el separador de carpetas UNIX «/» por el separador "
+#~ "DOS «\\»."
 
-#: ../src/prefs.c:948
-msgid ""
-"This character set will be used when reading the tag data, to convert each "
-"string found in an ISO-8859-1 field in the tag (for ID3v2 or/and ID3v1 "
-"tag).\n"
-"\n"
-"For example:\n"
-"  - In previous versions of EasyTAG, you could save UTF-8 strings in an "
-"ISO-8859-1 field. This is not correct. To convert these tags to Unicode: "
-"activate this option and select UTF-8. You must also activate above the "
-"option 'Try to save tags to ISO-8859-1. If it isn't possible then use "
-"UNICODE (recommended)' or 'Always save tags to UNICODE character set'.\n"
-"  - If Unicode was not used, Russian people can select the character set "
-"'Windows-1251' to load tags written under Windows. And 'KOI8-R' to load tags "
-"written under Unix systems."
-msgstr ""
-"Se usará este conjunto de caracteres cuando se lean los datos de la "
-"etiqueta, para convertir cada cadena encontrada en un campo ISO-8859-1 en la "
-"etiqueta (para etiquetas ID3v2 y/o ID3v1).\n"
-"\n"
-"Por ejemplo:\n"
-"  - En versiones anteriores de EasyTAG, podía guardar cadenas UTF-8 en un "
-"campo ISO-8859-1. Esto no es correcto. Para convertir estas etiquetas a "
-"Unicode: active esta opción y seleccione UTF-8. Debe además activar arriba "
-"la opción «Intentar guardar etiquetas en ISO-8859-1». Si no es posible "
-"entonces use UNICODE (recomendado)» o «Siempre guardar etiquetas en el "
-"conjunto de caracteres UNICODE».\n"
-"  - Si no se usó unicode, la gente de Rusia puede seleccionar el conjunto de "
-"caracteres «Windows-1251» para cargar etiquetas escritas bajo Windows. Y "
-"«KOI8-R» para cargar etiquetas escritas bajo sistemas Unix."
-
-#: ../src/prefs.c:966
-msgid "Character set used to read tag data in the file."
-msgstr ""
-"Conjunto de caracteres usado para leer datos de la etiqueta en el archivo."
+#~ msgid "Playlist Content"
+#~ msgstr "Contenido de la lista de reproducción"
 
-#.
-#. * Scanner
-#.
-#: ../src/prefs.c:980
-msgid "Scanner"
-msgstr "Analizador"
+#~ msgid "Move down the selected line"
+#~ msgstr "Bajar la línea seleccionada"
 
-#. Character conversion for the 'Fill Tag' scanner (=> FTS...)
-#: ../src/prefs.c:990
-msgid "Fill Tag Scanner - Character Conversion"
-msgstr "Analizador de relleno de etiquetas: conversión de caracteres"
+#~ msgid ""
+#~ "When activating this option, after loading the filenames, the current "
+#~ "selected scanner will be ran (the scanner window must be opened)."
+#~ msgstr ""
+#~ "Cuando esta opción esté activa, después de cargar los nombres de archivo, "
+#~ "el analizador seleccionado actual se ejecutará (la ventana del analizador "
+#~ "debe estar abierta)."
 
-#: ../src/prefs.c:996 ../src/prefs.c:1021
-msgid "Convert underscore character '_' and string '%20' to space ' '"
-msgstr "Convertir caracteres de subrayado «_» y cadena «%20» a espacio « »"
+#~ msgid "Cannot retrieve file info (%s)"
+#~ msgstr "No se puede recuperar la información del archivo (%s)"
 
-#: ../src/prefs.c:998 ../src/prefs.c:1022
-msgid "Convert space ' ' to underscore '_'"
-msgstr "Convertir espacios « » a subrayados «_»"
+#~ msgid "Can't open file '%s' (%s)"
+#~ msgstr "No se puede abrir el archivo «%s» (%s)"
 
-#: ../src/prefs.c:1010 ../src/prefs.c:1012
-msgid ""
-"If activated, this conversion will be used when applying a mask from the "
-"scanner for tags."
-msgstr ""
-"Si está activada, esta conversión se usará cuando se aplique una máscara "
-"desde el analizador de etiquetas."
+#~ msgid "Move down this line"
+#~ msgstr "Bajar esta línea"
 
-#. Character conversion for the 'Rename File' scanner (=> RFS...)
-#: ../src/prefs.c:1016
-msgid "Rename File Scanner - Character Conversion"
-msgstr "Renombrar analizador de archivos: conversión de caracteres"
+#~ msgid "Warning: The Ogg Vorbis file '%s' contains an ID3v2 tag."
+#~ msgstr ""
+#~ "Advertencia: el archivo Ogg Vorbis «%s» contiene una etiqueta ID3v2."
 
-#: ../src/prefs.c:1033 ../src/prefs.c:1035 ../src/prefs.c:1037
-msgid ""
-"If activated, this conversion will be used when applying a mask from the "
-"scanner for filenames."
-msgstr ""
-"Si esta activada, la conversión se usará cuando se aplique una máscara desde "
-"el analizador de nombres de archivo."
+#~ msgid "Error with 'loader_write': %s"
+#~ msgstr "Error con «loader_write»: %s"
 
-#. Character conversion for the 'Process Fields' scanner (=> PFS...)
-#: ../src/prefs.c:1040
-msgid "Process Fields Scanner - Character Conversion"
-msgstr "Analizador de campos: conversión de caracteres"
+#~ msgid "Error with 'loader_close': %s"
+#~ msgstr "Error con «loader_close»: %s"
 
-#. Don't convert some words like to, feat. first letter uppercase.
-#: ../src/prefs.c:1047
-msgid ""
-"Don't uppercase first letter of words for some prepositions and articles."
-msgstr ""
-"No poner en mayúscula la primera letra de palabras para algunas "
-"preposiciones y artículos."
+#~ msgid "Image Description:"
+#~ msgstr "Descripción de la imagen:"
 
-#: ../src/prefs.c:1051
-msgid ""
-"Don't convert first letter of words like prepositions, articles and words "
-"like feat., when using the scanner 'First letter uppercase of each "
-"word' (for example, you will obtain 'Text in an Entry' instead of 'Text In "
-"An Entry')."
-msgstr ""
-"No convertir la primera letra de las palabras como preposiciones, artículos "
-"y palabras como feat., cuando use el analizador «Primera letra de cada "
-"palabra mayúscula» (por ejemplo obtendrá «Texto en una Entrada» en lugar de "
-"«Texto En Una Entrada»)."
-
-#. Properties of the scanner window
-#: ../src/prefs.c:1057
-msgid "Scanner Window"
-msgstr "Ventana del analizador"
-
-#: ../src/prefs.c:1063
-msgid "Open the Scanner Window on startup"
-msgstr "Abrir la ventana del analizador al arrancar."
+#~ msgid "Default directory:"
+#~ msgstr "Carpeta predeterminada:"
 
-#: ../src/prefs.c:1066
-msgid ""
-"Activate this option to open automatically the scanner window when EasyTAG "
-"starts."
-msgstr ""
-"Active esta opción para abrir automáticamente la ventana del analizador "
-"cuando EasyTAG empiece."
+#~ msgid ""
+#~ "Specify the directory where your files are located. This path will be "
+#~ "loaded when EasyTAG starts without parameter."
+#~ msgstr ""
+#~ "Especificar la carpeta donde se encuentran sus archivos. Esta ruta se "
+#~ "cargará al ejecutar EasyTAG sin parámetros."
 
-#. Other options
-#: ../src/prefs.c:1071
-msgid "Fields"
-msgstr "Campos"
+#~ msgid ""
+#~ "Automatically search files, when EasyTAG starts, into the default "
+#~ "directory. Note that this path may be overridden by the parameter passed "
+#~ "to easytag (easytag /path_to/mp3_files)."
+#~ msgstr ""
+#~ "Buscar archivos automáticamente, cuando EasyTAG empieza, en la carpeta "
+#~ "predeterminada. Tenga en cuenta que esta ruta puede alterarse con el "
+#~ "parámetro pasado a easytag (easytag /ruta_a/archivos_mp3)."
 
-#. Overwrite text into tag fields
-#: ../src/prefs.c:1078
-msgid "Overwrite fields when scanning tags"
-msgstr "Sobrescribir campos al analizar etiquetas"
+#~ msgid "Search subdirectories"
+#~ msgstr "Buscar subcarpetas"
 
-#: ../src/prefs.c:1081
-msgid ""
-"If activated, the scanner will replace existing text in fields by the new "
-"one. If deactivated, only blank fields of the tag will be filled."
-msgstr ""
-"Si está activada, el analizador reemplazará el texto existente en los campos "
-"por el nuevo. Si está desactivada, sólo se completarán los campos en blanco "
-"de la etiqueta."
+#~ msgid ""
+#~ "This expands the selected node into the file browser to display the sub-"
+#~ "directories."
+#~ msgstr ""
+#~ "Esto expande el nodo seleccionado en el examinador de archivos para "
+#~ "mostrar las subcarpetas."
 
-#: ../src/prefs.c:1092
-msgid "Set this text as default comment:"
-msgstr "Establecer este texto como comentario predeterminado:"
+#~ msgid "Search hidden directories for files (directories starting by a '.')."
+#~ msgstr "Buscar archivos en carpetas ocultas (que empiezan con un «.»)."
 
-#: ../src/prefs.c:1095
-msgid ""
-"Activate this option if you want to put the following string into the "
-"comment field when using the 'Fill Tag' scanner."
-msgstr ""
-"Active esta opción si quiere poner la siguiente cadena en el campo de "
-"comentario al usar el analizador «Rellenar etiqueta»."
+#~ msgid "Misc"
+#~ msgstr "Varios"
 
-#. CRC32 comment
-#: ../src/prefs.c:1113
-msgid "Use CRC32 as the default comment (for files with ID3 tags only)."
-msgstr ""
-"Usar CRC32 como el comentario predeterminado (sólo para archivos con "
-"etiquetas ID3)."
+#~ msgid "Show header information of file"
+#~ msgstr "Mostrar la información de cabecera del archivo"
 
-#: ../src/prefs.c:1117
-msgid ""
-"Calculates the CRC-32 value of the file and writes it into the comment field "
-"when using the 'Fill Tag' scanner."
-msgstr ""
-"Calcula el valor CRC-32 del archivo y lo escribe en en el campo de "
-"comentario cuando usa el analizador «Rellenar etiqueta»."
+#~ msgid ""
+#~ "If activated, information about the file as the bitrate, the time, the "
+#~ "size, will be displayed under the filename entry."
+#~ msgstr ""
+#~ "Si está activada, la información sobre el archivo como la tasa de bits, "
+#~ "el tiempo, el tamaño, se mostrará bajo la entrada del nombre de archivo."
 
-#.
-#. * CDDB
-#.
-#: ../src/prefs.c:1128
-msgid "CDDB"
-msgstr "CDDB"
+#~ msgid "Sorting List Options"
+#~ msgstr "Opciones de ordenación de lista"
 
-#. CDDB Server Settings (Automatic Search)
-#: ../src/prefs.c:1134
-msgid "Server Settings for Automatic Search"
-msgstr "Configuración del servidor para búsqueda automática"
+#~ msgid "Sort the file list by:"
+#~ msgstr "Ordenar la lista de archivos por:"
 
-#: ../src/prefs.c:1143 ../src/prefs.c:1182 ../src/prefs.c:1216
-msgid "Name:"
-msgstr "Nombre:"
+#~ msgid "Ascending filename"
+#~ msgstr "Ascendente por nombre de archivo"
 
-#: ../src/prefs.c:1162 ../src/prefs.c:1190 ../src/prefs.c:1225
-#: ../src/prefs.c:1310
-msgid "Port:"
-msgstr "Puerto:"
+#~ msgid "Descending filename"
+#~ msgstr "Descendente por nombre de archivo"
 
-#: ../src/prefs.c:1172 ../src/prefs.c:1200 ../src/prefs.c:1234
-msgid "CGI Path:"
-msgstr "Ruta a CGI:"
+#~ msgid "Ascending title"
+#~ msgstr "Ascendente por título"
 
-#. CDDB Server Settings (Manual Search)
-#: ../src/prefs.c:1208
-msgid "Server Settings for Manual Search"
-msgstr "Configuración del servidor para búsqueda manual"
+#~ msgid "Descending title"
+#~ msgstr "Descendente por título"
 
-#. Local access for CDDB (Automatic Search)
-#: ../src/prefs.c:1242
-msgid "Local CDDB"
-msgstr "CDDB local"
+#~ msgid "Ascending artist"
+#~ msgstr "Ascendente por artista"
 
-#: ../src/prefs.c:1250
-msgid "Path:"
-msgstr "Ruta:"
+#~ msgid "Descending artist"
+#~ msgstr "Descendente por artista"
 
-#: ../src/prefs.c:1262
-msgid ""
-"Specify the directory where the local CD database is located. The local CD "
-"database contains the eleven following directories 'blues', 'classical', "
-"'country', 'data', 'folk', 'jazz', 'newage', 'reggae', 'rock', 'soundtrack' "
-"and 'misc'."
-msgstr ""
-"Especificar la carpeta donde la base de datos de CD local está ubicada. La "
-"base de datos de CD local contiene las once carpetas siguientes «blues», "
-"«clásico», «country», «datos», «folk», «jazz», «new age», «reggae», «rock», "
-"«banda sonora» y «varios»."
-
-#. CDDB Proxy Settings
-#: ../src/prefs.c:1288
-msgid "Proxy Settings"
-msgstr "Configuración del proxy"
-
-#: ../src/prefs.c:1297
-msgid "Use a proxy"
-msgstr "Usar un proxy"
+#~ msgid "Ascending album artist"
+#~ msgstr "Ascendente por artista del álbum"
 
-#: ../src/prefs.c:1300
-msgid "Set active the settings of the proxy server."
-msgstr "Activar la configuración del servidor proxy."
+#~ msgid "Descending album artist"
+#~ msgstr "Descendente por artista del álbum"
 
-#: ../src/prefs.c:1302
-msgid "Host Name:"
-msgstr "Nombre de equipo:"
+#~ msgid "Ascending album"
+#~ msgstr "Ascendente por álbum"
 
-#: ../src/prefs.c:1309
-msgid "Name of the proxy server."
-msgstr "Nombre del servidor proxy."
+#~ msgid "Descending album"
+#~ msgstr "Descendente por álbum"
 
-#: ../src/prefs.c:1317
-msgid "Port of the proxy server."
-msgstr "Puerto del servidor proxy."
+#~ msgid "Ascending year"
+#~ msgstr "Ascendente por año"
 
-#: ../src/prefs.c:1321
-msgid "User Name:"
-msgstr "Nombre de usuario:"
+#~ msgid "Descending year"
+#~ msgstr "Descendente por año"
 
-#: ../src/prefs.c:1328
-msgid "Name of user for the the proxy server."
-msgstr "Nombre de usuario para el servidor proxy."
+#~ msgid "Ascending disc number"
+#~ msgstr "Ascendente por número de disco"
 
-#: ../src/prefs.c:1329
-msgid "User Password:"
-msgstr "Contraseña de usuario:"
+#~ msgid "Descending disc number"
+#~ msgstr "Descendente por número de disco"
 
-#: ../src/prefs.c:1338
-msgid "Password of user for the proxy server."
-msgstr "Contraseña de usuario para el servidor proxy."
+#~ msgid "Ascending track number"
+#~ msgstr "Ascendente por número de pista"
 
-#. Track Name list (CDDB results)
-#: ../src/prefs.c:1343
-msgid "Track Name List"
-msgstr "Lista de nombre de pista"
+#~ msgid "Descending track number"
+#~ msgstr "Descendente por número de pista"
 
-#: ../src/prefs.c:1350
-msgid ""
-"Select corresponding audio file (according position or DLM if activated "
-"below)"
-msgstr ""
-"Seleccionar el archivo de sonido correspondiente (de acuerdo a la posición o "
-"DLM si estuviese activado abajo)"
+#~ msgid "Ascending genre"
+#~ msgstr "Ascendente por género"
 
-#: ../src/prefs.c:1354
-msgid ""
-"If activated, when selecting a line in the list of tracks name, the "
-"corresponding audio file in the main list will be also selected."
-msgstr ""
-"Si está activado, cuando seleccione una línea en la lista de nombre de "
-"pistas, el archivo de sonido correspondiente en la lista principal se "
-"seleccionará también."
+#~ msgid "Descending genre"
+#~ msgstr "Descendente por género"
 
-#. Check box to use DLM (also used in the cddb window)
-#: ../src/prefs.c:1359
-msgid ""
-"Use the Levenshtein algorithm (DLM) to match lines (using title) with audio "
-"files (using filename)"
-msgstr ""
-"Usar el algoritmo de Levenshtein (DLM) para coincidir las líneas (usando el "
-"título) con los archivos de sonido (usando el nombre del archivo)"
+#~ msgid "Ascending comment"
+#~ msgstr "Ascendente por comentario"
 
-#.
-#. * Confirmation
-#.
-#: ../src/prefs.c:1374
-msgid "Confirmation"
-msgstr "Confirmación"
+#~ msgid "Descending comment"
+#~ msgstr "Descendente por comentario"
 
-#: ../src/prefs.c:1379
-msgid "Confirm exit from program"
-msgstr "Confirmar la salida del programa"
+#~ msgid "Ascending composer"
+#~ msgstr "Ascendente por compositor"
 
-#: ../src/prefs.c:1382
-msgid ""
-"If activated, opens a dialog box to ask confirmation before exiting the "
-"program."
-msgstr ""
-"Si está activada, abre una caja de diálogo para confirmar si desea salir del "
-"programa."
+#~ msgid "Descending composer"
+#~ msgstr "Descendente por compositor"
 
-#: ../src/prefs.c:1385
-msgid "Confirm writing of file tag"
-msgstr "Confirmar escritura de la etiqueta del archivo"
+#~ msgid "Ascending original artist"
+#~ msgstr "Ascendente por artista original"
 
-#: ../src/prefs.c:1389
-msgid "Confirm renaming of file"
-msgstr "Confirmar renombrado de archivo"
+#~ msgid "Descending original artist"
+#~ msgstr "Descendente por artista original"
 
-#: ../src/prefs.c:1393
-msgid "Confirm deleting of file"
-msgstr "Confirmar eliminación de archivos"
+#~ msgid "Ascending copyright"
+#~ msgstr "Ascendente por copyright"
 
-#: ../src/prefs.c:1397
-msgid "Confirm writing of playlist"
-msgstr "Confirmar escritura de la lista de reproducción"
+#~ msgid "Descending copyright"
+#~ msgstr "Descendente por copyright"
 
-#: ../src/prefs.c:1401
-msgid "Confirm changing directory when there are unsaved changes"
-msgstr "Confirmar cambio de carpeta cuando hay cambios sin guardar"
+#~ msgid "Ascending URL"
+#~ msgstr "Ascendente por URL"
 
-#. For translators : be aware to NOT translate '%.*d' in this string
-#: ../src/prefs.c:1439
-#, c-format
-msgid "(Example: %.*d_-_Track_name_1.mp3)"
-msgstr "(Ejemplo : %.*d_-_Nombre_pista_1.mp3)"
+#~ msgid "Descending URL"
+#~ msgstr "Descendente por URL"
 
-#. Translators: please do NOT translate '%.*d' in this string.
-#: ../src/prefs.c:1472
-#, c-format
-msgid "(Example: disc_%.*d_of_10/Track_name_1.mp3)"
-msgstr "(Ejemplo: disc_%.*d_of_10/Nombre_pista_1.mp3)"
+#~ msgid "Ascending encoded by"
+#~ msgstr "Ascendente por codificado por"
 
-#: ../src/prefs.c:1614 ../src/setting.c:904
-msgid "Configuration saved"
-msgstr "Configuración guardada"
+#~ msgid "Descending encoded by"
+#~ msgstr "Descendente por codificado por"
 
-#: ../src/prefs.c:1622
-msgid "Configuration unchanged"
-msgstr "Configuración sin cambios"
+#~ msgid "Ascending creation date"
+#~ msgstr "Ascendente por fecha de creación"
 
-#: ../src/prefs.c:1713
-msgid "The selected path for 'Default path to files' is invalid"
-msgstr ""
-"La ruta seleccionada para «Ruta a archivos predeterminada» no es válida"
+#~ msgid "Descending creation date"
+#~ msgstr "Descendente por fecha de creación"
 
-#: ../src/prefs.c:1715
-#, c-format
-msgid ""
-"Path: '%s'\n"
-"Error: %s"
-msgstr ""
-"Ruta: «%s»\n"
-"Error: %s"
+#~ msgid "Select the type of file sorting when loading a directory."
+#~ msgstr ""
+#~ "Seleccionar el tipo de ordenación de archivos al cargar una carpeta."
 
-#: ../src/prefs.c:1717
-msgid "Invalid Path Error"
-msgstr "Error de ruta no válida"
+#~ msgid "If activated, the sorting of the list will be dependent on the case."
+#~ msgstr ""
+#~ "Si esta activada, el orden de la lista será dependiente de la "
+#~ "capitalización."
 
-#: ../src/prefs.c:1831
-#, c-format
-msgid "The audio file player '%s' cannot be found"
-msgstr "No se puede encontrar el reproductor del archivo de sonido «%s»"
+#~ msgid "File Audio Player"
+#~ msgstr "Reproductor de archivos de audio"
 
-#: ../src/prefs.c:1833
-msgid "Audio Player Error"
-msgstr "Error del reproductor de audio"
+#~ msgid "Player to run:"
+#~ msgstr "Reproductor que ejecutar:"
 
-#: ../src/scan_dialog.c:182
-msgid "Fill Tag"
-msgstr "Rellenar etiqueta"
+#~ msgid ""
+#~ "Enter the program used to play the files. Some arguments can be passed "
+#~ "for the program (as 'xmms -p') before to receive files as other arguments."
+#~ msgstr ""
+#~ "Introduzca el programa usado para reproducir los archivos. Se pueden "
+#~ "pasar algunos argumentos al programa (como «xmms -p») antes de recibir "
+#~ "archivos como otros argumentos."
 
-#: ../src/scan_dialog.c:356
-#, c-format
-msgid "Cannot calculate CRC value of file (%s)"
-msgstr "No se puede calcular el valor CRC del archivo (%s)"
+#~ msgid "If activated, the log view would be visible in the main window."
+#~ msgstr ""
+#~ "Si está activada, la vista del registro será visible en la ventana "
+#~ "principal."
 
-#: ../src/scan_dialog.c:371
-msgid "Tag successfully scanned"
-msgstr "Etiqueta analizada con éxito"
+#~ msgid "File Options"
+#~ msgstr "Opciones de archivo"
 
-#: ../src/scan_dialog.c:373
-#, c-format
-msgid "Tag successfully scanned: %s"
-msgstr "Etiqueta analizada con éxito: %s"
+#~ msgid ""
+#~ "Convert illegal characters for FAT32/16 and ISO9660 + Joliet filesystems "
+#~ "('\\', ':', ';', '*', '?', '\"', '<', '>', '|') of the filename to avoid "
+#~ "problem when renaming the file. This is useful when renaming the file "
+#~ "from the tag with the scanner."
+#~ msgstr ""
+#~ "Convertir caracteres ilegales para sistemas de archivos FAT32/16 e "
+#~ "ISO9660 + Joliet («\\», «:», «;», «*», «?», «\"», «<», «>», «|») del "
+#~ "nombre de archivo para evitar problemas al renombrarlo. Esto es útil al "
+#~ "renombrar el archivo desde la etiqueta con el analizador."
 
-#: ../src/scan_dialog.c:414
-#, c-format
-msgid "Tag scanner: strange… the extension '%s' was not found in filename '%s'"
-msgstr ""
-"Etiqueta del analizador: extraño… la extensión «%s» no se encuentra en el "
-"nombre de archivo «%s»"
+#~ msgid ""
+#~ "Update modification time of the parent directory of the file (recommended "
+#~ "when using Amarok)"
+#~ msgstr ""
+#~ "Actualizar el tiempo de modificación de la carpeta padre del archivo "
+#~ "(recomendado al usar Amarok)"
 
-#: ../src/scan_dialog.c:496 ../src/scan_dialog.c:525
-#, c-format
-msgid "Scan Error: can't find separator '%s' within '%s'"
-msgstr "Error al analizar: no se puede encontrar el separador «%s» entre «%s»"
+#~ msgid ""
+#~ "The modification time of the parent directory of the file will be updated "
+#~ "when saving tag the file. At the present time it is automatically done "
+#~ "only when renaming a file.\n"
+#~ "This feature is interesting when using applications like Amarok. For "
+#~ "performance reasons, they refresh file information by detecting changes "
+#~ "of the parent directory."
+#~ msgstr ""
+#~ "El tiempo de modificación de la carpeta padre del archivo se cargará al "
+#~ "guardar la etiqueta del archivo. Actualmente se hace automáticamente solo "
+#~ "al renombrar un archivo.\n"
+#~ "Esta característica es interesante cuando usas aplicaciones como Amarok. "
+#~ "Por razones de ejecución, actualizan información del archivo al detectar "
+#~ "cambios de la carpeta padre."
 
-#: ../src/scan_dialog.c:712
-msgid "New filename successfully scanned"
-msgstr "Nombre de archivo nuevo analizado con éxito"
+#~ msgid "Character Set for Filename"
+#~ msgstr "Conjunto de caracteres para el nombre del archivo"
 
-#: ../src/scan_dialog.c:715
-#, c-format
-msgid "New filename successfully scanned: %s"
-msgstr "Nombre de archivo nuevo analizado con éxito: %s"
+#~ msgid ""
+#~ "Rules to apply if some characters can't be converted to the system "
+#~ "character encoding when writing filename:"
+#~ msgstr ""
+#~ "Reglas para aplicar si algunos caracteres no pueden convertirse a la "
+#~ "codificación de caracteres del sistema al escribir el nombre del archivo:"
 
-#: ../src/scan_dialog.c:1632
-#, c-format
-msgid "Error while processing fields: %s"
-msgstr "Error al procesar campos: %s"
+#~ msgid ""
+#~ "With this option, it will try the conversion to the encoding associated "
+#~ "to your locale (for example: ISO-8859-1 for 'fr', KOI8-R for 'ru', "
+#~ "ISO-8859-2 for 'ro'). If it fails, it will try the character encoding "
+#~ "ISO-8859-1."
+#~ msgstr ""
+#~ "Con esta opción, se intentará la conversión a la codificación asociada a "
+#~ "su configuración regional (por ejemplo : ISO-8859-1 para «fr», KOI8-R "
+#~ "para «ru», ISO8859-2 para «ro»). Si falla, se intentará con la "
+#~ "codificación de caracteres ISO-8859-1."
 
-#. The window
-#: ../src/scan_dialog.c:1802
-msgid "Tag and Filename Scan"
-msgstr "Análisis de etiquetas y nombres de archivo"
+#~ msgid ""
+#~ "Force using the system character encoding and activate the transliteration"
+#~ msgstr ""
+#~ "Forzar el uso de la codificación de caracteres del sistema y activar la "
+#~ "transliteración"
 
-#. TODO: Set related action to match AM_SCAN_FILES.
-#: ../src/scan_dialog.c:1811
-msgid "Scan Files"
-msgstr "Analizar archivos"
+#~ msgid ""
+#~ "With this option, when a character cannot be represented in the target "
+#~ "character set, it can be approximated through one or several similarly "
+#~ "looking characters."
+#~ msgstr ""
+#~ "Con esta opción, cuando un carácter no pueda representarse en el conjunto "
+#~ "de caracteres destino, puede aproximarse a través de uno o varios "
+#~ "caracteres de apariencia similar."
 
-#. Option Menu
-#: ../src/scan_dialog.c:1839
-msgid "Scanner:"
-msgstr "Analizador:"
+#~ msgid "Tag Settings"
+#~ msgstr "Configuración de etiquetas"
 
-#: ../src/scan_dialog.c:1860
-msgid "Select the type of scanner to use"
-msgstr "Seleccionar el tipo de analizador que usar"
+#~ msgid "Tag Options"
+#~ msgstr "Opciones de etiquetas"
 
-#: ../src/scan_dialog.c:1869
-msgid "Scanner Preferences"
-msgstr "Preferencias del analizador"
+#~ msgid "Auto completion of date if not complete"
+#~ msgstr "Autocompletado de fecha si no está completa"
 
-#: ../src/scan_dialog.c:1878
-msgid "Show / Hide Masks Editor"
-msgstr "Mostrar u ocultar editor de máscaras"
+#~ msgid ""
+#~ "Try to complete the year field if you enter only the last numerals of the "
+#~ "date (for instance, if the current year is 2005: 5 => 2005, 4 => 2004, 6 "
+#~ "=> 1996, 95 => 1995…)."
+#~ msgstr ""
+#~ "Intentar completar el campo de año si se introducen sólo los últimos "
+#~ "numerales de la fecha (por ejemplo, si el año actual es 2005: 5 => 2005, "
+#~ "4 => 2004, 6 => 1996, 95 => 1995…)."
 
-#: ../src/scan_dialog.c:1888
-msgid "Show / Hide Legend"
-msgstr "Mostrar u ocultar leyenda"
+#~ msgid "Write the track field with the following number of digits:"
+#~ msgstr "Escribir el campo de pista con el siguiente número de dígitos:"
 
-#: ../src/scan_dialog.c:1918
-msgid ""
-"Select or type in a mask using codes (see Legend) to parse filename and "
-"path. Used to fill in tag fields"
-msgstr ""
-"Seleccionar o introducir una máscara usando códigos (consulte la leyenda) "
-"para analizar el nombre de archivo y la ruta. Se usa para rellenar campos de "
-"etiquetas."
+#~ msgid ""
+#~ "If activated, the track field is written using the number '0' as padding "
+#~ "to obtain a number with 'n' digits (for example, with two digits: '05', "
+#~ "'09', '10'…). Else it keeps the 'raw' track value."
+#~ msgstr ""
+#~ "Si está activada, el campo de pista se escribirá usando el número «0» "
+#~ "como relleno para obtener un número con «n» dígitos (por ejemplo, con dos "
+#~ "dígitos: «05», «09», «10»…). De lo contrario, guarda el valor «bruto» de "
+#~ "la pista."
 
-#. Preview label
-#: ../src/scan_dialog.c:1942
-msgid "Fill tag preview"
-msgstr "Rellenar vista previa de la etiqueta"
+#~ msgid "Write the disc field with the following number of digits:"
+#~ msgstr "Escribir el campo de disco con el siguiente número de dígitos:"
 
-#: ../src/scan_dialog.c:1972
-msgid "Prefix mask with current path"
-msgstr "Máscara del prefijo con la ruta actual"
+#~ msgid ""
+#~ "Tag field focus when switching files in list with shortcuts Page Up/Page "
+#~ "Down:"
+#~ msgstr ""
+#~ "Enfocar el campo de la etiqueta al cambiar de archivo en la lista con las "
+#~ "teclas de atajo AvPág/RePág:"
 
-#: ../src/scan_dialog.c:1986
-msgid ""
-"Select or type in a mask using codes (see Legend) to parse tag fields. Used "
-"to rename the file.\n"
-"Use / to make directories. If the first character is /, it's a absolute "
-"path, otherwise is relative to the old path."
-msgstr ""
-"Seleccione o introduzca una máscara usando códigos (consulte la leyenda) "
-"para analizar campos de etiquetas. Se usa para renombrar el archivo.\n"
-"Use «/» para hacer carpetas. Si el primer carácter es «/», es una ruta "
-"absoluta, de lo contrario es relativa a la ruta anterior."
+#~ msgid "Keep focus to the same tag field"
+#~ msgstr "Mantener el foco en el mismo campo de la etiqueta"
 
-#. Preview label
-#: ../src/scan_dialog.c:2011
-msgid "Rename file preview"
-msgstr "Renombrar vista previa del archivo"
+#~ msgid "Return focus to the first tag field (i.e. 'Title' field)"
+#~ msgstr ""
+#~ "Devolver el foco al primer campo de la etiqueta (por ejemplo, el campo "
+#~ "«Título»)"
 
-#: ../src/scan_dialog.c:2030
-msgid "Select fields:"
-msgstr "Seleccionar campos:"
+#~ msgid "ID3 Tag Settings"
+#~ msgstr "Configuración de etiqueta ID3"
 
-#: ../src/scan_dialog.c:2033
-msgid ""
-"The buttons on the right represent the fields which can be processed. Select "
-"those which interest you"
-msgstr ""
-"Los botones de la derecha representan los campos que pueden analizarse. "
-"Seleccione aquellos que le interesen"
+#~ msgid "ID3 Tag Rules"
+#~ msgstr "Reglas de etiquetas ID3"
 
-#. Advice for Translators: set the first letter of filename translated
-#: ../src/scan_dialog.c:2037
-msgid "F"
-msgstr "F"
+#~ msgid ""
+#~ "As ID3v2 tags may contain other data than Title, Artist, Album, Year, "
+#~ "Track, Genre or Comment (as an attached image, lyrics…), this option "
+#~ "allows you to strip the whole tag when these seven standard data fields "
+#~ "have been set to blank."
+#~ msgstr ""
+#~ "Como las etiquetas ID3v2 pueden contener otros datos además del Título, "
+#~ "Artista, Álbum, Año, Pista, Género o Comentario (como una imagen adjunta, "
+#~ "letras…), esta opción le permite quitar la etiqueta entera cuando estos "
+#~ "siete campos de datos estándar estén en blanco."
 
-#: ../src/scan_dialog.c:2039
-msgid "Process filename field"
-msgstr "Procesar campo del nombre de archivo"
+#~ msgid ""
+#~ "If activated, an old ID3v2 tag version (as ID3v2.2) will be updated to "
+#~ "the ID3v2.3 version."
+#~ msgstr ""
+#~ "Si está activada, una versión de etiqueta ID3v2 antigua (como ID3v2.2) se "
+#~ "actualizará a la versión ID3v2.3."
 
-#. Advice for Translators: set the first letter of title translated
-#: ../src/scan_dialog.c:2041
-msgid "T"
-msgstr "T"
+#~ msgid "Use Compression"
+#~ msgstr "Usar compresión"
 
-#: ../src/scan_dialog.c:2042
-msgid "Process title field"
-msgstr "Procesar campo de título"
+#~ msgid "Write Genre in text only"
+#~ msgstr "Escribir género en solo texto"
 
-#. Advice for Translators: set the first letter of artist translated
-#: ../src/scan_dialog.c:2044
-msgid "Ar"
-msgstr "Ar"
+#~ msgid ""
+#~ "Don't use ID3v1 number references in genre tag. Enable this if you see "
+#~ "numbers as genre in your music player."
+#~ msgstr ""
+#~ "No use referencias de número ID3v1 en la etiqueta de género. Active esto "
+#~ "si ve números como género en su reproductor de sonido."
 
-#: ../src/scan_dialog.c:2045
-msgid "Process file artist field"
-msgstr "Procesar campo de artista de archivo"
+#~ msgid ""
+#~ "If activated, an ID3v2.4 tag will be added or updated at the beginning of "
+#~ "the MP3 files. Else it will be stripped."
+#~ msgstr ""
+#~ "Si está activada, se añadirá o actualizará una etiqueta ID3v2.4 al "
+#~ "principio de los archivos MP3. De otra manera, se eliminará."
 
-#. Advice for Translators: set the first letter of album artist translated
-#: ../src/scan_dialog.c:2047
-msgid "AA"
-msgstr "AA"
+#~ msgid "Charset:"
+#~ msgstr "Conjunto de caracteres:"
 
-#: ../src/scan_dialog.c:2048
-msgid "Process album artist field"
-msgstr "Procesar campo de artista del álbum"
+#~ msgid "Unicode type to use"
+#~ msgstr "Tipo Unicode que usar"
 
-#. Advice for Translators: set the first letter of album translated
-#: ../src/scan_dialog.c:2050
-msgid "Al"
-msgstr "Al"
+#~ msgid "Character set used to write the tag data in the file."
+#~ msgstr ""
+#~ "Conjunto de caracteres usado para escribir datos de la etiqueta en el "
+#~ "archivo."
 
-#: ../src/scan_dialog.c:2051
-msgid "Process album field"
-msgstr "Procesar campo de álbum"
+#~ msgid "Additional settings for iconv():"
+#~ msgstr "Configuración adicional para iconv():"
 
-#. Advice for Translators: set the first letter of genre translated
-#: ../src/scan_dialog.c:2053
-msgid "G"
-msgstr "G"
+#~ msgid "No"
+#~ msgstr "No"
 
-#: ../src/scan_dialog.c:2054
-msgid "Process genre field"
-msgstr "Procesar campo de género"
+#~ msgid ""
+#~ "With this option, when a character cannot be represented in the target "
+#~ "character set, it isn't changed. But note that an error message will be "
+#~ "displayed for information."
+#~ msgstr ""
+#~ "Con esta opción, cuando un carácter no pueda representarse en el conjunto "
+#~ "de caracteres destino, no se cambia. Pero, tenga en cuenta que un mensaje "
+#~ "de error se mostrará como información."
 
-#. Advice for Translators: set the first letter of comment translated
-#: ../src/scan_dialog.c:2056
-msgid "Cm"
-msgstr "Cm"
+#~ msgid "//TRANSLIT"
+#~ msgstr "//TRANSLIT"
 
-#: ../src/scan_dialog.c:2057
-msgid "Process comment field"
-msgstr "Procesar campo de comentario"
+#~ msgid "//IGNORE"
+#~ msgstr "//IGNORE"
 
-#. Advice for Translators: set the first letter of composer translated
-#: ../src/scan_dialog.c:2059
-msgid "Cp"
-msgstr "Cp"
+#~ msgid ""
+#~ "If activated, an ID3v1 tag will be added or updated at the end of the MP3 "
+#~ "files. Else it will be stripped."
+#~ msgstr ""
+#~ "Si está activada, una etiqueta ID3v1 se añadirá o actualizará al final de "
+#~ "los archivos MP3. De otra manera se suprimirá."
 
-#: ../src/scan_dialog.c:2060
-msgid "Process composer field"
-msgstr "Procesar campo del compositor"
+#~ msgid "Character set used to write ID3v1 tag data in the file."
+#~ msgstr ""
+#~ "Conjunto de caracteres usado para escribir datos de etiqueta ID3v1 en el "
+#~ "archivo."
 
-#. Advice for Translators: set the first letter of orig artist translated
-#: ../src/scan_dialog.c:2062
-msgid "O"
-msgstr "O"
+#~ msgid "Non-standard:"
+#~ msgstr "No estándar:"
 
-#: ../src/scan_dialog.c:2063
-msgid "Process original artist field"
-msgstr "Procesar campo de artista original"
+#~ msgid ""
+#~ "This character set will be used when reading the tag data, to convert "
+#~ "each string found in an ISO-8859-1 field in the tag (for ID3v2 or/and "
+#~ "ID3v1 tag).\n"
+#~ "\n"
+#~ "For example:\n"
+#~ "  - In previous versions of EasyTAG, you could save UTF-8 strings in an "
+#~ "ISO-8859-1 field. This is not correct. To convert these tags to Unicode: "
+#~ "activate this option and select UTF-8. You must also activate above the "
+#~ "option 'Try to save tags to ISO-8859-1. If it isn't possible then use "
+#~ "UNICODE (recommended)' or 'Always save tags to UNICODE character set'.\n"
+#~ "  - If Unicode was not used, Russian people can select the character set "
+#~ "'Windows-1251' to load tags written under Windows. And 'KOI8-R' to load "
+#~ "tags written under Unix systems."
+#~ msgstr ""
+#~ "Se usará este conjunto de caracteres cuando se lean los datos de la "
+#~ "etiqueta, para convertir cada cadena encontrada en un campo ISO-8859-1 en "
+#~ "la etiqueta (para etiquetas ID3v2 y/o ID3v1).\n"
+#~ "\n"
+#~ "Por ejemplo:\n"
+#~ "  - En versiones anteriores de EasyTAG, podía guardar cadenas UTF-8 en un "
+#~ "campo ISO-8859-1. Esto no es correcto. Para convertir estas etiquetas a "
+#~ "Unicode: active esta opción y seleccione UTF-8. Debe además activar "
+#~ "arriba la opción «Intentar guardar etiquetas en ISO-8859-1». Si no es "
+#~ "posible entonces use UNICODE (recomendado)» o «Siempre guardar etiquetas "
+#~ "en el conjunto de caracteres UNICODE».\n"
+#~ "  - Si no se usó unicode, la gente de Rusia puede seleccionar el conjunto "
+#~ "de caracteres «Windows-1251» para cargar etiquetas escritas bajo Windows. "
+#~ "Y «KOI8-R» para cargar etiquetas escritas bajo sistemas Unix."
+
+#~ msgid "Character set used to read tag data in the file."
+#~ msgstr ""
+#~ "Conjunto de caracteres usado para leer datos de la etiqueta en el archivo."
 
-#. Advice for Translators: set the first letter of copyright translated
-#: ../src/scan_dialog.c:2065
-msgid "Cr"
-msgstr "Cr"
+#~ msgid "Convert underscore character '_' and string '%20' to space ' '"
+#~ msgstr "Convertir caracteres de subrayado «_» y cadena «%20» a espacio « »"
 
-#: ../src/scan_dialog.c:2066
-msgid "Process copyright field"
-msgstr "Procesar campo de copyright"
+#~ msgid ""
+#~ "If activated, this conversion will be used when applying a mask from the "
+#~ "scanner for tags."
+#~ msgstr ""
+#~ "Si está activada, esta conversión se usará cuando se aplique una máscara "
+#~ "desde el analizador de etiquetas."
 
-#. Advice for Translators: set the first letter of URL translated
-#: ../src/scan_dialog.c:2068
-msgid "U"
-msgstr "U"
+#~ msgid "Rename File Scanner - Character Conversion"
+#~ msgstr "Renombrar analizador de archivos: conversión de caracteres"
 
-#: ../src/scan_dialog.c:2069
-msgid "Process URL field"
-msgstr "Procesar campo de URL"
+#~ msgid ""
+#~ "If activated, this conversion will be used when applying a mask from the "
+#~ "scanner for filenames."
+#~ msgstr ""
+#~ "Si esta activada, la conversión se usará cuando se aplique una máscara "
+#~ "desde el analizador de nombres de archivo."
 
-#. Advice for Translators: set the first letter of encoder name translated
-#: ../src/scan_dialog.c:2071
-msgid "E"
-msgstr "E"
+#~ msgid "Process Fields Scanner - Character Conversion"
+#~ msgstr "Analizador de campos: conversión de caracteres"
 
-#: ../src/scan_dialog.c:2072
-msgid "Process encoder name field"
-msgstr "Procesar campo de nombre de codificador"
+#~ msgid ""
+#~ "Don't convert first letter of words like prepositions, articles and words "
+#~ "like feat., when using the scanner 'First letter uppercase of each "
+#~ "word' (for example, you will obtain 'Text in an Entry' instead of 'Text "
+#~ "In An Entry')."
+#~ msgstr ""
+#~ "No convertir la primera letra de las palabras como preposiciones, "
+#~ "artículos y palabras como feat., cuando use el analizador «Primera letra "
+#~ "de cada palabra mayúscula» (por ejemplo obtendrá «Texto en una Entrada» "
+#~ "en lugar de «Texto En Una Entrada»)."
 
-#: ../src/scan_dialog.c:2116
-msgid "Invert selection"
-msgstr "Invertir la selección"
+#~ msgid ""
+#~ "Activate this option to open automatically the scanner window when "
+#~ "EasyTAG starts."
+#~ msgstr ""
+#~ "Active esta opción para abrir automáticamente la ventana del analizador "
+#~ "cuando EasyTAG empiece."
 
-#: ../src/scan_dialog.c:2123
-msgid "Select/Unselect all"
-msgstr "Seleccionar/deseleccionar todo"
+#~ msgid ""
+#~ "If activated, the scanner will replace existing text in fields by the new "
+#~ "one. If deactivated, only blank fields of the tag will be filled."
+#~ msgstr ""
+#~ "Si está activada, el analizador reemplazará el texto existente en los "
+#~ "campos por el nuevo. Si está desactivada, sólo se completarán los campos "
+#~ "en blanco de la etiqueta."
 
-#: ../src/scan_dialog.c:2138
-msgid "Convert:"
-msgstr "Convertir:"
+#~ msgid ""
+#~ "Activate this option if you want to put the following string into the "
+#~ "comment field when using the 'Fill Tag' scanner."
+#~ msgstr ""
+#~ "Active esta opción si quiere poner la siguiente cadena en el campo de "
+#~ "comentario al usar el analizador «Rellenar etiqueta»."
 
-#: ../src/scan_dialog.c:2140
-msgid "to: "
-msgstr "a:"
+#~ msgid ""
+#~ "Calculates the CRC-32 value of the file and writes it into the comment "
+#~ "field when using the 'Fill Tag' scanner."
+#~ msgstr ""
+#~ "Calcula el valor CRC-32 del archivo y lo escribe en en el campo de "
+#~ "comentario cuando usa el analizador «Rellenar etiqueta»."
 
-#: ../src/scan_dialog.c:2147
-msgid "Do not convert"
-msgstr "No convertir"
+#~ msgid "Name:"
+#~ msgstr "Nombre:"
 
-#: ../src/scan_dialog.c:2177
-msgid ""
-"The underscore character or the string '%20' are replaced by one space. "
-"Example, before: 'Text%20In%20An_Entry', after: 'Text In An Entry'."
-msgstr ""
-"El carácter de subrayado o la cadena «%20» se reemplazan por un espacio. "
-"Ejemplo, antes: «Texto%20En%20Una_Entrada», después: «Texto En Una Entrada»."
+#~ msgid "Local CDDB"
+#~ msgstr "CDDB local"
 
-#: ../src/scan_dialog.c:2180
-msgid ""
-"The space character is replaced by one underscore character. Example, "
-"before: 'Text In An Entry', after: 'Text_In_An_Entry'."
-msgstr ""
-"El carácter de espacio se reemplaza por un carácter de subrayado. Ejemplo, "
-"antes: «Texto En Una Entrada», después: «Texto_En_Una_Entrada»."
+#~ msgid "Path:"
+#~ msgstr "Ruta:"
 
-#: ../src/scan_dialog.c:2183
-msgid ""
-"Replace a string by another one. Note that the search is case sensitive."
-msgstr ""
-"Reemplazar una cadena por otra. Tenga en cuneta que la búsqueda es sensible "
-"a capitalización."
+#~ msgid ""
+#~ "Specify the directory where the local CD database is located. The local "
+#~ "CD database contains the eleven following directories 'blues', "
+#~ "'classical', 'country', 'data', 'folk', 'jazz', 'newage', 'reggae', "
+#~ "'rock', 'soundtrack' and 'misc'."
+#~ msgstr ""
+#~ "Especificar la carpeta donde la base de datos de CD local está ubicada. "
+#~ "La base de datos de CD local contiene las once carpetas siguientes "
+#~ "«blues», «clásico», «country», «datos», «folk», «jazz», «new age», "
+#~ "«reggae», «rock», «banda sonora» y «varios»."
 
-#: ../src/scan_dialog.c:2190
-msgid "Capitalize all"
-msgstr "Todo en mayúscula"
+#~ msgid "Proxy Settings"
+#~ msgstr "Configuración del proxy"
 
-#: ../src/scan_dialog.c:2192
-msgid "Lowercase all"
-msgstr "Todo en minúscula"
+#~ msgid "Set active the settings of the proxy server."
+#~ msgstr "Activar la configuración del servidor proxy."
 
-#: ../src/scan_dialog.c:2194
-msgid "Capitalize first letter"
-msgstr "Primera letra en mayúscula"
+#~ msgid "Name of the proxy server."
+#~ msgstr "Nombre del servidor proxy."
 
-#: ../src/scan_dialog.c:2196
-msgid "Capitalize the first letter of each word"
-msgstr "Primera letra de cada palabra en mayúscula"
+#~ msgid "Port of the proxy server."
+#~ msgstr "Puerto del servidor proxy."
 
-#: ../src/scan_dialog.c:2197
-msgid "Detect Roman numerals"
-msgstr "Detectar números romanos"
+#~ msgid "Name of user for the the proxy server."
+#~ msgstr "Nombre de usuario para el servidor proxy."
 
-#: ../src/scan_dialog.c:2199
-msgid "Do not change capitalization"
-msgstr "No cambiar la capitalización"
+#~ msgid "Password of user for the proxy server."
+#~ msgstr "Contraseña de usuario para el servidor proxy."
 
-#: ../src/scan_dialog.c:2236
-msgid ""
-"Convert all words in all fields to upper case. Example, before: 'Text IN AN "
-"entry', after: 'TEXT IN AN ENTRY'."
-msgstr ""
-"Convertir todas las palabras en todos los campos a mayúsculas. Ejemplo, "
-"antes: «Texto EN UNA entrada», después: «TEXTO EN UNA ENTRADA»."
+#~ msgid "Track Name List"
+#~ msgstr "Lista de nombre de pista"
 
-#: ../src/scan_dialog.c:2239
-msgid ""
-"Convert all words in all fields to lower case. Example, before: 'TEXT IN an "
-"entry', after: 'text in an entry'."
-msgstr ""
-"Convertir todas las palabras en todos los campos a minúsculas. Ejemplo, "
-"antes: «TEXTO EN una entrada», después: «texto en una entrada»."
+#~ msgid ""
+#~ "If activated, when selecting a line in the list of tracks name, the "
+#~ "corresponding audio file in the main list will be also selected."
+#~ msgstr ""
+#~ "Si está activado, cuando seleccione una línea en la lista de nombre de "
+#~ "pistas, el archivo de sonido correspondiente en la lista principal se "
+#~ "seleccionará también."
 
-#: ../src/scan_dialog.c:2242
-msgid ""
-"Convert the initial of the first word in all fields to upper case. Example, "
-"before: 'text IN An ENTRY', after: 'Text in an entry'."
-msgstr ""
-"Convertir la inicial de la primera palabra en todos los campos a mayúsculas. "
-"Ejemplo, antes: «texto EN Una ENTRADA», después: «Texto en una entrada»."
+#~ msgid "Confirm exit from program"
+#~ msgstr "Confirmar la salida del programa"
 
-#: ../src/scan_dialog.c:2245
-msgid ""
-"Convert the initial of each word in all fields to upper case. Example, "
-"before: 'Text in an ENTRY', after: 'Text In An Entry'."
-msgstr ""
-"Convertir la inicial de cada palabra en todos los campos a mayúsculas. "
-"Ejemplo, antes: «Texto en una ENTRADA», después: «Texto En Una Entrada»."
+#~ msgid ""
+#~ "If activated, opens a dialog box to ask confirmation before exiting the "
+#~ "program."
+#~ msgstr ""
+#~ "Si está activada, abre una caja de diálogo para confirmar si desea salir "
+#~ "del programa."
 
-#: ../src/scan_dialog.c:2248
-msgid ""
-"Force to convert to upper case the Roman numerals. Example, before: 'ix. "
-"text in an entry', after: 'IX. Text In An Entry'."
-msgstr ""
-"Forzar a convertir a mayúsculas los números romanos. Ejemplo, antes: «ix. "
-"texto en una entrada», después: «IX. Texto En Una Entrada»."
+#~ msgid "Confirm changing directory when there are unsaved changes"
+#~ msgstr "Confirmar cambio de carpeta cuando hay cambios sin guardar"
 
-#: ../src/scan_dialog.c:2256
-msgid "Insert a space before uppercase letters"
-msgstr "Insertar un espacio antes de las letras en mayúscula"
+#~ msgid "(Example: %.*d_-_Track_name_1.mp3)"
+#~ msgstr "(Ejemplo : %.*d_-_Nombre_pista_1.mp3)"
 
-#: ../src/scan_dialog.c:2258
-msgid "Remove duplicate spaces and underscores"
-msgstr "Quitar espacios duplicados y subrayados"
+#~ msgid "(Example: disc_%.*d_of_10/Track_name_1.mp3)"
+#~ msgstr "(Ejemplo: disc_%.*d_of_10/Nombre_pista_1.mp3)"
 
-#: ../src/scan_dialog.c:2260
-msgid "Do not change word separators"
-msgstr "No cambiar los separadores de palabra"
+#~ msgid "Configuration saved"
+#~ msgstr "Configuración guardada"
 
-#: ../src/scan_dialog.c:2282
-msgid ""
-"All spaces between words are removed. Example, before: 'Text In An Entry', "
-"after: 'TextInAnEntry'."
-msgstr ""
-"Todos los espacios entre palabras se eliminan. Ejemplo, antes: «Texto En Una "
-"Entrada», después: «TextoEnUnaEntrada»."
+#~ msgid "Configuration unchanged"
+#~ msgstr "Configuración sin cambios"
 
-#: ../src/scan_dialog.c:2285
-msgid ""
-"A space is inserted before each upper case letter. Example, before: "
-"'TextInAnEntry', after: 'Text In An Entry'."
-msgstr ""
-"Se inserta un espacio antes de cada letra mayúscula. Ejemplo, antes: "
-"«TextoEnUnaEntrada», después: «Texto En Una Entrada»."
+#~ msgid "The audio file player '%s' cannot be found"
+#~ msgstr "No se puede encontrar el reproductor del archivo de sonido «%s»"
 
-#: ../src/scan_dialog.c:2288
-msgid ""
-"Duplicate spaces and underscores are removed. Example, before: "
-"'Text__In__An   Entry', after: 'Text_In_An Entry'."
-msgstr ""
-"Se han quitado los espacios duplicados y subrayados. Ejemplo, antes: "
-"«Texto__En__Una   Entrada», después: «Texto_En_Una Entrada»."
+#~ msgid "Audio Player Error"
+#~ msgstr "Error del reproductor de audio"
 
-#.
-#. * Frame to display codes legend
-#.
-#: ../src/scan_dialog.c:2295
-msgid "Legend"
-msgstr "Leyenda"
+#~ msgid "Scanner:"
+#~ msgstr "Analizador:"
 
-#: ../src/scan_dialog.c:2301
-#, c-format
-msgid "%a: artist"
-msgstr "%a: artista"
+#~ msgid "Select the type of scanner to use"
+#~ msgstr "Seleccionar el tipo de analizador que usar"
 
-#: ../src/scan_dialog.c:2304
-msgid "%z: album artist"
-msgstr "%z: artista del álbum"
+#~ msgid "Select fields:"
+#~ msgstr "Seleccionar campos:"
 
-#: ../src/scan_dialog.c:2307
-msgid "%b: album"
-msgstr "%b: álbum"
+#~ msgid ""
+#~ "The buttons on the right represent the fields which can be processed. "
+#~ "Select those which interest you"
+#~ msgstr ""
+#~ "Los botones de la derecha representan los campos que pueden analizarse. "
+#~ "Seleccione aquellos que le interesen"
 
-#: ../src/scan_dialog.c:2310
-#, c-format
-msgid "%c: comment"
-msgstr "%c: comentario"
+#~ msgid "F"
+#~ msgstr "F"
 
-#: ../src/scan_dialog.c:2313
-#, c-format
-msgid "%p: composer"
-msgstr "%p: compositor"
+#~ msgid "T"
+#~ msgstr "T"
 
-#: ../src/scan_dialog.c:2316
-msgid "%r: copyright"
-msgstr "%r: copyright"
+#~ msgid "Ar"
+#~ msgstr "Ar"
 
-#: ../src/scan_dialog.c:2319
-#, c-format
-msgid "%d: disc number"
-msgstr "%d: número de disco"
+#~ msgid "AA"
+#~ msgstr "AA"
 
-#: ../src/scan_dialog.c:2322
-#, c-format
-msgid "%e: encoded by"
-msgstr "%e: codificado por"
+#~ msgid "Process album artist field"
+#~ msgstr "Procesar campo de artista del álbum"
 
-#: ../src/scan_dialog.c:2325
-#, c-format
-msgid "%g: genre"
-msgstr "%g: género"
+#~ msgid "Al"
+#~ msgstr "Al"
 
-#: ../src/scan_dialog.c:2328
-#, c-format
-msgid "%i: ignored"
-msgstr "%i: ignorado"
+#~ msgid "G"
+#~ msgstr "G"
 
-#: ../src/scan_dialog.c:2331
-msgid "%l: number of tracks"
-msgstr "%l: número de pistas"
+#~ msgid "Cm"
+#~ msgstr "Cm"
 
-#: ../src/scan_dialog.c:2334
-#, c-format
-msgid "%o: orig. artist"
-msgstr "%o: artista orig."
+#~ msgid "Cp"
+#~ msgstr "Cp"
 
-#: ../src/scan_dialog.c:2337
-#, c-format
-msgid "%n: track"
-msgstr "%n: pista"
+#~ msgid "O"
+#~ msgstr "O"
 
-#: ../src/scan_dialog.c:2340
-msgid "%t: title"
-msgstr "%t: título"
+#~ msgid "Cr"
+#~ msgstr "Cr"
 
-#: ../src/scan_dialog.c:2343
-#, c-format
-msgid "%u: URL"
-msgstr "%u: URL"
+#~ msgid "U"
+#~ msgstr "U"
 
-#: ../src/scan_dialog.c:2346
-#, c-format
-msgid "%x: number of discs"
-msgstr "%x: número de discos"
+#~ msgid "E"
+#~ msgstr "E"
 
-#: ../src/scan_dialog.c:2349
-msgid "%y: year"
-msgstr "%y: año"
+#~ msgid "Select/Unselect all"
+#~ msgstr "Seleccionar/deseleccionar todo"
 
-#.
-#. * Masks Editor
-#.
-#: ../src/scan_dialog.c:2356
-msgid "Mask Editor"
-msgstr "Editor de máscara"
+#~ msgid ""
+#~ "Convert all words in all fields to upper case. Example, before: 'Text IN "
+#~ "AN entry', after: 'TEXT IN AN ENTRY'."
+#~ msgstr ""
+#~ "Convertir todas las palabras en todos los campos a mayúsculas. Ejemplo, "
+#~ "antes: «Texto EN UNA entrada», después: «TEXTO EN UNA ENTRADA»."
 
-#: ../src/scan_dialog.c:2410
-msgid "Create New Mask"
-msgstr "Crear nueva máscara"
+#~ msgid ""
+#~ "Convert all words in all fields to lower case. Example, before: 'TEXT IN "
+#~ "an entry', after: 'text in an entry'."
+#~ msgstr ""
+#~ "Convertir todas las palabras en todos los campos a minúsculas. Ejemplo, "
+#~ "antes: «TEXTO EN una entrada», después: «texto en una entrada»."
 
-#: ../src/scan_dialog.c:2420
-msgid "Move Up this Mask"
-msgstr "Subir esta máscara"
+#~ msgid ""
+#~ "Convert the initial of the first word in all fields to upper case. "
+#~ "Example, before: 'text IN An ENTRY', after: 'Text in an entry'."
+#~ msgstr ""
+#~ "Convertir la inicial de la primera palabra en todos los campos a "
+#~ "mayúsculas. Ejemplo, antes: «texto EN Una ENTRADA», después: «Texto en "
+#~ "una entrada»."
 
-#: ../src/scan_dialog.c:2430
-msgid "Move Down this Mask"
-msgstr "Bajar esta máscara"
+#~ msgid ""
+#~ "Convert the initial of each word in all fields to upper case. Example, "
+#~ "before: 'Text in an ENTRY', after: 'Text In An Entry'."
+#~ msgstr ""
+#~ "Convertir la inicial de cada palabra en todos los campos a mayúsculas. "
+#~ "Ejemplo, antes: «Texto en una ENTRADA», después: «Texto En Una Entrada»."
 
-#: ../src/scan_dialog.c:2440
-msgid "Duplicate Mask"
-msgstr "Duplicar máscara"
+#~ msgid ""
+#~ "Force to convert to upper case the Roman numerals. Example, before: 'ix. "
+#~ "text in an entry', after: 'IX. Text In An Entry'."
+#~ msgstr ""
+#~ "Forzar a convertir a mayúsculas los números romanos. Ejemplo, antes: «ix. "
+#~ "texto en una entrada», después: «IX. Texto En Una Entrada»."
 
-#: ../src/scan_dialog.c:2450
-msgid "Add Default Masks"
-msgstr "Añadir máscaras predeterminadas"
+#~ msgid ""
+#~ "All spaces between words are removed. Example, before: 'Text In An "
+#~ "Entry', after: 'TextInAnEntry'."
+#~ msgstr ""
+#~ "Todos los espacios entre palabras se eliminan. Ejemplo, antes: «Texto En "
+#~ "Una Entrada», después: «TextoEnUnaEntrada»."
 
-#: ../src/scan_dialog.c:2460
-msgid "Remove Mask"
-msgstr "Eliminar máscara"
+#~ msgid ""
+#~ "A space is inserted before each upper case letter. Example, before: "
+#~ "'TextInAnEntry', after: 'Text In An Entry'."
+#~ msgstr ""
+#~ "Se inserta un espacio antes de cada letra mayúscula. Ejemplo, antes: "
+#~ "«TextoEnUnaEntrada», después: «Texto En Una Entrada»."
 
-#: ../src/scan_dialog.c:2470
-msgid "Save Masks"
-msgstr "Guardar máscaras"
+#~ msgid ""
+#~ "Duplicate spaces and underscores are removed. Example, before: "
+#~ "'Text__In__An   Entry', after: 'Text_In_An Entry'."
+#~ msgstr ""
+#~ "Se han quitado los espacios duplicados y subrayados. Ejemplo, antes: "
+#~ "«Texto__En__Una   Entrada», después: «Texto_En_Una Entrada»."
 
-#: ../src/scan_dialog.c:3050
-msgid "New_mask"
-msgstr "Máscara_nueva"
+#~ msgid "Move Up this Mask"
+#~ msgstr "Subir esta máscara"
 
-#: ../src/scan_dialog.c:3089
-msgid "Copy: No row selected"
-msgstr "Copiar: ninguna fila seleccionada"
+#~ msgid "Move Down this Mask"
+#~ msgstr "Bajar esta máscara"
 
-#: ../src/scan_dialog.c:3182
-msgid "Remove: No row selected"
-msgstr "Quitar: ninguna fila seleccionada"
+#~ msgid "Duplicate Mask"
+#~ msgstr "Duplicar máscara"
 
-#: ../src/scan_dialog.c:3229
-msgid "Move Up: No row selected"
-msgstr "Subir: ninguna fila seleccionada"
+#~ msgid "Remove Mask"
+#~ msgstr "Eliminar máscara"
 
-#: ../src/scan_dialog.c:3273
-msgid "Move Down: No row selected"
-msgstr "Bajar: ninguna fila seleccionada"
+#~ msgid "Copy: No row selected"
+#~ msgstr "Copiar: ninguna fila seleccionada"
 
-#: ../src/setting.c:924
-#, c-format
-msgid "Error: Cannot write configuration file: %s (%s)"
-msgstr "Error: no se puede escribir el archivo de configuración: %s (%s)"
+#~ msgid "Remove: No row selected"
+#~ msgstr "Quitar: ninguna fila seleccionada"
 
-#: ../src/setting.c:944 ../src/setting.c:961 ../src/setting.c:981
-#, c-format
-msgid "Error while writing configuration file: %s"
-msgstr "Error al escribir el archivo de configuración: %s"
+#~ msgid "Move Up: No row selected"
+#~ msgstr "Subir: ninguna fila seleccionada"
 
-#: ../src/setting.c:1100
-#, c-format
-msgid "Cannot open configuration file '%s' (%s)"
-msgstr "No se puede abrir el archivo de configuración «%s» (%s)"
+#~ msgid "Move Down: No row selected"
+#~ msgstr "Bajar: ninguna fila seleccionada"
 
-#: ../src/setting.c:1102
-msgid "Loading default configuration"
-msgstr "Cargando configuración predeterminada"
+#~ msgid "Error: Cannot write configuration file: %s (%s)"
+#~ msgstr "Error: no se puede escribir el archivo de configuración: %s (%s)"
 
-#: ../src/setting.c:1143
-#, c-format
-msgid "Cannot create or open file '%s' (%s)"
-msgstr "No se puede crear o abrir el archivo «%s» (%s)"
+#~ msgid "Error while writing configuration file: %s"
+#~ msgstr "Error al escribir el archivo de configuración: %s"
 
-#: ../src/setting.c:1203
-#, c-format
-msgid "Error: Cannot write list to file: %s (%s)"
-msgstr "Errot: no se puede escribir la lista al archivo: %s (%s)"
+#~ msgid "Cannot open configuration file '%s' (%s)"
+#~ msgstr "No se puede abrir el archivo de configuración «%s» (%s)"
 
-#: ../src/setting.c:1221
-#, c-format
-msgid "Error while writing list file: %s"
-msgstr "Error al escribir el archivo de lista: %s"
+#~ msgid "Loading default configuration"
+#~ msgstr "Cargando configuración predeterminada"
 
-#. Fall back to defaults
-#: ../src/setting.c:1301
-msgid "Loading default 'Fill Tag' masks…"
-msgstr "Cargando máscaras predeterminadas de «Rellenar etiqueta»…"
+#~ msgid "Cannot create or open file '%s' (%s)"
+#~ msgstr "No se puede crear o abrir el archivo «%s» (%s)"
 
-#. Fall back to defaults
-#: ../src/setting.c:1331
-msgid "Loading default 'Rename File' masks…"
-msgstr "Cargando máscaras predeterminadas de «Renombrar archivo»…"
+#~ msgid "Error while writing list file: %s"
+#~ msgstr "Error al escribir el archivo de lista: %s"
 
-#. Fall back to defaults
-#: ../src/setting.c:1357
-msgid "Loading default 'Rename Directory' masks…"
-msgstr "Cargando máscaras predeterminadas de «Renombrar carpeta»…"
+#~ msgid "Loading default 'Rename Directory' masks…"
+#~ msgstr "Cargando máscaras predeterminadas de «Renombrar carpeta»…"
 
-#: ../src/setting.c:1568
-#, c-format
-msgid "Migrating configuration from directory '%s' to '%s'"
-msgstr "Migrando configuración de la carpeta «%s» a «%s»"
+#~ msgid "Migrating configuration from directory '%s' to '%s'"
+#~ msgstr "Migrando configuración de la carpeta «%s» a «%s»"
 
-#: ../src/setting.c:1592
-#, c-format
-msgid "Failed to migrate configuration file '%s'"
-msgstr "Falló al migrar el archivo de configuración «%s»"
+#~ msgid "Failed to migrate configuration file '%s'"
+#~ msgstr "Falló al migrar el archivo de configuración «%s»"
 
-#: ../src/setting.c:1629
-#, c-format
-msgid "Error: Cannot create directory '%s' (%s)"
-msgstr "Error: no se puede crear la carpeta «%s» (%s)"
+#~ msgid "Error: Cannot create directory '%s' (%s)"
+#~ msgstr "Error: no se puede crear la carpeta «%s» (%s)"
 
 #~ msgid "File contains no audio track: '%s'"
 #~ msgstr "El archivo no contiene ninguna pista de sonido: «%s»"
@@ -5183,9 +6719,6 @@ msgstr "Error: no se puede crear la carpeta «%s» (%s)"
 #~ msgid "Do you want to save anyway, overwriting the file?"
 #~ msgstr "¿Quiere guardar de todos modos, sobrescribiendo el archivo?"
 
-#~ msgid "Save"
-#~ msgstr "Guardar"
-
 #~ msgid "Image file cannot be saved: %s"
 #~ msgstr "No se puede guardar el archivo de imagen: %s"
 
diff --git a/src/about.c b/src/about.c
index 360beca..0d97211 100644
--- a/src/about.c
+++ b/src/about.c
@@ -1,5 +1,5 @@
 /* EasyTAG - tag editor for audio files
- * Copyright (C) 2014  David King <amigadave at amigadave.com>
+ * Copyright (C) 2014,2015  David King <amigadave at amigadave.com>
  * Copyright (C) 2000-2003  Jerome Couderc <easytag at gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -79,7 +79,7 @@ et_show_about_dialog (GtkWindow *parent)
         NULL
     };
 
-    static const gchar copyright[] = "Copyright © 2012–2014 David King\n"
+    static const gchar copyright[] = "Copyright © 2012–2015 David King\n"
                                      "Copyright © 2009–2012 Kip Warner\n"
                                      "Copyright © 2000–2008 Jérôme Couderc";
 
diff --git a/src/application.c b/src/application.c
index a970cc4..05bf14c 100644
--- a/src/application.c
+++ b/src/application.c
@@ -447,57 +447,63 @@ et_application_open (GApplication *self,
 
     type = g_file_info_get_file_type (info);
 
-    switch (type)
+    if (type == G_FILE_TYPE_DIRECTORY)
     {
-        case G_FILE_TYPE_DIRECTORY:
+        if (activated)
+        {
+            et_application_window_select_dir (windows->data, path);
+            g_free (path);
+        }
+        else
+        {
+            priv->init_directory = path;
+        }
+
+        g_free (path_utf8);
+        g_object_unref (info);
+    }
+    else if (type == G_FILE_TYPE_REGULAR)
+    {
+        /* When given a file, load the parent directory. */
+        parent = g_file_get_parent (arg);
+
+        if (parent)
+        {
+            g_free (path_utf8);
+            g_free (path);
+
             if (activated)
             {
-                et_application_window_select_dir (windows->data, path);
-                g_free (path);
+                gchar *parent_path;
+
+                parent_path = g_file_get_path (arg);
+                et_application_window_select_dir (windows->data,
+                                                  parent_path);
+
+                g_free (parent_path);
             }
             else
             {
-                priv->init_directory = path;
+                priv->init_directory = g_file_get_path (parent);
             }
 
-            g_free (path_utf8);
+            g_object_unref (parent);
             g_object_unref (info);
-            break;
-        case G_FILE_TYPE_REGULAR:
-            /* When given a file, load the parent directory. */
-            parent = g_file_get_parent (arg);
-
-            if (parent)
-            {
-                g_free (path_utf8);
-                g_free (path);
-
-                if (activated)
-                {
-                    gchar *parent_path;
-
-                    parent_path = g_file_get_path (arg);
-                    et_application_window_select_dir (windows->data,
-                                                      parent_path);
-
-                    g_free (parent_path);
-                }
-                else
-                {
-                    priv->init_directory = g_file_get_path (parent);
-                }
-
-                g_object_unref (parent);
-                g_object_unref (info);
-                break;
-            }
-            /* Fall through on error. */
-        default:
+        }
+        else
+        {
             Log_Print (LOG_WARNING, _("Cannot open path ‘%s’"), path_utf8);
             g_free (path);
             g_free (path_utf8);
             return;
-            break;
+        }
+    }
+    else
+    {
+        Log_Print (LOG_WARNING, _("Cannot open path ‘%s’"), path_utf8);
+        g_free (path);
+        g_free (path_utf8);
+        return;
     }
 
     if (!activated)
@@ -622,7 +628,7 @@ et_application_class_init (EtApplicationClass *klass)
  * Returns: a new #EtApplication
  */
 EtApplication *
-et_application_new ()
+et_application_new (void)
 {
     return g_object_new (ET_TYPE_APPLICATION, "application-id",
                          "org.gnome.EasyTAG", "flags",
diff --git a/src/application_window.c b/src/application_window.c
index db1318f..7a84885 100644
--- a/src/application_window.c
+++ b/src/application_window.c
@@ -553,6 +553,9 @@ on_delete (GSimpleAction *action,
                 et_application_window_file_area_set_sensitive (self, TRUE);
 
                 return; /*We stop all actions. */
+            default:
+                g_assert_not_reached ();
+                break;
         }
     }
 
@@ -735,11 +738,6 @@ on_select_all (GSimpleAction *action,
                                                  focused))
     /* Assume that other widgets should select all in the file view. */
     {
-        EtApplicationWindowPrivate *priv;
-        EtApplicationWindow *self = ET_APPLICATION_WINDOW (user_data);
-
-        priv = et_application_window_get_instance_private (self);
-
         /* Save the current displayed data */
         ET_Save_File_Data_From_UI (ETCore->ETFileDisplayed);
 
@@ -877,7 +875,7 @@ on_remove_tags (GSimpleAction *action,
     {
         etfile = et_browser_get_et_file_from_path (ET_BROWSER (priv->browser),
                                                    l->data);
-        FileTag = ET_File_Tag_Item_New ();
+        FileTag = et_file_tag_new ();
         ET_Manage_Changes_Of_File_Data (etfile, NULL, FileTag);
 
         fraction = (++progress_bar_index) / (double) selectcount;
@@ -2342,7 +2340,7 @@ et_application_window_update_actions (EtApplicationWindow *self)
         set_action_state (self, "save-force", TRUE);
 
         /* Enable undo command if there are data into main undo list (history list) */
-        if (ET_History_File_List_Has_Undo_Data ())
+        if (et_history_list_has_undo (ETCore->ETHistoryFileList))
         {
             set_action_state (self, "undo-last-changes", TRUE);
         }
@@ -2352,7 +2350,7 @@ et_application_window_update_actions (EtApplicationWindow *self)
         }
 
         /* Enable redo commands if there are data into main redo list (history list) */
-        if (ET_History_File_List_Has_Redo_Data ())
+        if (et_history_list_has_redo (ETCore->ETHistoryFileList))
         {
             set_action_state (self, "redo-last-changes", TRUE);
         }
@@ -2628,18 +2626,6 @@ et_application_window_browser_refresh_file_in_list (EtApplicationWindow *self,
     et_browser_refresh_file_in_list (ET_BROWSER (priv->browser), file);
 }
 
-void
-et_application_window_browser_refresh_sort (EtApplicationWindow *self)
-{
-    EtApplicationWindowPrivate *priv;
-
-    g_return_if_fail (ET_APPLICATION_WINDOW (self));
-
-    priv = et_application_window_get_instance_private (self);
-
-    et_browser_refresh_sort (ET_BROWSER (priv->browser));
-}
-
 static void
 quit_confirmed (EtApplicationWindow *self)
 {
@@ -2676,7 +2662,7 @@ et_application_window_quit (EtApplicationWindow *self)
 
     /* Check if all files have been saved before exit */
     if (g_settings_get_boolean (MainSettings, "confirm-when-unsaved-files")
-        && ET_Check_If_All_Files_Are_Saved () != TRUE)
+        && et_file_list_check_all_saved (ETCore->ETFileList) != TRUE)
     {
         /* Some files haven't been saved */
         msgbox = gtk_message_dialog_new (GTK_WINDOW (self),
diff --git a/src/application_window.h b/src/application_window.h
index c85758a..2a3a623 100644
--- a/src/application_window.h
+++ b/src/application_window.h
@@ -87,7 +87,6 @@ ET_File * et_application_window_browser_select_file_by_dlm (EtApplicationWindow
 void et_application_window_browser_unselect_all (EtApplicationWindow *self);
 void et_application_window_browser_refresh_list (EtApplicationWindow *self);
 void et_application_window_browser_refresh_file_in_list (EtApplicationWindow *self, const ET_File *file);
-void et_application_window_browser_refresh_sort (EtApplicationWindow *self);
 void et_application_window_scan_dialog_update_previews (EtApplicationWindow *self);
 void et_application_window_progress_set_fraction (EtApplicationWindow *self, gdouble fraction);
 void et_application_window_progress_set_text (EtApplicationWindow *self, const gchar *text);
diff --git a/src/browser.c b/src/browser.c
index e359395..a088230 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -700,6 +700,9 @@ Browser_Tree_Key_Press (GtkWidget *tree, GdkEvent *event, gpointer data)
                 gtk_tree_path_free(treePath);
                 return TRUE;
                 break;
+            /* Ignore all other keypresses. */
+            default:
+                break;
         }
         gtk_tree_path_free(treePath);
     }
@@ -732,6 +735,9 @@ Browser_List_Key_Press (GtkWidget *list, GdkEvent *event, gpointer data)
                     g_action_group_activate_action (G_ACTION_GROUP (MainWindow),
                                                     "delete", NULL);
                     return TRUE;
+                /* Ignore all other keypresses. */
+                default:
+                    break;
             }
         }
     }
@@ -846,7 +852,7 @@ Browser_Tree_Node_Selected (EtBrowser *self, GtkTreeSelection *selection)
 
     /* Check if all files have been saved before changing the directory */
     if (g_settings_get_boolean (MainSettings, "confirm-when-unsaved-files")
-        && ET_Check_If_All_Files_Are_Saved () != TRUE)
+        && et_file_list_check_all_saved (ETCore->ETFileList) != TRUE)
     {
         GtkWidget *msgdialog;
         gint response;
@@ -2210,6 +2216,9 @@ Browser_List_Sort_Func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b,
         case ET_SORT_MODE_DESCENDING_FILE_SAMPLERATE:
             result = ET_Comp_Func_Sort_File_By_Descending_File_Samplerate(ETFile1, ETFile2);
             break;
+        default:
+            g_assert_not_reached ();
+            break;
     }
 
     return result;
@@ -2608,7 +2617,7 @@ Browser_Album_List_Load_Files (EtBrowser *self,
             gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(priv->album_list), path, NULL, FALSE, 0, 0);
             gtk_tree_path_free(path);
 
-            ET_Set_Displayed_File_List(etfilelist);
+            et_displayed_file_list_set (etfilelist);
             et_browser_load_file_list (self, etfilelist, etfile_to_select);
 
             // Now that we've found the album, no need to continue searching
@@ -2627,8 +2636,8 @@ Browser_Album_List_Load_Files (EtBrowser *self,
                            -1);
         ET_Save_File_Data_From_UI(ETCore->ETFileDisplayed);
 
-        // Set the attached list as "Displayed List"
-        ET_Set_Displayed_File_List(etfilelist);
+        /* Set the attached list as "Displayed List". */
+        et_displayed_file_list_set (etfilelist);
         et_browser_load_file_list (self, etfilelist, NULL);
 
         /* Displays the first item. */
@@ -2659,8 +2668,8 @@ Browser_Album_List_Row_Selected (EtBrowser *self, GtkTreeSelection *selection)
     // Save the current displayed data
     ET_Save_File_Data_From_UI(ETCore->ETFileDisplayed);
 
-    // Set the attached list as "Displayed List"
-    ET_Set_Displayed_File_List(etfilelist);
+    /* Set the attached list as "Displayed List". */
+    et_displayed_file_list_set (etfilelist);
 
     et_browser_load_file_list (self, etfilelist, NULL);
 
@@ -2732,7 +2741,7 @@ et_browser_set_display_mode (EtBrowser *self,
     {
         case ET_BROWSER_MODE_FILE:
             /* Set the whole list as "Displayed list". */
-            ET_Set_Displayed_File_List (ETCore->ETFileList);
+            et_displayed_file_list_set (ETCore->ETFileList);
 
             /* Display Tree Browser. */
             gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 0);
@@ -2755,7 +2764,12 @@ et_browser_set_display_mode (EtBrowser *self,
         case ET_BROWSER_MODE_ARTIST:
             /* Display Artist + Album lists. */
             gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 1);
-            ET_Create_Artist_Album_File_List ();
+            if (ETCore->ETArtistAlbumFileList)
+            {
+                et_artist_album_file_list_free (ETCore->ETArtistAlbumFileList);
+            }
+
+            ETCore->ETArtistAlbumFileList = et_artist_album_list_new_from_file_list (ETCore->ETFileList);
             Browser_Artist_List_Load_Files (self, etfile);
             break;
         default:
@@ -3541,7 +3555,7 @@ expand_cb (EtBrowser *self, GtkTreeIter *iter, GtkTreePath *gtreePath, GtkTreeVi
         {
             const gchar *name;
             GFile *child;
-            gboolean isdir = FALSE;
+            gboolean isdir;
 
             name = g_file_info_get_name (childinfo);
             child = g_file_get_child (dir, name);
@@ -4521,7 +4535,8 @@ Rename_Directory (EtBrowser *self)
         return;
     }
 
-    ET_Update_Directory_Name_Into_File_List(last_path,new_path);
+    et_file_list_update_directory_name (ETCore->ETFileList, last_path,
+                                        new_path);
     Browser_Tree_Rename_Directory (self, last_path, new_path);
 
     // To update file path in the browser entry
diff --git a/src/cddb_dialog.c b/src/cddb_dialog.c
index 7df3964..01d6313 100644
--- a/src/cddb_dialog.c
+++ b/src/cddb_dialog.c
@@ -1,6 +1,6 @@
 /* EasyTAG - Tag editor for audio files
+ * Copyright (C) 2014,2015  David King <amigadave at amigadave.com>
  * Copyright (C) 2000-2003  Jerome Couderc <easytag at gmail.com>
- * Copyright (C) 2014  David King <amigadave at amigadave.com>
  *
  * 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
@@ -840,7 +840,7 @@ Cddb_Get_Album_Tracks_List (EtCDDBDialog *self, GtkTreeSelection* selection)
     const gchar CDDB_END_STR[] = ".";
     gchar     *proxy_auth;
     gchar     *cddb_server_name;
-    gint       cddb_server_port;
+    guint cddb_server_port;
     gchar     *cddb_server_cgi_path;
     gboolean proxy_enabled;
     gchar *proxy_hostname;
@@ -979,7 +979,7 @@ Cddb_Get_Album_Tracks_List (EtCDDBDialog *self, GtkTreeSelection* selection)
 			// For gnudb (don't check CDDB header)
 			if ( Cddb_Read_Http_Header(&file,&cddb_out) <= 0 )
 		    {
-		        gchar *msg = g_strdup_printf (_("The server returned a bad response ‘%s’"),
+		        msg = g_strdup_printf (_("The server returned a bad response ‘%s’"),
                                                       cddb_out);
 		        gtk_statusbar_push(GTK_STATUSBAR(priv->status_bar),priv->status_bar_context,msg);
 		        Log_Print(LOG_ERROR,"%s",msg);
@@ -994,7 +994,7 @@ Cddb_Get_Album_Tracks_List (EtCDDBDialog *self, GtkTreeSelection* selection)
             /* For freedb. */
             if (Cddb_Read_Http_Header (&file, &cddb_out) <= 0)
             {
-                gchar *msg = g_strdup_printf (_("The server returned a bad response ‘%s’"),
+                msg = g_strdup_printf (_("The server returned a bad response ‘%s’"),
                                                       cddb_out);
                 gtk_statusbar_push (GTK_STATUSBAR (priv->status_bar),
                                     priv->status_bar_context, msg);
@@ -1015,7 +1015,7 @@ Cddb_Get_Album_Tracks_List (EtCDDBDialog *self, GtkTreeSelection* selection)
 
             if (Cddb_Read_Cddb_Header (&file, &cddb_out) <= 0)
             {
-                gchar *msg = g_strdup_printf (_("The server returned a bad response ‘%s’"),
+                msg = g_strdup_printf (_("The server returned a bad response ‘%s’"),
                                                       cddb_out);
                 gtk_statusbar_push (GTK_STATUSBAR (priv->status_bar),
                                     priv->status_bar_context, msg);
@@ -1100,7 +1100,7 @@ Cddb_Get_Album_Tracks_List (EtCDDBDialog *self, GtkTreeSelection* selection)
 
                 gchar *alb_ptr = strstr(cddb_out," / ");
                 // Album
-                if (alb_ptr && alb_ptr+3)
+                if (alb_ptr && alb_ptr[3])
                 {
                     cddbalbum->album = Try_To_Validate_Utf8_String(alb_ptr+3);
                     *alb_ptr = 0;
@@ -1219,12 +1219,9 @@ Cddb_Get_Album_Tracks_List (EtCDDBDialog *self, GtkTreeSelection* selection)
         file = NULL;
     }
 
-    if (cddb_server_name)
-    {
-        /* Remote access. */
-        /* Close connection */
-        Cddb_Close_Connection (self, socket_id);
-    }
+    /* Remote access. */
+    /* Close connection */
+    Cddb_Close_Connection (self, socket_id);
 
     /* Set color of the selected row (without reloading the whole list) */
     Cddb_Album_List_Set_Row_Appearance (self, &row);
@@ -1490,7 +1487,7 @@ Cddb_Search_Album_List_From_String_Freedb (EtCDDBDialog *self)
     gchar *msg;
     gchar *proxy_auth = NULL;
     gchar *cddb_server_name;
-    gint   cddb_server_port;
+    guint cddb_server_port;
     gchar *cddb_server_cgi_path;
     gboolean proxy_enabled;
     gchar *proxy_hostname;
@@ -1814,7 +1811,7 @@ Cddb_Search_Album_List_From_String_Gnudb (EtCDDBDialog *self)
     gchar *msg;
     gchar *proxy_auth = NULL;
     gchar *cddb_server_name;
-    gint   cddb_server_port;
+    guint cddb_server_port;
     gchar *cddb_server_cgi_path;
     gboolean proxy_enabled;
     gchar *proxy_hostname;
@@ -2362,9 +2359,9 @@ Cddb_Set_Track_Infos_To_File_List (EtCDDBDialog *self)
 
             if (set_fields != 0)
             {
-                // Allocation of a new FileTag
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item (etfile, FileTag);
+                /* Allocation of a new FileTag. */
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, etfile->FileTag->data);
 
                 if (set_fields & ET_CDDB_SET_FIELD_TITLE)
                 {
@@ -2492,8 +2489,8 @@ Cddb_Set_Track_Infos_To_File_List (EtCDDBDialog *self)
             if (set_fields != 0)
             {
                 /* Allocation of a new FileTag. */
-                FileTag = ET_File_Tag_Item_New ();
-                ET_Copy_File_Tag_Item (etfile, FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, etfile->FileTag->data);
 
                 if (set_fields & ET_CDDB_SET_FIELD_TITLE)
                 {
@@ -3052,6 +3049,9 @@ Cddb_Track_List_Sort_Func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b,
             g_free(text1cp);
             g_free(text2cp);
             break;
+        default:
+            g_assert_not_reached ();
+            break;
     }
 
     return ret;
@@ -3249,7 +3249,7 @@ et_cddb_dialog_search_from_selection (EtCDDBDialog *self)
     gchar *msg;
     gchar *proxy_auth;
     gchar *cddb_server_name;
-    gint   cddb_server_port;
+    guint cddb_server_port;
     gchar *cddb_server_cgi_path;
     gboolean proxy_enabled;
     gchar *proxy_hostname;
diff --git a/src/charset.c b/src/charset.c
index 4ad9c77..d08c19e 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -151,7 +151,7 @@ check_locale (const char *locale)
 
 /* stolen from gnome-desktop-item.c */
 G_GNUC_NULL_TERMINATED static void
-insert_locales (GHashTable *encodings, const gchar *enc, ...)
+insert_locales (GHashTable *encs, const gchar *enc, ...)
 {
     va_list args;
     char *s;
@@ -164,7 +164,7 @@ insert_locales (GHashTable *encodings, const gchar *enc, ...)
             break;
         /* A GDestroyNotify is not passed, so casting away the const is
          * safe, as the key is never freed. */
-        g_hash_table_insert (encodings, s, (gpointer)enc);
+        g_hash_table_insert (encs, s, (gpointer)enc);
     }
     va_end (args);
 }
@@ -712,34 +712,10 @@ Charset_Populate_Combobox (GtkComboBox *combo, gint select_charset)
     gtk_combo_box_set_active (combo, select_charset);
 }
 
-
-/*
- * Return charset_name from charset_title
- */
-const gchar *
-Charset_Get_Name_From_Title (const gchar *charset_title)
-{
-    guint i;
-
-    g_return_val_if_fail (charset_title != NULL, NULL);
-
-    for (i = 0; i < CHARSET_TRANS_ARRAY_LEN; i++)
-    {
-        if (strcasecmp (_(charset_title),
-                        _(charset_trans_array[i].charset_title)) == 0)
-        {
-            return charset_trans_array[i].charset_name;
-        }
-    }
-
-    return NULL;
-}
-
 const gchar *
-et_charset_get_name_from_index (gint index)
+et_charset_get_name_from_index (guint index)
 {
-    g_return_val_if_fail (index >= 0 && index <= CHARSET_TRANS_ARRAY_LEN,
-                          NULL);
+    g_return_val_if_fail (index <= CHARSET_TRANS_ARRAY_LEN, NULL);
 
     return charset_trans_array[index].charset_name;
 }
diff --git a/src/charset.h b/src/charset.h
index 17b49d7..128de1d 100644
--- a/src/charset.h
+++ b/src/charset.h
@@ -39,8 +39,7 @@ gchar *filename_from_display (const gchar *string);
 gchar *Try_To_Validate_Utf8_String (const gchar *string);
 
 void Charset_Populate_Combobox (GtkComboBox *combo, gint select_charset);
-const gchar *Charset_Get_Name_From_Title (const gchar *charset_title);
-const gchar * et_charset_get_name_from_index (gint index);
+const gchar * et_charset_get_name_from_index (guint index);
 
 void Charset_Insert_Locales_Init    (void);
 void Charset_Insert_Locales_Destroy (void);
diff --git a/src/core_types.h b/src/core_types.h
index 36e5050..856b05f 100644
--- a/src/core_types.h
+++ b/src/core_types.h
@@ -78,7 +78,7 @@ typedef struct
 {
     gint version;               /* Version of bitstream (mpeg version for mp3, encoder version for ogg) */
     gint mpeg25;                /* Version is MPEG 2.5? */
-    gint layer;                 /* "MP3 data" */
+    gsize layer; /* "MP3 data" */
     gint bitrate;               /* Bitrate (kb/s) */
     gboolean variable_bitrate;  /* Is a VBR file? */
     gint samplerate;            /* Samplerate (Hz) */
diff --git a/src/easytag.c b/src/easytag.c
index d48810e..4d7b620 100644
--- a/src/easytag.c
+++ b/src/easytag.c
@@ -43,6 +43,11 @@
 
 static GtkWidget *QuitRecursionWindow = NULL;
 
+/* Referenced in the header. */
+gboolean Main_Stop_Button_Pressed;
+GtkWidget *MainWindow;
+gboolean ReadingDirectory;
+
 /* Used to force to hide the msgbox when saving tag */
 static gboolean SF_HideMsgbox_Write_Tag;
 /* To remember which button was pressed when saving tag */
@@ -178,15 +183,16 @@ Save_List_Of_Files (GList *etfilelist, gboolean force_saving_files)
         GFileInfo *fileinfo;
 
         const ET_File *ETFile = (ET_File *)l->data;
-        const File_Tag  *FileTag  = (File_Tag *)ETFile->FileTag->data;
+        const File_Tag *file_tag  = (File_Tag *)ETFile->FileTag->data;
         const File_Name *FileName = (File_Name *)ETFile->FileNameNew->data;
         const gchar *filename_cur = ((File_Name *)ETFile->FileNameCur->data)->value;
         const gchar *filename_cur_utf8 = ((File_Name *)ETFile->FileNameCur->data)->value_utf8;
         gchar *basename_cur_utf8 = g_path_get_basename(filename_cur_utf8);
 
         // Count only the changed files or all files if force_saving_files==TRUE
-        if ( force_saving_files
-        || (FileName && FileName->saved==FALSE) || (FileTag && FileTag->saved==FALSE) )
+        if (force_saving_files
+            || (FileName && FileName->saved == FALSE)
+            || (file_tag && file_tag->saved == FALSE))
             nb_files_to_save++;
 
         file = g_file_new_for_path (filename_cur);
@@ -641,8 +647,6 @@ Save_File (ET_File *ETFile, gboolean multiple_files,
                 {
                     if (!SF_HideMsgbox_Rename_File)
                     {
-                        GtkWidget *msgdialog;
-
                         msgdialog = gtk_message_dialog_new (GTK_WINDOW (MainWindow),
                                                             GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
                                                             GTK_MESSAGE_ERROR,
@@ -1008,8 +1012,10 @@ Read_Directory (const gchar *path_real)
         g_free(msg);
         g_free(filename_utf8);
 
-        // Warning: Do not free filename_real because ET_Add_File.. uses it for internal structures
-        ET_Add_File_To_File_List(filename_real);
+        /* Warning: Do not free filename_real because ET_Add_File.. uses it for
+         * internal structures. */
+        ETCore->ETFileList = et_file_list_add (ETCore->ETFileList,
+                                               filename_real);
 
         /* Update the progress bar. */
         fraction = (++progress_bar_index) / (double) nbrfile;
diff --git a/src/easytag.h b/src/easytag.h
index 2047657..19c78f3 100644
--- a/src/easytag.h
+++ b/src/easytag.h
@@ -34,16 +34,16 @@
  ***************/
 
 /* Variable to force to quit recursive functions (reading dirs) or stop saving files */
-gboolean Main_Stop_Button_Pressed;
+extern gboolean Main_Stop_Button_Pressed;
 
-GtkWidget *MainWindow;
+extern GtkWidget *MainWindow;
 
 #ifndef errno
 extern int errno;
 #endif
 
 /* A flag to start/avoid a new reading while another one is running */
-gboolean ReadingDirectory;
+extern gboolean ReadingDirectory;
 
 
 /**************
diff --git a/src/et_core.c b/src/et_core.c
index ebe33c0..6e11fb2 100644
--- a/src/et_core.c
+++ b/src/et_core.c
@@ -47,16 +47,28 @@ ET_Core_Free (void)
 
     /* First frees lists. */
     if (ETCore->ETFileList)
-        ET_Free_File_List();
+    {
+        et_file_list_free (ETCore->ETFileList);
+        ETCore->ETFileList = NULL;
+    }
 
     if (ETCore->ETFileDisplayedList)
-        ET_Free_Displayed_File_List();
+    {
+        et_displayed_file_list_free (ETCore->ETFileDisplayedList);
+        ETCore->ETFileDisplayedList = NULL;
+    }
 
     if (ETCore->ETHistoryFileList)
-        ET_Free_History_File_List();
+    {
+        et_history_file_list_free (ETCore->ETHistoryFileList);
+        ETCore->ETHistoryFileList = NULL;
+    }
 
     if (ETCore->ETArtistAlbumFileList)
-        ET_Free_Artist_Album_File_List();
+    {
+        et_artist_album_file_list_free (ETCore->ETArtistAlbumFileList);
+        ETCore->ETArtistAlbumFileList = NULL;
+    }
 
     if (ETCore)
     {
diff --git a/src/file.c b/src/file.c
index 57f19ca..7f41258 100644
--- a/src/file.c
+++ b/src/file.c
@@ -1,5 +1,5 @@
 /* EasyTAG - tag editor for audio files
- * Copyright (C) 2014  David King <amigadave at amigadave.com>
+ * Copyright (C) 2014,2015  David King <amigadave at amigadave.com>
  *
  * 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
@@ -1109,7 +1109,9 @@ ET_Free_File_Tag_List (GList *FileTagList)
     for (l = FileTagList; l != NULL; l = g_list_next (l))
     {
         if ((File_Tag *)l->data)
-            ET_Free_File_Tag_Item ((File_Tag *)l->data);
+        {
+            et_file_tag_free ((File_Tag *)l->data);
+        }
     }
 
     g_list_free (FileTagList);
@@ -1197,7 +1199,7 @@ void
 ET_Display_File_Data_To_UI (ET_File *ETFile)
 {
     EtApplicationWindow *window;
-    const ET_File_Description *ETFileDescription;
+    const ET_File_Description *description;
     const gchar *cur_filename_utf8;
     gchar *msg;
     EtFileHeaderFields *fields;
@@ -1207,7 +1209,7 @@ ET_Display_File_Data_To_UI (ET_File *ETFile)
                       /* For the case where ETFile is an "empty" structure. */
 
     cur_filename_utf8 = ((File_Name *)((GList *)ETFile->FileNameCur)->data)->value_utf8;
-    ETFileDescription = ETFile->ETFileDescription;
+    description = ETFile->ETFileDescription;
 
     /* Save the current displayed file */
     ETCore->ETFileDisplayed = ETFile;
@@ -1227,7 +1229,7 @@ ET_Display_File_Data_To_UI (ET_File *ETFile)
     et_application_window_tag_area_display_controls (window, ETFile);
 
     /* Display file data, header data and file type */
-    switch (ETFileDescription->FileType)
+    switch (description->FileType)
     {
 #if defined ENABLE_MP3 && defined ENABLE_ID3LIB
         case MP3_FILE:
@@ -1289,6 +1291,7 @@ ET_Display_File_Data_To_UI (ET_File *ETFile)
             et_opus_file_header_fields_free (fields);
             break;
 #endif
+        case OFR_FILE:
         case UNKNOWN_FILE:
         default:
             /* Default displaying. */
@@ -1297,7 +1300,7 @@ ET_Display_File_Data_To_UI (ET_File *ETFile)
             et_file_header_fields_free (fields);
             Log_Print (LOG_ERROR,
                        "ETFileInfo: Undefined file type %d for file %s.",
-                       ETFileDescription->FileType, cur_filename_utf8);
+                       description->FileType, cur_filename_utf8);
             break;
     }
 
@@ -1325,7 +1328,11 @@ ET_Display_Filename_To_UI (const ET_File *ETFile)
                                                   dirname_utf8);
 
     // And refresh the number of files in this directory
-    text = g_strdup_printf(ngettext("One file","%u files",ET_Get_Number_Of_Files_In_Directory(dirname_utf8)),ET_Get_Number_Of_Files_In_Directory(dirname_utf8));
+    text = g_strdup_printf (ngettext ("One file", "%u files",
+                                      et_file_list_get_n_files_in_path (ETCore->ETFileList,
+                                                                        dirname_utf8)),
+                            et_file_list_get_n_files_in_path (ETCore->ETFileList,
+                                                              dirname_utf8));
     et_application_window_browser_label_set_text (ET_APPLICATION_WINDOW (MainWindow),
                                                   text);
     g_free(dirname_utf8);
@@ -1352,8 +1359,8 @@ ET_Display_File_Info_To_UI (const ET_File *ETFile)
     fields->description = _("File");
 
     /* MPEG, Layer versions */
-    fields->version = g_strdup_printf ("%d, Layer %d", info->version,
-                                       info->layer);
+    fields->version = g_strdup_printf ("%d, Layer %" G_GSIZE_FORMAT,
+                                       info->version, info->layer);
 
     /* Bitrate */
     fields->bitrate = g_strdup_printf (_("%d kb/s"), info->bitrate);
@@ -1392,7 +1399,7 @@ ET_Display_File_Info_To_UI (const ET_File *ETFile)
  */
 void ET_Save_File_Data_From_UI (ET_File *ETFile)
 {
-    const ET_File_Description *ETFileDescription;
+    const ET_File_Description *description;
     File_Name *FileName;
     File_Tag  *FileTag;
     guint      undo_key;
@@ -1402,7 +1409,7 @@ void ET_Save_File_Data_From_UI (ET_File *ETFile)
                       && ETFile->FileNameCur->data != NULL);
 
     cur_filename_utf8 = ((File_Name *)((GList *)ETFile->FileNameCur)->data)->value_utf8;
-    ETFileDescription = ETFile->ETFileDescription;
+    description = ETFile->ETFileDescription;
     undo_key = ET_Undo_Key_New();
 
 
@@ -1414,7 +1421,7 @@ void ET_Save_File_Data_From_UI (ET_File *ETFile)
     FileName->key = undo_key;
     ET_Save_File_Name_From_UI(ETFile,FileName); // Used for all files!
 
-    switch (ETFileDescription->TagType)
+    switch (description->TagType)
     {
 #ifdef ENABLE_MP3
         case ID3_TAG:
@@ -1436,12 +1443,14 @@ void ET_Save_File_Data_From_UI (ET_File *ETFile)
 #endif
         case APE_TAG:
             FileTag = et_application_window_tag_area_create_file_tag (ET_APPLICATION_WINDOW (MainWindow));
-            ET_Copy_File_Tag_Item_Other_Field (ETFile, FileTag);
+            et_file_tag_copy_other_into (ETFile->FileTag->data, FileTag);
             break;
         case UNKNOWN_TAG:
         default:
-            FileTag = ET_File_Tag_Item_New ();
-            Log_Print(LOG_ERROR,"FileTag: Undefined tag type %d for file %s.",ETFileDescription->TagType,cur_filename_utf8);
+            FileTag = et_file_tag_new ();
+            Log_Print (LOG_ERROR,
+                       "FileTag: Undefined tag type %d for file %s.",
+                       description->TagType, cur_filename_utf8);
             break;
     }
 
@@ -1824,7 +1833,7 @@ ET_Save_File_Tag_Internal (ET_File *ETFile, File_Tag *FileTag)
 gboolean
 ET_Save_File_Tag_To_HD (ET_File *ETFile, GError **error)
 {
-    const ET_File_Description *ETFileDescription;
+    const ET_File_Description *description;
     const gchar *cur_filename;
     const gchar *cur_filename_utf8;
     gboolean state;
@@ -1837,14 +1846,14 @@ ET_Save_File_Tag_To_HD (ET_File *ETFile, GError **error)
     cur_filename = ((File_Name *)(ETFile->FileNameCur)->data)->value;
     cur_filename_utf8 = ((File_Name *)(ETFile->FileNameCur)->data)->value_utf8;
 
-    ETFileDescription = ETFile->ETFileDescription;
+    description = ETFile->ETFileDescription;
 
     /* Store the file timestamps (in case they are to be preserved) */
     file = g_file_new_for_path (cur_filename);
     fileinfo = g_file_query_info (file, "time::*", G_FILE_QUERY_INFO_NONE,
                                   NULL, NULL);
 
-    switch (ETFileDescription->TagType)
+    switch (description->TagType)
     {
 #ifdef ENABLE_MP3
         case ID3_TAG:
@@ -1881,8 +1890,9 @@ ET_Save_File_Tag_To_HD (ET_File *ETFile, GError **error)
 #endif
         case UNKNOWN_TAG:
         default:
-            Log_Print(LOG_ERROR,"Saving to HD: Undefined function for tag type '%d' (file %s).",
-                ETFileDescription->TagType,cur_filename_utf8);
+            Log_Print (LOG_ERROR,
+                       "Saving to HD: Undefined function for tag type '%d' (file %s).",
+                       description->TagType, cur_filename_utf8);
             state = FALSE;
             break;
     }
@@ -1976,13 +1986,16 @@ ET_Manage_Changes_Of_File_Data (ET_File *ETFile,
      */
     if (FileTag)
     {
-        if ( ETFile->FileTag && ET_Detect_Changes_Of_File_Tag( (File_Tag *)(ETFile->FileTag)->data,FileTag )==TRUE )
+        if (ETFile->FileTag
+            && et_file_tag_detect_difference ((File_Tag *)(ETFile->FileTag)->data,
+                                              FileTag) == TRUE)
         {
             ET_Add_File_Tag_To_List(ETFile,FileTag);
             undo_added |= TRUE;
-        }else
+        }
+        else
         {
-            ET_Free_File_Tag_Item(FileTag);
+            et_file_tag_free (FileTag);
         }
     }
 
@@ -1990,7 +2003,10 @@ ET_Manage_Changes_Of_File_Data (ET_File *ETFile,
      * Generate main undo (file history of modifications)
      */
     if (undo_added)
-        ET_Add_File_To_History_List(ETFile);
+    {
+        ETCore->ETHistoryFileList = et_history_list_add (ETCore->ETHistoryFileList,
+                                                         ETFile);
+    }
 
     //return TRUE;
     return undo_added;
diff --git a/src/file.h b/src/file.h
index 10129dc..ef41d0b 100644
--- a/src/file.h
+++ b/src/file.h
@@ -1,5 +1,5 @@
 /* EasyTAG - tag editor for audio files
- * Copyright (C) 2014  David King <amigadave at amigadave.com>
+ * Copyright (C) 2014,2015  David King <amigadave at amigadave.com>
  *
  * 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
@@ -48,7 +48,7 @@ typedef struct
 
     guint ETFileKey;          /* Primary key to identify each item of the list (no longer used?) */
 
-    time_t FileModificationTime;            /* Save modification time of the file */
+    guint64 FileModificationTime; /* Save modification time of the file */
 
     const ET_File_Description *ETFileDescription;
     gchar               *ETFileExtension;   /* Real extension of the file (keeping the case) (should be placed in ETFileDescription?) */
@@ -81,10 +81,6 @@ void ET_Free_File_List_Item (ET_File *ETFile);
 
 gboolean ET_Set_Filename_File_Name_Item (File_Name *FileName, const gchar *filename_utf8, const gchar *filename);
 
-/* FIXME: Move to file_tag.h. */
-gboolean ET_Copy_File_Tag_Item (const ET_File *ETFile, File_Tag *FileTag);
-void ET_Copy_File_Tag_Item_Other_Field (const ET_File *ETFile, File_Tag *FileTag);
-
 void ET_Display_File_Data_To_UI (ET_File *ETFile);
 void ET_Save_File_Data_From_UI (ET_File *ETFile);
 gboolean ET_Save_File_Name_Internal (const ET_File *ETFile, File_Name *FileName);
diff --git a/src/file_area.c b/src/file_area.c
index dddc311..30eb8f9 100644
--- a/src/file_area.c
+++ b/src/file_area.c
@@ -58,7 +58,7 @@ struct _EtFileAreaPrivate
 
 static void
 on_file_show_header_changed (EtFileArea *self,
-                             gchar *key,
+                             const gchar *key,
                              GSettings *settings)
 {
     EtFileAreaPrivate *priv;
@@ -184,26 +184,31 @@ et_file_area_clear (EtFileArea *self)
 {
     EtFileAreaPrivate *priv;
     EtFileHeaderFields fields;
+    gchar *empty_str;
 
     g_return_if_fail (ET_FILE_AREA (self));
 
     priv = et_file_area_get_instance_private (self);
 
+    empty_str = g_strdup ("");
+
     /* Default values are MPEG data. */
     fields.description = _("File");
     fields.version_label = _("Encoder:");
-    fields.version =  "";
-    fields.bitrate = "";
-    fields.samplerate = "";
+    fields.version =  empty_str;
+    fields.bitrate = empty_str;
+    fields.samplerate = empty_str;
     fields.mode_label = _("Mode:");
-    fields.mode = "";
-    fields.size = "";
-    fields.duration = "";
+    fields.mode = empty_str;
+    fields.size = empty_str;
+    fields.duration = empty_str;
 
     et_file_area_set_header_fields (self, &fields);
 
-    gtk_entry_set_text (GTK_ENTRY (priv->name_entry), "");
+    gtk_entry_set_text (GTK_ENTRY (priv->name_entry), empty_str);
     gtk_label_set_text (GTK_LABEL (priv->index_label), "0/0:");
+
+    g_free (empty_str);
 }
 
 void
diff --git a/src/file_list.c b/src/file_list.c
index c4d79d8..4451857 100644
--- a/src/file_list.c
+++ b/src/file_list.c
@@ -62,18 +62,17 @@
 #endif
 
 /*
- * Frees the full main list of files: GList *ETFileList and reinitialize it.
+ * et_file_list_free:
+ * @file_list: (element-type ET_File) (allow-none): a list of files
+ *
+ * Frees the full list of files.
  */
-gboolean
-ET_Free_File_List (void)
+void
+et_file_list_free (GList *file_list)
 {
-    g_return_val_if_fail (ETCore != NULL && ETCore->ETFileList != NULL, FALSE);
+    g_return_if_fail (file_list != NULL);
 
-    g_list_free_full (ETCore->ETFileList,
-                      (GDestroyNotify)ET_Free_File_List_Item);
-    ETCore->ETFileList = NULL;
-
-    return TRUE;
+    g_list_free_full (file_list, (GDestroyNotify)ET_Free_File_List_Item);
 }
 
 static void
@@ -85,53 +84,38 @@ et_history_file_free (ET_History_File *file)
 /*
  * History list contains only pointers, so no data to free except the history structure.
  */
-gboolean
-ET_Free_History_File_List (void)
+void
+et_history_file_list_free (GList *file_list)
 {
-    g_return_val_if_fail (ETCore != NULL && ETCore->ETHistoryFileList != NULL,
-                          FALSE);
-
-    ETCore->ETHistoryFileList = g_list_first (ETCore->ETHistoryFileList);
-
-    g_list_free_full (ETCore->ETHistoryFileList,
-                      (GDestroyNotify)et_history_file_free);
+    g_return_if_fail (file_list != NULL);
 
-    ETCore->ETHistoryFileList = NULL;
-
-    return TRUE;
+    g_list_free_full (file_list, (GDestroyNotify)et_history_file_free);
 }
 
 /*
  * "Display" list contains only pointers, so NOTHING to free
  */
-gboolean
-ET_Free_Displayed_File_List (void)
+void
+et_displayed_file_list_free (GList *file_list)
 {
-    g_return_val_if_fail (ETCore != NULL
-                          && ETCore->ETFileDisplayedList != NULL, FALSE);
-
-    ETCore->ETFileDisplayedList = NULL;
-
-    return TRUE;
 }
 
 /*
  * ArtistAlbum list contains 3 levels of lists
  */
-gboolean
-ET_Free_Artist_Album_File_List (void)
+void
+et_artist_album_file_list_free (GList *file_list)
 {
     GList *l;
 
-    g_return_val_if_fail (ETCore != NULL
-                          && ETCore->ETArtistAlbumFileList != NULL, FALSE);
+    g_return_if_fail (file_list != NULL);
 
     /* Pointers are stored inside the artist/album list-stores, so free them
      * first. */
     et_application_window_browser_clear_artist_model (ET_APPLICATION_WINDOW (MainWindow));
     et_application_window_browser_clear_album_model (ET_APPLICATION_WINDOW (MainWindow));
 
-    for (l = ETCore->ETArtistAlbumFileList; l != NULL; l = g_list_next (l))
+    for (l = file_list; l != NULL; l = g_list_next (l))
     {
         GList *m;
 
@@ -146,12 +130,7 @@ ET_Free_Artist_Album_File_List (void)
             g_list_free ((GList *)l->data);
     }
 
-    if (ETCore->ETArtistAlbumFileList)
-        g_list_free(ETCore->ETArtistAlbumFileList);
-
-    ETCore->ETArtistAlbumFileList = NULL;
-
-    return TRUE;
+    g_list_free (file_list);
 }
 
 /* Key for each item of ETFileList */
@@ -206,13 +185,17 @@ et_core_read_file_info (GFile *file,
 }
 
 /*
- * ET_Add_File_To_File_List: Add a file to the "main" list. And get all information of the file.
- * The filename passed in should be in raw format, only convert it to UTF8 when displaying it.
+ * et_file_list_add:
+ * Add a file to the "main" list. And get all information of the file.
+ * The filename passed in should be in raw format, only convert it to UTF8 when
+ * displaying it.
  */
 GList *
-ET_Add_File_To_File_List (gchar *filename)
+et_file_list_add (GList *file_list,
+                  gchar *filename)
 {
-    const ET_File_Description *ETFileDescription;
+    GList *result;
+    const ET_File_Description *description;
     ET_File      *ETFile;
     File_Name    *FileName;
     File_Tag     *FileTag;
@@ -227,8 +210,7 @@ ET_Add_File_To_File_List (gchar *filename)
     GError *error = NULL;
     gboolean success;
 
-    if (!filename)
-        return ETCore->ETFileList;
+    g_return_val_if_fail (filename != NULL, file_list);
 
     file = g_file_new_for_path (filename);
 
@@ -236,7 +218,7 @@ ET_Add_File_To_File_List (gchar *filename)
     ETFileKey = ET_File_Key_New();
 
     /* Get description of the file */
-    ETFileDescription = ET_Get_File_Description(filename);
+    description = ET_Get_File_Description (filename);
 
     /* Get real extension of the file (keeping the case) */
     ETFileExtension = g_strdup(ET_Get_File_Extension(filename));
@@ -249,7 +231,7 @@ ET_Add_File_To_File_List (gchar *filename)
     FileName->value_ck   = g_utf8_collate_key_for_filename(filename_utf8, -1);
 
     /* Fill the File_Tag structure for FileTagList */
-    FileTag = ET_File_Tag_Item_New();
+    FileTag = et_file_tag_new ();
     FileTag->saved = TRUE;    /* The file hasn't been changed, so it's saved */
 
     /* Patch from Doruk Fisek and Onur Kucuk: avoid upper/lower conversion bugs
@@ -258,7 +240,7 @@ ET_Add_File_To_File_List (gchar *filename)
      * it is written as 'Title=' in the file */
     setlocale(LC_CTYPE, "C");
 
-    switch (ETFileDescription->TagType)
+    switch (description->TagType)
     {
 #ifdef ENABLE_MP3
         case ID3_TAG:
@@ -338,7 +320,9 @@ ET_Add_File_To_File_List (gchar *filename)
         case UNKNOWN_TAG:
         default:
             /* FIXME: Translatable string. */
-            Log_Print(LOG_ERROR,"FileTag: Undefined tag type (%d) for file %s",ETFileDescription->TagType,filename_utf8);
+            Log_Print (LOG_ERROR,
+                       "FileTag: Undefined tag type (%d) for file %s",
+                       description->TagType, filename_utf8);
             break;
     }
 
@@ -352,7 +336,7 @@ ET_Add_File_To_File_List (gchar *filename)
     /* Fill the ET_File_Info structure */
     ETFileInfo = ET_File_Info_Item_New ();
 
-    switch (ETFileDescription->FileType)
+    switch (description->FileType)
     {
 #if defined ENABLE_MP3 && defined ENABLE_ID3LIB
         case MP3_FILE:
@@ -398,10 +382,13 @@ ET_Add_File_To_File_List (gchar *filename)
             success = et_opus_read_file_info (file, ETFileInfo, &error);
             break;
 #endif
+        case OFR_FILE:
         case UNKNOWN_FILE:
         default:
             /* FIXME: Translatable string. */
-            Log_Print(LOG_ERROR,"ETFileInfo: Undefined file type (%d) for file %s",ETFileDescription->FileType,filename_utf8);
+            Log_Print (LOG_ERROR,
+                       "ETFileInfo: Undefined file type (%d) for file %s",
+                       description->FileType, filename_utf8);
             /* To get at least the file size. */
             success = et_core_read_file_info (file, ETFileInfo, &error);
             break;
@@ -440,7 +427,7 @@ ET_Add_File_To_File_List (gchar *filename)
 
     ETFile->IndexKey             = 0; // Will be renumered after...
     ETFile->ETFileKey            = ETFileKey;
-    ETFile->ETFileDescription    = ETFileDescription;
+    ETFile->ETFileDescription    = description;
     ETFile->ETFileExtension      = ETFileExtension;
     ETFile->FileNameList         = g_list_append(NULL,FileName);
     ETFile->FileNameCur          = ETFile->FileNameList;
@@ -450,7 +437,7 @@ ET_Add_File_To_File_List (gchar *filename)
     ETFile->ETFileInfo           = ETFileInfo;
 
     /* Add the item to the "main list" */
-    ETCore->ETFileList = g_list_append(ETCore->ETFileList,ETFile);
+    result = g_list_append (file_list, ETFile);
 
 
     /*
@@ -463,7 +450,7 @@ ET_Add_File_To_File_List (gchar *filename)
     FileName->key = undo_key;
     ET_Save_File_Name_Internal(ETFile,FileName);
 
-    FileTag = ET_File_Tag_Item_New();
+    FileTag = et_file_tag_new ();
     FileTag->key = undo_key;
     ET_Save_File_Tag_Internal(ETFile,FileTag);
 
@@ -488,7 +475,7 @@ ET_Add_File_To_File_List (gchar *filename)
     //ET_Add_File_To_Artist_Album_File_List(ETFile);
 
     //ET_Debug_Print_File_List(ETCore->ETFileList,__FILE__,__LINE__,__FUNCTION__);
-    return ETCore->ETFileList;
+    return result;
 }
 
 /*
@@ -573,8 +560,9 @@ ET_Comp_Func_Sort_Etfile_Item_By_Ascending_Filename (const ET_File *ETFile1,
  *  - "AlbumList" list is a list of ETFile items.
  * Note : use the function ET_Debug_Print_Artist_Album_List(...) to understand how it works, it needed...
  */
-static gboolean
-ET_Add_File_To_Artist_Album_File_List (ET_File *ETFile)
+static GList *
+et_artist_album_list_add_file (GList *file_list,
+                               ET_File *ETFile)
 {
     const gchar *ETFile_Artist;
     const gchar *ETFile_Album;
@@ -583,16 +571,17 @@ ET_Add_File_To_Artist_Album_File_List (ET_File *ETFile)
     GList *ArtistList;
     GList *AlbumList = NULL;
     GList *etfilelist = NULL;
+    GList *result;
     ET_File *etfile = NULL;
 
-    g_return_val_if_fail (ETFile != NULL, FALSE);
+    g_return_if_fail (ETFile != NULL);
 
     /* Album value of the ETFile passed in parameter. */
     ETFile_Album = ((File_Tag *)ETFile->FileTag->data)->album;
     /* Artist value of the ETFile passed in parameter. */
     ETFile_Artist = ((File_Tag *)ETFile->FileTag->data)->artist;
 
-    for (ArtistList = ETCore->ETArtistAlbumFileList; ArtistList != NULL;
+    for (ArtistList = file_list; ArtistList != NULL;
          ArtistList = g_list_next (ArtistList))
     {
         AlbumList = (GList *)ArtistList->data;  /* Take the first item */
@@ -637,7 +626,7 @@ ET_Add_File_To_Artist_Album_File_List (ET_File *ETFile)
                                                      ETFile);
                     AlbumList->data = g_list_sort ((GList *)AlbumList->data,
                                                    (GCompareFunc)ET_Comp_Func_Sort_Etfile_Item_By_Ascending_Filename);
-                    return TRUE;
+                    return file_list;
                 }
 
                 AlbumList = g_list_next (AlbumList);
@@ -650,7 +639,7 @@ ET_Add_File_To_Artist_Album_File_List (ET_File *ETFile)
                                               etfilelist);
             ArtistList->data = g_list_sort ((GList *)ArtistList->data,
                                             (GCompareFunc)ET_Comp_Func_Sort_Album_Item_By_Ascending_Album);
-            return TRUE;
+            return file_list;
         }
     }
 
@@ -658,31 +647,29 @@ ET_Add_File_To_Artist_Album_File_List (ET_File *ETFile)
      * main list (=ETArtistAlbumFileList). */
     etfilelist = g_list_append (NULL, ETFile);
     AlbumList  = g_list_append (NULL, etfilelist);
-    ETCore->ETArtistAlbumFileList = g_list_append (ETCore->ETArtistAlbumFileList,
-                                                   AlbumList);
+    file_list = g_list_append (file_list, AlbumList);
 
     /* Sort the list by ascending Artist. */
-    ETCore->ETArtistAlbumFileList = g_list_sort (ETCore->ETArtistAlbumFileList,
-                                                 (GCompareFunc)ET_Comp_Func_Sort_Artist_Item_By_Ascending_Artist);
+    /* TODO: Use g_list_insert_sorted() instead. */
+    result = g_list_sort (file_list,
+                          (GCompareFunc)ET_Comp_Func_Sort_Artist_Item_By_Ascending_Artist);
 
-    return TRUE;
+    return result;
 }
 
-gboolean
-ET_Create_Artist_Album_File_List (void)
+GList *
+et_artist_album_list_new_from_file_list (GList *file_list)
 {
+    GList *result = NULL;
     GList *l;
 
-    if (ETCore->ETArtistAlbumFileList)
-        ET_Free_Artist_Album_File_List();
-
-    for (l = g_list_first (ETCore->ETFileList); l != NULL; l = g_list_next (l))
+    for (l = g_list_first (file_list); l != NULL; l = g_list_next (l))
     {
         ET_File *ETFile = (ET_File *)l->data;
-        ET_Add_File_To_Artist_Album_File_List(ETFile);
+        result = et_artist_album_list_add_file (result, ETFile);
     }
-    //ET_Debug_Print_Artist_Album_List(__FILE__,__LINE__,__FUNCTION__);
-    return TRUE;
+
+    return result;
 }
 
 /*
@@ -749,26 +736,24 @@ ET_Remove_File_From_Artist_Album_List (ET_File *ETFile)
  * Returns the length of the list of displayed files
  */
 static guint
-ET_Displayed_File_List_Get_Length (void)
+et_displayed_file_list_length (GList *displayed_list)
 {
-    GList *list = NULL;
+    GList *list;
 
-    list = g_list_first(ETCore->ETFileDisplayedList);
-    ETCore->ETFileDisplayedList_Length = g_list_length(list);
-    return ETCore->ETFileDisplayedList_Length;
+    list = g_list_first (displayed_list);
+    return g_list_length (list);;
 }
 
 /*
  * Renumber the list of displayed files (IndexKey) from 1 to n
  */
 static void
-ET_Displayed_File_List_Number (void)
+et_displayed_file_list_renumber (GList *displayed_list)
 {
     GList *l = NULL;
     guint i = 1;
 
-    for (l = g_list_first (ETCore->ETFileDisplayedList); l != NULL;
-         l = g_list_next (l))
+    for (l = g_list_first (displayed_list); l != NULL; l = g_list_next (l))
     {
         ((ET_File *)l->data)->IndexKey = i++;
     }
@@ -777,7 +762,7 @@ ET_Displayed_File_List_Number (void)
 /*
  * Delete the corresponding file and free the allocated data. Return TRUE if deleted.
  */
-gboolean
+void
 ET_Remove_File_From_File_List (ET_File *ETFile)
 {
     GList *ETFileList = NULL;          // Item containing the ETFile to delete... (in ETCore->ETFileList)
@@ -828,11 +813,11 @@ ET_Remove_File_From_File_List (ET_File *ETFile)
     if (ETFileDisplayedList)
         g_list_free(ETFileDisplayedList);
 
-    // Recalculate length of ETFileDisplayedList list
-    ET_Displayed_File_List_Get_Length();
+    /* Recalculate length of ETFileDisplayedList list. */
+    ETCore->ETFileDisplayedList_Length = et_displayed_file_list_length (ETCore->ETFileDisplayedList);
 
-    // To number the ETFile in the list
-    ET_Displayed_File_List_Number();
+    /* To number the ETFile in the list. */
+    et_displayed_file_list_renumber (ETCore->ETFileDisplayedList);
 
     // Displaying...
     if (ETCore->ETFileDisplayedList)
@@ -852,8 +837,6 @@ ET_Remove_File_From_File_List (ET_File *ETFile)
         et_application_window_tag_area_clear (ET_APPLICATION_WINDOW (MainWindow));
         et_application_window_update_actions (ET_APPLICATION_WINDOW (MainWindow));
     }
-
-    return TRUE;
 }
 
 /**************************
@@ -861,17 +844,6 @@ ET_Remove_File_From_File_List (ET_File *ETFile)
  **************************/
 
 /*
- * Sort the 'ETFileDisplayedList' following the 'Sorting_Type'
- * Note : Add also new sorting in 'Browser_List_Sort_Func'
- */
-void
-ET_Sort_Displayed_File_List (EtSortMode Sorting_Type)
-{
-    ETCore->ETFileDisplayedList = ET_Sort_File_List(ETCore->ETFileDisplayedList,Sorting_Type);
-}
-
-
-/*
  * Set appropriate sort order for the given column_id
  */
 static void
@@ -1077,6 +1049,9 @@ ET_Sort_File_List (GList *ETFileList,
         case ET_SORT_MODE_DESCENDING_FILE_SAMPLERATE:
             etfilelist = g_list_sort(etfilelist,(GCompareFunc)ET_Comp_Func_Sort_File_By_Descending_File_Samplerate);
             break;
+        default:
+            g_assert_not_reached ();
+            break;
     }
     /* Save sorting mode (note: needed when called from UI). */
     g_settings_set_enum (MainSettings, "sort-mode", Sorting_Type);
@@ -1086,33 +1061,6 @@ ET_Sort_File_List (GList *ETFileList,
 }
 
 /*
- * Sort the list of files following the 'Sorting_Type' value. The new sorting is displayed in the UI.
- */
-void
-ET_Sort_Displayed_File_List_And_Update_UI (EtSortMode Sorting_Type)
-{
-    g_return_if_fail (ETCore->ETFileList != NULL);
-
-    ET_Save_File_Data_From_UI(ETCore->ETFileDisplayed);
-
-    /* Sort the list */
-    ET_Sort_Displayed_File_List(Sorting_Type);
-
-    /* To number the ETFile in the list */
-    ET_Displayed_File_List_Number();
-
-    /* Reload files in browser list */
-    ET_Displayed_File_List_By_Etfile(ETCore->ETFileDisplayed);  // Just to update 'ETFileDisplayedList'
-    et_application_window_browser_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow),
-                                                          ETCore->ETFileDisplayed,
-                                                          TRUE);
-    ET_Display_File_Data_To_UI(ETCore->ETFileDisplayed);
-
-    et_application_window_browser_refresh_sort (ET_APPLICATION_WINDOW (MainWindow));
-    et_application_window_update_actions (ET_APPLICATION_WINDOW (MainWindow));
-}
-
-/*
  * Returns the first item of the "displayed list"
  */
 GList *
@@ -1194,15 +1142,14 @@ ET_Displayed_File_List_By_Etfile (const ET_File *ETFile)
  * Load the list of displayed files (calculate length, size, ...)
  * It contains part (filtrated : view by artists and albums) or full ETCore->ETFileList list
  */
-gboolean
-ET_Set_Displayed_File_List (GList *ETFileList)
+void
+et_displayed_file_list_set (GList *ETFileList)
 {
     GList *l = NULL;
 
     ETCore->ETFileDisplayedList = g_list_first(ETFileList);
 
-    //ETCore->ETFileDisplayedListPtr = ETCore->ETFileDisplayedList;
-    ETCore->ETFileDisplayedList_Length = ET_Displayed_File_List_Get_Length();
+    ETCore->ETFileDisplayedList_Length = et_displayed_file_list_length (ETCore->ETFileDisplayedList);
     ETCore->ETFileDisplayedList_TotalSize     = 0;
     ETCore->ETFileDisplayedList_TotalDuration = 0;
 
@@ -1214,13 +1161,12 @@ ET_Set_Displayed_File_List (GList *ETFileList)
     }
 
     /* Sort the file list. */
-    ET_Sort_Displayed_File_List (g_settings_get_enum (MainSettings,
-                                 "sort-mode"));
-
-    // Should renums ETCore->ETFileDisplayedList only!
-    ET_Displayed_File_List_Number();
+    ET_Sort_File_List (ETCore->ETFileDisplayedList,
+                       g_settings_get_enum (MainSettings,
+                                            "sort-mode"));
 
-    return TRUE;
+    /* Should renums ETCore->ETFileDisplayedList only! */
+    et_displayed_file_list_renumber (ETCore->ETFileDisplayedList);
 }
 
 /*
@@ -1228,26 +1174,32 @@ ET_Set_Displayed_File_List (GList *ETFileList)
  * (for ex: "/mp3/old_path/file.mp3" to "/mp3/new_path/file.mp3"
  */
 void
-ET_Update_Directory_Name_Into_File_List (const gchar *last_path,
-                                         const gchar *new_path)
+et_file_list_update_directory_name (GList *file_list,
+                                    const gchar *old_path,
+                                    const gchar *new_path)
 {
     GList *filelist;
     ET_File *file;
     GList *filenamelist;
     gchar *filename;
-    gchar *last_path_tmp;
+    gchar *old_path_tmp;
 
-    if (!ETCore->ETFileList || !last_path || !new_path ||
-        strlen(last_path) < 1 || strlen(new_path) < 1 )
-        return;
+    g_return_if_fail (file_list != NULL);
+    g_return_if_fail (old_path != NULL && *old_path != '\0');
+    g_return_if_fail (new_path != NULL && *new_path != '\0');
 
-    // Add '/' to end of path to avoid ambiguity between a directory and a filename...
-    if (last_path[strlen(last_path)-1]==G_DIR_SEPARATOR)
-        last_path_tmp = g_strdup(last_path);
+    /* Add '/' to end of path to avoid ambiguity between a directory and a
+     * filename... */
+    if (old_path[strlen (old_path) - 1] == G_DIR_SEPARATOR)
+    {
+        old_path_tmp = g_strdup (old_path);
+    }
     else
-        last_path_tmp = g_strconcat(last_path,G_DIR_SEPARATOR_S,NULL);
+    {
+        old_path_tmp = g_strconcat (old_path, G_DIR_SEPARATOR_S, NULL);
+    }
 
-    for (filelist = g_list_first (ETCore->ETFileList); filelist != NULL;
+    for (filelist = g_list_first (file_list); filelist != NULL;
          filelist = g_list_next (filelist))
     {
         if ((file = filelist->data))
@@ -1259,32 +1211,33 @@ ET_Update_Directory_Name_Into_File_List (const gchar *last_path,
 
                 if ( FileName && (filename=FileName->value) )
                 {
-                    // Replace path of filename
-                    if ( strncmp(filename,last_path_tmp,strlen(last_path_tmp))==0 )
+                    /* Replace path of filename. */
+                    if (strncmp (filename, old_path_tmp, strlen (old_path_tmp))
+                        == 0)
                     {
                         gchar *filename_tmp;
 
                         // Create the new filename
-                        filename_tmp = g_strconcat(new_path,
-                                                   (new_path[strlen(new_path)-1]==G_DIR_SEPARATOR) ? "" : G_DIR_SEPARATOR_S,
-                                                   &filename[strlen(last_path_tmp)],NULL);
+                        filename_tmp = g_strconcat (new_path,
+                                                    (new_path[strlen (new_path) - 1] == G_DIR_SEPARATOR) ? "" : G_DIR_SEPARATOR_S,
+                                                    &filename[strlen (old_path_tmp)],NULL);
 
                         /* Replace the filename (in file system encoding). */
-                        g_free(FileName->value);
+                        g_free (FileName->value);
                         FileName->value = filename_tmp;
                         /* Replace the filename (in file system encoding). */
-                        g_free(FileName->value_utf8);
-                        FileName->value_utf8 = filename_to_display(FileName->value);
-                        // Recalculate the collate key
-                        g_free(FileName->value_ck);
-                        FileName->value_ck = g_utf8_collate_key_for_filename(FileName->value_utf8, -1);
+                        g_free (FileName->value_utf8);
+                        FileName->value_utf8 = filename_to_display (FileName->value);
+                        /* Recalculate the collate key. */
+                        g_free (FileName->value_ck);
+                        FileName->value_ck = g_utf8_collate_key_for_filename (FileName->value_utf8, -1);
                     }
                 }
              }
         }
     }
 
-    g_free(last_path_tmp);
+    g_free (old_path_tmp);
 }
 
 /*
@@ -1297,8 +1250,8 @@ ET_Undo_History_File_Data (void)
     ET_File *ETFile;
     const ET_History_File *ETHistoryFile;
 
-    g_return_val_if_fail (ETCore->ETHistoryFileList != NULL ||
-                          ET_History_File_List_Has_Undo_Data (), NULL);
+    g_return_val_if_fail (ETCore->ETHistoryFileList != NULL, NULL);
+    g_return_val_if_fail (et_history_list_has_undo (ETCore->ETHistoryFileList), NULL);
 
     ETHistoryFile = (ET_History_File *)ETCore->ETHistoryFileList->data;
     ETFile        = (ET_File *)ETHistoryFile->ETFile;
@@ -1311,15 +1264,15 @@ ET_Undo_History_File_Data (void)
 }
 
 /*
- * Returns TRUE if undo file list contains undo data
+ * et_history_list_has_undo:
+ * @history_list: the end of a history list
+ *
+ * Returns: %TRUE if undo file list contains undo data, %FALSE otherwise
  */
 gboolean
-ET_History_File_List_Has_Undo_Data (void)
+et_history_list_has_undo (GList *history_list)
 {
-    if (ETCore->ETHistoryFileList && ETCore->ETHistoryFileList->prev)
-        return TRUE;
-    else
-        return FALSE;
+    return history_list && history_list->prev;
 }
 
 
@@ -1332,7 +1285,11 @@ ET_Redo_History_File_Data (void)
     ET_File *ETFile;
     ET_History_File *ETHistoryFile;
 
-    if (!ETCore->ETHistoryFileList || !ET_History_File_List_Has_Redo_Data()) return NULL;
+    if (!ETCore->ETHistoryFileList
+        || !et_history_list_has_redo (ETCore->ETHistoryFileList))
+    {
+        return NULL;
+    }
 
     ETHistoryFile = (ET_History_File *)ETCore->ETHistoryFileList->next->data;
     ETFile        = (ET_File *)ETHistoryFile->ETFile;
@@ -1344,25 +1301,27 @@ ET_Redo_History_File_Data (void)
     return ETFile;
 }
 
-
 /*
- * Returns TRUE if undo file list contains redo data
+ * et_history_list_has_redo:
+ * @history_list: the end of a history list
+ *
+ * Returns: %TRUE if undo file list contains redo data, %FALSE otherwise
  */
-gboolean ET_History_File_List_Has_Redo_Data (void)
+gboolean
+et_history_list_has_redo (GList *history_list)
 {
-    if (ETCore->ETHistoryFileList && ETCore->ETHistoryFileList->next)
-        return TRUE;
-    else
-        return FALSE;
+    return history_list && history_list->next;
 }
 
 /*
-* - * Add a ETFile item to the main undo list of files
-*   - */
-gboolean
-ET_Add_File_To_History_List (ET_File *ETFile)
+ * Add a ETFile item to the main undo list of files
+ */
+GList *
+et_history_list_add (GList *history_list,
+                     ET_File *ETFile)
 {
     ET_History_File *ETHistoryFile;
+    GList *result;
 
     g_return_val_if_fail (ETFile != NULL, FALSE);
 
@@ -1370,40 +1329,51 @@ ET_Add_File_To_History_List (ET_File *ETFile)
     ETHistoryFile->ETFile = ETFile;
 
     /* The undo list must contains one item before the 'first undo' data */
-    if (!ETCore->ETHistoryFileList)
+    if (!history_list)
     {
-        ETCore->ETHistoryFileList = g_list_append (ETCore->ETHistoryFileList,
-                                                   g_slice_new0 (ET_History_File));
+        result = g_list_append (NULL,
+                                g_slice_new0 (ET_History_File));
+    }
+    else
+    {
+        result = history_list;
     }
 
     /* Add the item to the list (cut end of list from the current element) */
-    ETCore->ETHistoryFileList = g_list_append(ETCore->ETHistoryFileList,ETHistoryFile);
-    ETCore->ETHistoryFileList = g_list_last(ETCore->ETHistoryFileList);
+    result = g_list_append (result, ETHistoryFile);
+    /* TODO: Investigate whether this is sensible. */
+    result = g_list_last (result);
 
-    return TRUE;
+    return result;
 }
+
 /*
- * Ckecks if some files, in the list, had been changed but not saved.
- * Returns TRUE if all files have been saved.
- * Returns FALSE if some changes haven't been saved.
+ * et_file_list_check_all_saved:
+ * @etfilelist: (element-type ET_File) (allow-none): a list of files
+ *
+ * Checks if some files, in the list, have been changed but not saved.
+ *
+ * Returns: %TRUE if all files have been saved, %FALSE otherwise
  */
 gboolean
-ET_Check_If_All_Files_Are_Saved (void)
+et_file_list_check_all_saved (GList *etfilelist)
 {
-    /* Check if some files haven't been saved, if didn't nochange=0 */
-    if (!ETCore->ETFileList)
+    if (!etfilelist)
     {
         return TRUE;
-    }else
+    }
+    else
     {
         GList *l;
 
-        for (l = g_list_first (ETCore->ETFileList); l != NULL;
-             l = g_list_next (l))
+        for (l = g_list_first (etfilelist); l != NULL; l = g_list_next (l))
         {
-            if (ET_Check_If_File_Is_Saved ((ET_File *)l->data) == FALSE)
+            if (!ET_Check_If_File_Is_Saved ((ET_File *)l->data))
+            {
                 return FALSE;
+            }
         }
+
         return TRUE;
     }
 }
@@ -1413,7 +1383,8 @@ ET_Check_If_All_Files_Are_Saved (void)
  * Parameter "path" should be in UTF-8
  */
 guint
-ET_Get_Number_Of_Files_In_Directory (const gchar *path_utf8)
+et_file_list_get_n_files_in_path (GList *file_list,
+                                  const gchar *path_utf8)
 {
     gchar *path_key;
     GList *l;
@@ -1423,7 +1394,7 @@ ET_Get_Number_Of_Files_In_Directory (const gchar *path_utf8)
 
     path_key = g_utf8_collate_key (path_utf8, -1);
 
-    for (l = g_list_first (ETCore->ETFileList); l != NULL; l = g_list_next (l))
+    for (l = g_list_first (file_list); l != NULL; l = g_list_next (l))
     {
         ET_File *ETFile = (ET_File *)l->data;
         const gchar *cur_filename_utf8 = ((File_Name *)((GList *)ETFile->FileNameCur)->data)->value_utf8;
diff --git a/src/file_list.h b/src/file_list.h
index be7ba20..6630644 100644
--- a/src/file_list.h
+++ b/src/file_list.h
@@ -27,15 +27,15 @@ G_BEGIN_DECLS
 #include "file_tag.h"
 #include "setting.h"
 
-GList * ET_Add_File_To_File_List (gchar *filename);
-gboolean ET_Remove_File_From_File_List (ET_File *ETFile);
-gboolean ET_Free_File_List (void);
+GList * et_file_list_add (GList *file_list, gchar *filename);
+void ET_Remove_File_From_File_List (ET_File *ETFile);
+gboolean et_file_list_check_all_saved (GList *etfilelist);
+void et_file_list_update_directory_name (GList *file_list, const gchar *old_path, const gchar *new_path);
+guint et_file_list_get_n_files_in_path (GList *file_list, const gchar *path_utf8);
+void et_file_list_free (GList *file_list);
 
-gboolean ET_Create_Artist_Album_File_List (void);
-gboolean ET_Free_Artist_Album_File_List (void);
-gboolean ET_Remove_File_From_File_List (ET_File *ETFile);
-
-gboolean ET_Check_If_All_Files_Are_Saved (void);
+GList * et_artist_album_list_new_from_file_list (GList *file_list);
+void et_artist_album_file_list_free (GList *file_list);
 
 GList * ET_Displayed_File_List_First (void);
 GList * ET_Displayed_File_List_Previous (void);
@@ -43,22 +43,18 @@ GList * ET_Displayed_File_List_Next (void);
 GList * ET_Displayed_File_List_Last (void);
 GList * ET_Displayed_File_List_By_Etfile (const ET_File *ETFile);
 
-gboolean ET_Set_Displayed_File_List (GList *ETFileList);
-gboolean ET_Free_Displayed_File_List (void);
+void et_displayed_file_list_set (GList *ETFileList);
+void et_displayed_file_list_free (GList *file_list);
 
+GList * et_history_list_add (GList *history_list, ET_File *ETFile);
 gboolean ET_Add_File_To_History_List (ET_File *ETFile);
 ET_File * ET_Undo_History_File_Data (void);
 ET_File * ET_Redo_History_File_Data (void);
-gboolean ET_History_File_List_Has_Undo_Data (void);
-gboolean ET_History_File_List_Has_Redo_Data (void);
-gboolean ET_Free_History_File_List (void);
-
-void ET_Update_Directory_Name_Into_File_List (const gchar *last_path, const gchar *new_path);
-guint ET_Get_Number_Of_Files_In_Directory (const gchar *path_utf8);
+gboolean et_history_list_has_undo (GList *history_list);
+gboolean et_history_list_has_redo (GList *history_list);
+void et_history_file_list_free (GList *file_list);
 
 GList *ET_Sort_File_List (GList *ETFileList, EtSortMode Sorting_Type);
-void ET_Sort_Displayed_File_List (EtSortMode Sorting_Type);
-void ET_Sort_Displayed_File_List_And_Update_UI (EtSortMode Sorting_Type);
 
 G_END_DECLS
 
diff --git a/src/file_tag.c b/src/file_tag.c
index ab2748b..507b39f 100644
--- a/src/file_tag.c
+++ b/src/file_tag.c
@@ -1,5 +1,5 @@
 /* EasyTAG - tag editor for audio files
- * Copyright (C) 2014  David King <amigadave at amigadave.com>
+ * Copyright (C) 2014,2015  David King <amigadave at amigadave.com>
  *
  * 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
@@ -18,67 +18,39 @@
 
 #include "file_tag.h"
 
-#include "et_core.h"
-
-static void
-ET_Initialize_File_Tag_Item (File_Tag *FileTag)
-{
-    if (FileTag)
-    {
-        FileTag->key         = ET_Undo_Key_New();
-        FileTag->saved       = FALSE;
-        FileTag->title       = NULL;
-        FileTag->artist      = NULL;
-        FileTag->album_artist= NULL;
-        FileTag->album       = NULL;
-        FileTag->disc_number = NULL;
-        FileTag->disc_total = NULL;
-        FileTag->track       = NULL;
-        FileTag->track_total = NULL;
-        FileTag->year        = NULL;
-        FileTag->genre       = NULL;
-        FileTag->comment     = NULL;
-        FileTag->composer    = NULL;
-        FileTag->orig_artist = NULL;
-        FileTag->copyright   = NULL;
-        FileTag->url         = NULL;
-        FileTag->encoded_by  = NULL;
-        FileTag->picture     = NULL;
-        FileTag->other       = NULL;
-    }
-}
+#include "file.h"
 
 /*
- * Create a new File_Tag structure
+ * Create a new File_Tag structure.
  */
-File_Tag *ET_File_Tag_Item_New (void)
+File_Tag *
+et_file_tag_new (void)
 {
-    File_Tag *FileTag;
+    File_Tag *file_tag;
 
-    FileTag = g_slice_new (File_Tag);
-    ET_Initialize_File_Tag_Item (FileTag);
+    file_tag = g_slice_new0 (File_Tag);
+    file_tag->key = ET_Undo_Key_New ();
 
-    return FileTag;
+    return file_tag;
 }
 
 /*
  * Frees the list of 'other' field in a File_Tag item (contains attached gchar data).
  */
-static gboolean
-ET_Free_File_Tag_Item_Other_Field (File_Tag *FileTag)
+static void
+et_file_tag_free_other_field (File_Tag *file_tag)
 {
-    g_list_free_full (FileTag->other, g_free);
-
-    return TRUE;
+    g_list_free_full (file_tag->other, g_free);
 }
 
 
 /*
  * Frees a File_Tag item.
  */
-gboolean ET_Free_File_Tag_Item (File_Tag *FileTag)
+void
+et_file_tag_free (File_Tag *FileTag)
 {
-    g_return_val_if_fail (FileTag != NULL, FALSE);
+    g_return_if_fail (FileTag != NULL);
 
     g_free(FileTag->title);
     g_free(FileTag->artist);
@@ -97,32 +69,27 @@ gboolean ET_Free_File_Tag_Item (File_Tag *FileTag)
     g_free(FileTag->url);
     g_free(FileTag->encoded_by);
     et_file_tag_set_picture (FileTag, NULL);
-    // Free list of other fields
-    ET_Free_File_Tag_Item_Other_Field(FileTag);
+    et_file_tag_free_other_field (FileTag);
 
     g_slice_free (File_Tag, FileTag);
-    return TRUE;
 }
 
 /*
  * Duplicate the 'other' list
  */
 void
-ET_Copy_File_Tag_Item_Other_Field (const ET_File *ETFile,
-                                   File_Tag *FileTag)
+et_file_tag_copy_other_into (File_Tag *destination,
+                             const File_Tag *source)
 {
-    const File_Tag *FileTagCur;
     GList *l;
 
-    FileTagCur = (File_Tag *)(ETFile->FileTag)->data;
-
-    for (l = FileTagCur->other; l != NULL; l = g_list_next (l))
+    for (l = source->other; l != NULL; l = g_list_next (l))
     {
-        FileTag->other = g_list_prepend (FileTag->other,
-                                         g_strdup ((gchar *)l->data));
+        destination->other = g_list_prepend (destination->other,
+                                             g_strdup ((gchar *)l->data));
     }
 
-    FileTag->other = g_list_reverse (FileTag->other);
+    destination->other = g_list_reverse (destination->other);
 }
 
 
@@ -130,176 +97,42 @@ ET_Copy_File_Tag_Item_Other_Field (const ET_File *ETFile,
  * Copy data of the File_Tag structure (of ETFile) to the FileTag item.
  * Reallocate data if not null.
  */
-gboolean
-ET_Copy_File_Tag_Item (const ET_File *ETFile, File_Tag *FileTag)
+void
+et_file_tag_copy_into (File_Tag *destination,
+                       const File_Tag *source)
 {
-    const File_Tag *FileTagCur;
-
-    g_return_val_if_fail (ETFile != NULL && ETFile->FileTag != NULL &&
-                          (File_Tag *)(ETFile->FileTag)->data != NULL, FALSE);
-    g_return_val_if_fail (FileTag != NULL, FALSE);
-
-    /* The data to duplicate to FileTag */
-    FileTagCur = (File_Tag *)(ETFile->FileTag)->data;
-    // Key for the item, may be overwritten
-    FileTag->key = ET_Undo_Key_New();
-
-    if (FileTagCur->title)
-    {
-        FileTag->title = g_strdup(FileTagCur->title);
-    }else
-    {
-        g_free(FileTag->title);
-        FileTag->title = NULL;
-    }
-
-    if (FileTagCur->artist)
-    {
-        FileTag->artist = g_strdup(FileTagCur->artist);
-    }else
-    {
-        g_free(FileTag->artist);
-        FileTag->artist = NULL;
-    }
-
-    if (FileTagCur->album_artist)
-    {
-        FileTag->album_artist = g_strdup(FileTagCur->album_artist);
-    }else
-    {
-        g_free(FileTag->album_artist);
-        FileTag->album_artist = NULL;
-    }
-
-    if (FileTagCur->album)
-    {
-        FileTag->album = g_strdup(FileTagCur->album);
-    }else
-    {
-        g_free(FileTag->album);
-        FileTag->album = NULL;
-    }
-
-    if (FileTagCur->disc_number)
-    {
-        FileTag->disc_number = g_strdup(FileTagCur->disc_number);
-    }else
-    {
-        g_free(FileTag->disc_number);
-        FileTag->disc_number = NULL;
-    }
-
-    if (FileTagCur->disc_total)
-    {
-        FileTag->disc_total = g_strdup (FileTagCur->disc_total);
+    g_return_if_fail (source != NULL);
+    g_return_if_fail (destination != NULL);
+
+    /* Key for the item, may be overwritten. */
+    destination->key = ET_Undo_Key_New ();
+
+    et_file_tag_set_title (destination, source->title);
+    et_file_tag_set_artist (destination, source->artist);
+    et_file_tag_set_album_artist (destination, source->album_artist);
+    et_file_tag_set_album (destination, source->album);
+    et_file_tag_set_disc_number (destination, source->disc_number);
+    et_file_tag_set_disc_total (destination, source->disc_total);
+    et_file_tag_set_year (destination, source->year);
+    et_file_tag_set_track_number (destination, source->track);
+    et_file_tag_set_track_total (destination, source->track_total);
+    et_file_tag_set_genre (destination, source->genre);
+    et_file_tag_set_comment (destination, source->comment);
+    et_file_tag_set_composer (destination, source->composer);
+    et_file_tag_set_orig_artist (destination, source->orig_artist);
+    et_file_tag_set_copyright (destination, source->copyright);
+    et_file_tag_set_url (destination, source->url);
+    et_file_tag_set_encoded_by (destination, source->encoded_by);
+    et_file_tag_set_picture (destination, source->picture);
+
+    if (source->other)
+    {
+        et_file_tag_copy_other_into (destination, source);
     }
     else
     {
-        g_free (FileTag->disc_total);
-        FileTag->disc_total = NULL;
-    }
-
-    if (FileTagCur->year)
-    {
-        FileTag->year = g_strdup(FileTagCur->year);
-    }else
-    {
-        g_free(FileTag->year);
-        FileTag->year = NULL;
-    }
-
-    if (FileTagCur->track)
-    {
-        FileTag->track = g_strdup(FileTagCur->track);
-    }else
-    {
-        g_free(FileTag->track);
-        FileTag->track = NULL;
-    }
-
-    if (FileTagCur->track_total)
-    {
-        FileTag->track_total = g_strdup(FileTagCur->track_total);
-    }else
-    {
-        g_free(FileTag->track_total);
-        FileTag->track_total = NULL;
-    }
-
-    if (FileTagCur->genre)
-    {
-        FileTag->genre = g_strdup(FileTagCur->genre);
-    }else
-    {
-        g_free(FileTag->genre);
-        FileTag->genre = NULL;
+        et_file_tag_free_other_field (destination);
     }
-
-    if (FileTagCur->comment)
-    {
-        FileTag->comment = g_strdup(FileTagCur->comment);
-    }else
-    {
-        g_free(FileTag->comment);
-        FileTag->comment = NULL;
-    }
-
-    if (FileTagCur->composer)
-    {
-        FileTag->composer = g_strdup(FileTagCur->composer);
-    }else
-    {
-        g_free(FileTag->composer);
-        FileTag->composer = NULL;
-    }
-
-    if (FileTagCur->orig_artist)
-    {
-        FileTag->orig_artist = g_strdup(FileTagCur->orig_artist);
-    }else
-    {
-        g_free(FileTag->orig_artist);
-        FileTag->orig_artist = NULL;
-    }
-
-    if (FileTagCur->copyright)
-    {
-        FileTag->copyright = g_strdup(FileTagCur->copyright);
-    }else
-    {
-        g_free(FileTag->copyright);
-        FileTag->copyright = NULL;
-    }
-
-    if (FileTagCur->url)
-    {
-        FileTag->url = g_strdup(FileTagCur->url);
-    }else
-    {
-        g_free(FileTag->url);
-        FileTag->url = NULL;
-    }
-
-    if (FileTagCur->encoded_by)
-    {
-        FileTag->encoded_by = g_strdup(FileTagCur->encoded_by);
-    }else
-    {
-        g_free(FileTag->encoded_by);
-        FileTag->encoded_by = NULL;
-    }
-
-    et_file_tag_set_picture (FileTag, FileTagCur->picture);
-
-    if (FileTagCur->other)
-    {
-        ET_Copy_File_Tag_Item_Other_Field(ETFile,FileTag);
-    }else
-    {
-        ET_Free_File_Tag_Item_Other_Field (FileTag);
-    }
-
-    return TRUE;
 }
 
 /*
@@ -307,8 +140,8 @@ ET_Copy_File_Tag_Item (const ET_File *ETFile, File_Tag *FileTag)
  * Must be used only for the 'gchar *' components
  */
 static void
-ET_Set_Field_File_Tag_Item (gchar **FileTagField,
-                            const gchar *value)
+et_file_tag_set_field (gchar **FileTagField,
+                       const gchar *value)
 {
     g_return_if_fail (FileTagField != NULL);
 
@@ -333,7 +166,7 @@ et_file_tag_set_title (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->title, title);
+    et_file_tag_set_field (&file_tag->title, title);
 }
 
 void
@@ -342,7 +175,7 @@ et_file_tag_set_artist (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->artist, artist);
+    et_file_tag_set_field (&file_tag->artist, artist);
 }
 
 void
@@ -351,7 +184,7 @@ et_file_tag_set_album_artist (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->album_artist, album_artist);
+    et_file_tag_set_field (&file_tag->album_artist, album_artist);
 }
 
 void
@@ -360,7 +193,7 @@ et_file_tag_set_album (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->album, album);
+    et_file_tag_set_field (&file_tag->album, album);
 }
 
 void
@@ -369,7 +202,7 @@ et_file_tag_set_disc_number (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->disc_number, disc_number);
+    et_file_tag_set_field (&file_tag->disc_number, disc_number);
 }
 
 void
@@ -378,7 +211,7 @@ et_file_tag_set_disc_total (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->disc_total, disc_total);
+    et_file_tag_set_field (&file_tag->disc_total, disc_total);
 }
 
 void
@@ -387,7 +220,7 @@ et_file_tag_set_year (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->year, year);
+    et_file_tag_set_field (&file_tag->year, year);
 }
 
 void
@@ -396,7 +229,7 @@ et_file_tag_set_track_number (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->track, track_number);
+    et_file_tag_set_field (&file_tag->track, track_number);
 }
 
 void
@@ -405,7 +238,7 @@ et_file_tag_set_track_total (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->track_total, track_total);
+    et_file_tag_set_field (&file_tag->track_total, track_total);
 }
 
 void
@@ -414,7 +247,7 @@ et_file_tag_set_genre (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->genre, genre);
+    et_file_tag_set_field (&file_tag->genre, genre);
 }
 
 void
@@ -423,7 +256,7 @@ et_file_tag_set_comment (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->comment, comment);
+    et_file_tag_set_field (&file_tag->comment, comment);
 }
 
 void
@@ -432,7 +265,7 @@ et_file_tag_set_composer (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->composer, composer);
+    et_file_tag_set_field (&file_tag->composer, composer);
 }
 
 void
@@ -441,7 +274,7 @@ et_file_tag_set_orig_artist (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->orig_artist, orig_artist);
+    et_file_tag_set_field (&file_tag->orig_artist, orig_artist);
 }
 
 void
@@ -450,7 +283,7 @@ et_file_tag_set_copyright (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->copyright, copyright);
+    et_file_tag_set_field (&file_tag->copyright, copyright);
 }
 
 void
@@ -459,7 +292,7 @@ et_file_tag_set_url (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->url, url);
+    et_file_tag_set_field (&file_tag->url, url);
 }
 
 void
@@ -468,7 +301,7 @@ et_file_tag_set_encoded_by (File_Tag *file_tag,
 {
     g_return_if_fail (file_tag != NULL);
 
-    ET_Set_Field_File_Tag_Item (&file_tag->encoded_by, encoded_by);
+    et_file_tag_set_field (&file_tag->encoded_by, encoded_by);
 }
 
 /*
@@ -503,7 +336,7 @@ et_file_tag_set_picture (File_Tag *file_tag,
  *  - if field is '' or NULL => will be removed
  */
 gboolean
-ET_Detect_Changes_Of_File_Tag (const File_Tag *FileTag1,
+et_file_tag_detect_difference (const File_Tag *FileTag1,
                                const File_Tag *FileTag2)
 {
     const EtPicture *pic1;
diff --git a/src/file_tag.h b/src/file_tag.h
index 9793535..f62660b 100644
--- a/src/file_tag.h
+++ b/src/file_tag.h
@@ -1,5 +1,5 @@
 /* EasyTAG - tag editor for audio files
- * Copyright (C) 2014  David King <amigadave at amigadave.com>
+ * Copyright (C) 2014,2015  David King <amigadave at amigadave.com>
  *
  * 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
@@ -75,8 +75,8 @@ typedef struct
     GList *other;
 } File_Tag;
 
-File_Tag * ET_File_Tag_Item_New (void);
-gboolean ET_Free_File_Tag_Item (File_Tag *FileTag);
+File_Tag * et_file_tag_new (void);
+void et_file_tag_free (File_Tag *file_tag);
 
 void et_file_tag_set_title (File_Tag *file_tag, const gchar *title);
 void et_file_tag_set_artist (File_Tag *file_tag, const gchar *artist);
@@ -96,7 +96,10 @@ void et_file_tag_set_url (File_Tag *file_tag, const gchar *url);
 void et_file_tag_set_encoded_by (File_Tag *file_tag, const gchar *encoded_by);
 void et_file_tag_set_picture (File_Tag *file_tag, const EtPicture *pic);
 
-gboolean ET_Detect_Changes_Of_File_Tag (const File_Tag *FileTag1, const File_Tag  *FileTag2);
+void et_file_tag_copy_into (File_Tag *destination, const File_Tag *source);
+void et_file_tag_copy_other_into (File_Tag *destination, const File_Tag *source);
+
+gboolean et_file_tag_detect_difference (const File_Tag *FileTag1, const File_Tag  *FileTag2);
 
 G_END_DECLS
 
diff --git a/src/load_files_dialog.c b/src/load_files_dialog.c
index 0c3a2d6..1d562a1 100644
--- a/src/load_files_dialog.c
+++ b/src/load_files_dialog.c
@@ -367,6 +367,9 @@ Load_Filename_List_Key_Press (GtkWidget *treeview, GdkEvent *event)
                 Load_Filename_List_Insert_Blank_Line(treeview);
                 return GDK_EVENT_STOP;
                 break;
+            default:
+                /* Ignore all other keypresses. */
+                break;
         }
     }
 
diff --git a/src/log.c b/src/log.c
index 07b67d6..c347120 100644
--- a/src/log.c
+++ b/src/log.c
@@ -184,7 +184,7 @@ et_log_area_init (EtLogArea *self)
 
 
 GtkWidget *
-et_log_area_new ()
+et_log_area_new (void)
 {
     return g_object_new (ET_TYPE_LOG_AREA, NULL);
 }
@@ -287,7 +287,7 @@ Log_Print (EtLogAreaKind error_type, const gchar * const format, ...)
     va_list args;
     gchar *string;
     gchar *time;
-    gint n_items;
+    guint n_items;
     GtkTreeIter iter;
     static gboolean first_time = TRUE;
     static gchar *file_path = NULL;
@@ -308,8 +308,8 @@ Log_Print (EtLogAreaKind error_type, const gchar * const format, ...)
     time = Log_Format_Date ();
 
     /* Remove lines that exceed the limit. */
-    n_items = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (priv->log_model),
-                                              NULL);
+    n_items = (guint)gtk_tree_model_iter_n_children (GTK_TREE_MODEL (priv->log_model),
+                                                     NULL);
 
     if (n_items > g_settings_get_uint (MainSettings, "log-lines") - 1
         && gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->log_model),
@@ -367,7 +367,6 @@ Log_Print (EtLogAreaKind error_type, const gchar * const format, ...)
 
     if (file_ostream)
     {
-        gchar *time;
         GString *data;
         gsize bytes_written;
 
diff --git a/src/misc.c b/src/misc.c
index c76cd2f..cc5d519 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -142,26 +142,6 @@ gboolean Add_String_To_Combo_List (GtkListStore *liststore, const gchar *str)
 #endif
 }
 
-/*
- * Returns the text of the selected item in a combo box
- * Remember to free the returned value...
- */
-gchar *Get_Active_Combo_Box_Item (GtkComboBox *combo)
-{
-    gchar *text;
-    GtkTreeIter iter;
-    GtkTreeModel *model;
-
-    g_return_val_if_fail (combo != NULL, NULL);
-
-    model = gtk_combo_box_get_model(combo);
-    if (!gtk_combo_box_get_active_iter(combo, &iter))
-        return NULL;
-
-    gtk_tree_model_get(model, &iter, MISC_COMBO_TEXT, &text, -1);
-    return text;
-}
-
 static void
 et_on_child_exited (GPid pid, gint status, gpointer user_data)
 {
diff --git a/src/misc.h b/src/misc.h
index bc1a10e..ae3a14f 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -28,7 +28,6 @@ G_BEGIN_DECLS
  * Combobox misc functions
  */
 gboolean Add_String_To_Combo_List(GtkListStore *liststore, const gchar *string);
-gchar   *Get_Active_Combo_Box_Item(GtkComboBox *combo);
 
 gchar *Convert_Duration (gulong duration);
 
diff --git a/src/picture.c b/src/picture.c
index a9f53cd..8845585 100644
--- a/src/picture.c
+++ b/src/picture.c
@@ -158,6 +158,7 @@ Picture_Mime_Type_String (Picture_Format format)
             return "image/png";
         case PICTURE_FORMAT_GIF:
             return "image/gif";
+        case PICTURE_FORMAT_UNKNOWN:
         default:
             g_debug ("%s", "Unrecognised image MIME type");
             return "application/octet-stream";
@@ -176,6 +177,7 @@ Picture_Format_String (Picture_Format format)
             return _("PNG image");
         case PICTURE_FORMAT_GIF:
             return _("GIF image");
+        case PICTURE_FORMAT_UNKNOWN:
         default:
             return _("Unknown image");
     }
@@ -252,26 +254,19 @@ et_picture_format_info (const EtPicture *pic,
     type = Picture_Type_String (pic->type);
     size_str = g_format_size (g_bytes_get_size (pic->bytes));
 
-    // Behaviour following the tag type...
-    switch (tag_type)
+    /* Behaviour following the tag type. */
+    if (tag_type == MP4_TAG)
     {
-        case MP4_TAG:
-        {
-            r = g_strdup_printf ("%s (%s - %d×%d %s)\n%s: %s", format,
-                                 size_str, pic->width, pic->height,
-                                 _("pixels"), _("Type"), type);
-            break;
-        }
-
-        // Other tag types
-        default:
-        {
-            r = g_strdup_printf ("%s (%s - %d×%d %s)\n%s: %s\n%s: %s", format,
-                                 size_str, pic->width, pic->height,
-                                 _("pixels"), _("Type"), type,
-                                 _("Description"), desc);
-            break;
-        }
+        r = g_strdup_printf ("%s (%s - %d×%d %s)\n%s: %s", format,
+                             size_str, pic->width, pic->height,
+                             _("pixels"), _("Type"), type);
+    }
+    else
+    {
+        r = g_strdup_printf ("%s (%s - %d×%d %s)\n%s: %s\n%s: %s", format,
+                             size_str, pic->width, pic->height,
+                             _("pixels"), _("Type"), type,
+                             _("Description"), desc);
     }
 
     g_free (size_str);
diff --git a/src/playlist_dialog.c b/src/playlist_dialog.c
index f0c6447..946786a 100644
--- a/src/playlist_dialog.c
+++ b/src/playlist_dialog.c
@@ -226,6 +226,9 @@ write_playlist (EtPlaylistDialog *self, GFile *file, GError **error)
                         g_free (mask);
                         g_free (filename_generated_utf8);
                     }
+                    default:
+                        g_assert_not_reached ();
+                        break;
                 }
 
                 /* 3) Write the file path. */
@@ -345,6 +348,9 @@ write_playlist (EtPlaylistDialog *self, GFile *file, GError **error)
                     g_free (filename_generated_utf8);
                 }
                 break;
+                default:
+                    g_assert_not_reached ();
+                    break;
             }
 
             /* 3) Write the file path. */
@@ -433,7 +439,6 @@ write_button_clicked (EtPlaylistDialog *self)
     /* Build the playlist filename. */
     if (g_settings_get_boolean (MainSettings, "playlist-use-mask"))
     {
-        gchar *playlist_name;
         EtConvertSpaces convert_mode;
 
         if (!ETCore->ETFileList)
@@ -466,8 +471,11 @@ write_button_clicked (EtPlaylistDialog *self)
             case ET_CONVERT_SPACES_REMOVE:
                 Scan_Remove_Spaces (playlist_basename_utf8);
                 break;
+            /* FIXME: Check that this is intended. */
+            case ET_CONVERT_SPACES_NO_CHANGE:
             default:
                 g_assert_not_reached ();
+                break;
         }
     }else // PLAYLIST_USE_DIR_NAME
     {
diff --git a/src/preferences_dialog.c b/src/preferences_dialog.c
index 31c87a4..112cba9 100644
--- a/src/preferences_dialog.c
+++ b/src/preferences_dialog.c
@@ -1141,71 +1141,6 @@ Check_DefaultPathToMp3 (EtPreferencesDialog *self)
     return FALSE;
 }
 
-/*
- * The character set conversion is used for ID3 tag. UTF-8 is used to display.
- *  - reading_character is converted to UTF-8
- *  - writing_character is converted from UTF-8
- */
-/*****************
-gint Check_CharacterSetTranslation (void)
-{
-    gchar *temp;
-    gchar *reading_character;
-    gchar *writing_character;
-
-    temp = Get_Active_Combo_Box_Item(GTK_COMBO_BOX(FileReadingCharacterSetCombo));
-    reading_character = Charset_Get_Name_From_Title(temp);
-    g_free(temp);
-
-    temp = Get_Active_Combo_Box_Item(GTK_COMBO_BOX(FileWritingCharacterSetCombo));
-    writing_character = Charset_Get_Name_From_Title(temp);
-    g_free(temp);
-
-    // Check conversion when reading file
-    if ( GTK_TOGGLE_BUTTON(UseNonStandardId3ReadingCharacterSet)->active
-    && (test_conversion_charset(reading_character,"UTF-8")!=TRUE) )
-    {
-        gchar *msg = g_strdup_printf(_("The character set translation from '%s'\n"
-                                       "to '%s' is not supported"),reading_character,"UTF-8");
-        GtkWidget *msgbox = msg_box_new(_("Error"),
-                                        GTK_WINDOW(OptionsWindow),
-                                        NULL,
-                                        GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                        msg,
-                                        GTK_STOCK_DIALOG_ERROR,
-                                        GTK_STOCK_OK, GTK_RESPONSE_OK,
-                                        NULL);
-        gtk_dialog_run(GTK_DIALOG(msgbox));
-        gtk_widget_destroy(msgbox);
-        g_free(msg);
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(UseNonStandardId3ReadingCharacterSet),FALSE);
-        return 0;
-    }
-    // Check conversion when writing file
-    if ( GTK_TOGGLE_BUTTON(UseNonStandardId3WritingCharacterSet)->active
-    && (test_conversion_charset("UTF-8",writing_character)!=TRUE) )
-    {
-        gchar *msg = g_strdup_printf(_("The character set translation from '%s'\n"
-                                       "to '%s' is not supported"),"UTF-8",writing_character);
-        GtkWidget *msgbox = msg_box_new(_("Error"),
-                                        GTK_WINDOW(OptionsWindow),
-                                        NULL,
-                                        GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
-                                        msg,
-                                        GTK_STOCK_DIALOG_ERROR,
-                                        GTK_STOCK_OK, GTK_RESPONSE_OK,
-                                        NULL);
-        gtk_dialog_run(GTK_DIALOG(msgbox));
-        gtk_widget_destroy(msgbox);
-        g_free(msg);
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(UseNonStandardId3WritingCharacterSet),FALSE);
-        return 0;
-    }
-
-    return 1;
-}
-*************/
-
 static gboolean
 Check_Config (EtPreferencesDialog *self)
 {
diff --git a/src/scan_dialog.c b/src/scan_dialog.c
index 0c25813..263270f 100644
--- a/src/scan_dialog.c
+++ b/src/scan_dialog.c
@@ -1,5 +1,5 @@
 /* EasyTAG - Tag editor for audio files
- * Copyright (C) 2014  David King <amigadave at amigadave.com>
+ * Copyright (C) 2014,2014  David King <amigadave at amigadave.com>
  * Copyright (C) 2000-2003  Jerome Couderc <easytag at gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -205,8 +205,6 @@ static GList *Scan_Generate_New_Tag_From_Mask (ET_File *ETFile, gchar *mask);
 static void Scan_Free_File_Rename_List (GList *list);
 static void Scan_Free_File_Fill_Tag_List (GList *list);
 
-static GList *Scan_Generate_New_Tag_From_Mask (ET_File *ETFile, gchar *mask);
-
 static void et_scan_on_response (GtkDialog *dialog, gint response_id,
                                  gpointer user_data);
 
@@ -348,8 +346,8 @@ Scan_Tag_With_Mask (EtScanDialog *self, ET_File *ETFile)
     if (!mask) return;
 
     // Create a new File_Tag item
-    FileTag = ET_File_Tag_Item_New();
-    ET_Copy_File_Tag_Item(ETFile,FileTag);
+    FileTag = et_file_tag_new ();
+    et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
 
     // Process this mask with file
     fill_tag_list = Scan_Generate_New_Tag_From_Mask(ETFile,mask);
@@ -388,33 +386,27 @@ Scan_Tag_With_Mask (EtScanDialog *self, ET_File *ETFile)
         GError *error = NULL;
         guint32 crc32_value;
         gchar *buffer;
-        const ET_File_Description *ETFileDescription;
 
-        ETFileDescription = ETFile->ETFileDescription;
-        switch (ETFileDescription->TagType)
+        if (ETFile->ETFileDescription == ID3_TAG)
         {
-            case ID3_TAG:
-                file = g_file_new_for_path (((File_Name *)((GList *)ETFile->FileNameNew)->data)->value);
+            file = g_file_new_for_path (((File_Name *)((GList *)ETFile->FileNameNew)->data)->value);
 
-                if (crc32_file_with_ID3_tag (file, &crc32_value, &error))
-                {
-                    buffer = g_strdup_printf ("%.8" G_GUINT32_FORMAT,
-                                              crc32_value);
-                    et_file_tag_set_comment (FileTag, buffer);
-                    g_free(buffer);
-                }
-                else
-                {
-                    Log_Print (LOG_ERROR,
-                               _("Cannot calculate CRC value of file ‘%s’"),
-                               error->message);
-                    g_error_free (error);
-                }
+            if (crc32_file_with_ID3_tag (file, &crc32_value, &error))
+            {
+                buffer = g_strdup_printf ("%.8" G_GUINT32_FORMAT,
+                                          crc32_value);
+                et_file_tag_set_comment (FileTag, buffer);
+                g_free(buffer);
+            }
+            else
+            {
+                Log_Print (LOG_ERROR,
+                           _("Cannot calculate CRC value of file ‘%s’"),
+                           error->message);
+                g_error_free (error);
+            }
 
-                g_object_unref (file);
-                break;
-            default:
-                break;
+            g_object_unref (file);
         }
     }
 
@@ -440,7 +432,7 @@ Scan_Generate_New_Tag_From_Mask (ET_File *ETFile, gchar *mask)
     gchar *buf;
     gchar *separator;
     gchar *string;
-    gint  len, i, loop=0;
+    gsize len, i, loop=0;
     gchar **mask_splitted;
     gchar **file_splitted;
     guint mask_splitted_number;
@@ -457,7 +449,7 @@ Scan_Generate_New_Tag_From_Mask (ET_File *ETFile, gchar *mask)
 
     // Remove extension of file (if found)
     tmp = strrchr(filename_utf8,'.');
-    for (i=0; i<=(gint)ET_FILE_DESCRIPTION_SIZE; i++)
+    for (i = 0; i <= ET_FILE_DESCRIPTION_SIZE; i++)
     {
         if ( strcasecmp(tmp,ETFileDescription[i].Extension)==0 )
         {
@@ -492,6 +484,8 @@ Scan_Generate_New_Tag_From_Mask (ET_File *ETFile, gchar *mask)
             break;
         case ET_CONVERT_SPACES_NO_CHANGE:
             break;
+        /* FIXME: Check if this is intentional. */
+        case ET_CONVERT_SPACES_REMOVE:
         default:
             g_assert_not_reached ();
     }
@@ -952,6 +946,8 @@ et_scan_generate_new_filename_from_mask (const ET_File *ETFile,
                     case ET_CONVERT_SPACES_REMOVE:
                         Scan_Remove_Spaces (mask_item->string);
                         break;
+                    /* FIXME: Check that this is intended. */
+                    case ET_CONVERT_SPACES_NO_CHANGE:
                     default:
                         g_assert_not_reached ();
                 }
@@ -1009,20 +1005,22 @@ et_scan_generate_new_filename_from_mask (const ET_File *ETFile,
     for (l = g_list_last (rename_file_list); l != NULL;
          l = g_list_previous (l))
     {
-        File_Mask_Item *mask_item = l->data;
+        File_Mask_Item *mask_item2 = l->data;
 
-        if ( mask_item->type==TRAILING_SEPARATOR ) // Trailing characters of mask
+        /* Trailing mask characters. */
+        if (mask_item2->type == TRAILING_SEPARATOR)
         {
             // Doesn't write it if previous field is empty
             if (l->prev
                 && ((File_Mask_Item *)l->prev->data)->type != EMPTY_FIELD)
             {
                 filename_tmp = filename_new_utf8;
-                filename_new_utf8 = g_strconcat(mask_item->string,filename_new_utf8,NULL);
+                filename_new_utf8 = g_strconcat (mask_item2->string,
+                                                 filename_new_utf8, NULL);
                 g_free(filename_tmp);
             }
-        }else
-        if ( mask_item->type==EMPTY_FIELD )
+        }
+        else if (mask_item2->type == EMPTY_FIELD)
         // We don't concatenate the field value (empty) and the previous
         // separator (except leading separator) to the filename.
         // If the empty field is the 'first', we don't concatenate it, and the
@@ -1060,7 +1058,8 @@ et_scan_generate_new_filename_from_mask (const ET_File *ETFile,
         }else // SEPARATOR, FIELD, LEADING_SEPARATOR, DIRECTORY_SEPARATOR
         {
             filename_tmp = filename_new_utf8;
-            filename_new_utf8 = g_strconcat(mask_item->string,filename_new_utf8,NULL);
+            filename_new_utf8 = g_strconcat (mask_item2->string,
+                                             filename_new_utf8, NULL);
             g_free(filename_tmp);
         }
     }
@@ -1242,6 +1241,9 @@ Scan_Process_Fields_Functions (EtScanDialog *self, gchar **string)
             break;
         case ET_PROCESS_FIELDS_CONVERT_NO_CHANGE:
             break;
+        default:
+            g_assert_not_reached ();
+            break;
     }
 
     /* FIXME: Use GSettings keys instead of toggle buton states. */
@@ -1356,8 +1358,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->title);
@@ -1375,8 +1377,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->artist);
@@ -1394,8 +1396,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->album_artist);
@@ -1413,8 +1415,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->album);
@@ -1432,8 +1434,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->genre);
@@ -1451,8 +1453,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->comment);
@@ -1470,8 +1472,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->composer);
@@ -1489,8 +1491,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->orig_artist);
@@ -1508,8 +1510,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->copyright);
@@ -1527,8 +1529,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->url);
@@ -1546,8 +1548,8 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
         {
             if (!FileTag)
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(ETFile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, ETFile->FileTag->data);
             }
 
             string = g_strdup(st_filetag->encoded_by);
@@ -1577,7 +1579,9 @@ Scan_Process_Fields (EtScanDialog *self, ET_File *ETFile)
  * Function when you select an item of the option menu
  */
 static void
-on_scan_mode_changed (EtScanDialog *self, gchar *key, GSettings *settings)
+on_scan_mode_changed (EtScanDialog *self,
+                      const gchar *key,
+                      GSettings *settings)
 {
     EtScanDialogPrivate *priv;
     EtScanMode mode;
@@ -1657,19 +1661,6 @@ on_scan_mode_changed (EtScanDialog *self, gchar *key, GSettings *settings)
     }
 }
 
-void
-et_scan_dialog_open (EtScanDialog *self, EtScanMode scanner_type)
-{
-    g_return_if_fail (ET_SCAN_DIALOG (self));
-    g_return_if_fail (scanner_type >= ET_SCAN_MODE_FILL_TAG
-                      && scanner_type <= ET_SCAN_MODE_PROCESS_FIELDS);
-
-    if (g_settings_get_enum (MainSettings, "scan-mode") != scanner_type)
-    {
-        g_settings_set_enum (MainSettings, "scan-mode", scanner_type);
-    }
-}
-
 static void
 Mask_Editor_List_Add (EtScanDialog *self)
 {
@@ -1825,7 +1816,7 @@ Process_Fields_First_Letters_Check_Button_Toggled (EtScanDialog *self)
  */
 static void
 on_process_fields_changed (EtScanDialog *self,
-                           gchar *key,
+                           const gchar *key,
                            GSettings *settings)
 {
     EtScanDialogPrivate *priv;
@@ -2071,6 +2062,9 @@ Mask_Editor_List_Key_Press (GtkWidget *widget,
                 Mask_Editor_List_Remove (self);
                 return GDK_EVENT_STOP;
                 break;
+            default:
+                /* Ignore all other keypresses. */
+                break;
         }
     }
 
diff --git a/src/scan_dialog.h b/src/scan_dialog.h
index 4819d86..70a6021 100644
--- a/src/scan_dialog.h
+++ b/src/scan_dialog.h
@@ -51,7 +51,6 @@ struct _EtScanDialogClass
 GType et_scan_dialog_get_type (void);
 EtScanDialog *et_scan_dialog_new (GtkWindow *parent);
 void et_scan_dialog_apply_changes (EtScanDialog *self);
-void et_scan_dialog_open (EtScanDialog *self, EtScanMode scanner_type);
 void et_scan_dialog_scan_selected_files (EtScanDialog *self);
 void et_scan_dialog_update_previews (EtScanDialog *self);
 
diff --git a/src/setting.c b/src/setting.c
index 81943a5..e5d6e70 100644
--- a/src/setting.c
+++ b/src/setting.c
@@ -44,6 +44,8 @@
 
 #include "win32/win32dep.h"
 
+/* Referenced in the header. */
+GSettings *MainSettings;
 
 /***************
  * Declaration *
diff --git a/src/setting.h b/src/setting.h
index 5e31153..c6f8169 100644
--- a/src/setting.h
+++ b/src/setting.h
@@ -235,7 +235,7 @@ typedef enum
  * Config variables
  */
 
-GSettings *MainSettings;
+extern GSettings *MainSettings;
 
 void Init_Config_Variables (void);
 
diff --git a/src/tag_area.c b/src/tag_area.c
index d6ea9ef..5fa6526 100644
--- a/src/tag_area.c
+++ b/src/tag_area.c
@@ -1,5 +1,5 @@
 /* EasyTAG - tag editor for audio files
- * Copyright (C) 2014  David King <amigadave at amigadave.com>
+ * Copyright (C) 2014,2015  David King <amigadave at amigadave.com>
  *
  * 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
@@ -176,8 +176,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_title (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -198,8 +198,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_artist (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -219,8 +219,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_album_artist (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -241,8 +241,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_album (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -279,8 +279,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_disc_number (FileTag, string_to_set);
             et_file_tag_set_disc_total (FileTag, string_to_set1);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
@@ -311,8 +311,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_year (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -335,8 +335,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
 
             // We apply the TrackEntry field to all others files only if it is to delete
             // the field (string=""). Else we don't overwrite the track number
@@ -402,8 +402,8 @@ on_apply_to_selection (GObject *object,
             // The file is in the selection?
             if ( (ET_File *)etfilelistfull->data == etfile )
             {
-                FileTag = ET_File_Tag_Item_New();
-                ET_Copy_File_Tag_Item(etfile,FileTag);
+                FileTag = et_file_tag_new ();
+                et_file_tag_copy_into (FileTag, etfile->FileTag->data);
                 et_file_tag_set_track_number (FileTag, string_to_set);
                 ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
 
@@ -433,14 +433,14 @@ on_apply_to_selection (GObject *object,
             filename_utf8 = ((File_Name *)etfile->FileNameNew->data)->value_utf8;
             path_utf8     = g_path_get_dirname(filename_utf8);
 
-            string_to_set = et_track_number_to_string (ET_Get_Number_Of_Files_In_Directory (path_utf8));
+            string_to_set = et_track_number_to_string (et_file_list_get_n_files_in_path (ETCore->ETFileList, path_utf8));
 
             g_free(path_utf8);
             if (!string_to_set1)
                 string_to_set1 = g_strdup(string_to_set); // Just for the message below...
 
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_track_total (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -462,8 +462,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_genre (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -491,8 +491,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_comment (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -512,8 +512,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_composer (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -534,8 +534,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_orig_artist (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -556,8 +556,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_copyright (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -578,8 +578,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_url (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -600,8 +600,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_encoded_by (FileTag, string_to_set);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -640,8 +640,8 @@ on_apply_to_selection (GObject *object,
         for (l = etfilelist; l != NULL; l = g_list_next (l))
         {
             etfile = (ET_File *)l->data;
-            FileTag = ET_File_Tag_Item_New();
-            ET_Copy_File_Tag_Item(etfile,FileTag);
+            FileTag = et_file_tag_new ();
+            et_file_tag_copy_into (FileTag, etfile->FileTag->data);
             et_file_tag_set_picture (FileTag, res);
             ET_Manage_Changes_Of_File_Data(etfile,NULL,FileTag);
         }
@@ -1440,6 +1440,7 @@ load_picture_from_file (GFile *file,
                 }
                 break;
 
+            case UNKNOWN_TAG:
             default:
                 g_assert_not_reached ();
         }
@@ -1489,41 +1490,36 @@ on_picture_add_button_clicked (GObject *object,
                                                        _("_Open"),
                                                        GTK_RESPONSE_OK, NULL);
 
-    // Add files filters
-    // "All files" filter
+    /* "All Files" filter. */
     filter = gtk_file_filter_new ();
-    gtk_file_filter_set_name(GTK_FILE_FILTER(filter), _("All Files"));
-    gtk_file_filter_add_pattern(GTK_FILE_FILTER(filter), "*");
-    gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(FileSelectionWindow), GTK_FILE_FILTER(filter));
+    gtk_file_filter_set_name (filter, _("All Files"));
+    gtk_file_filter_add_pattern (filter, "*");
+    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (FileSelectionWindow),
+                                 filter);
 
-    // "PNG and JPEG" filter
+    /* "PNG and JPEG" filter. */
     filter = gtk_file_filter_new ();
-    gtk_file_filter_set_name(GTK_FILE_FILTER(filter), _("PNG and JPEG"));
-    gtk_file_filter_add_mime_type(GTK_FILE_FILTER(filter), "image/jpeg"); // Using mime type avoid problem of case sensitive with extensions
-    gtk_file_filter_add_mime_type(GTK_FILE_FILTER(filter), "image/png");
-    //gtk_file_filter_add_pattern(GTK_FILE_FILTER(filter), "*.jpeg"); // Warning: *.JPEG or *.JpEg files will not be displayed
-    //gtk_file_filter_add_pattern(GTK_FILE_FILTER(filter), "*.jpg");
-    //gtk_file_filter_add_pattern(GTK_FILE_FILTER(filter), "*.png");
-    gtk_file_chooser_add_filter(GTK_FILE_CHOOSER (FileSelectionWindow), GTK_FILE_FILTER(filter));
-    // Make this filter the default
-    gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(FileSelectionWindow), GTK_FILE_FILTER(filter));
+    gtk_file_filter_set_name (filter, _("PNG and JPEG"));
+    gtk_file_filter_add_mime_type (filter, "image/jpeg");
+    gtk_file_filter_add_mime_type (filter, "image/png");
+    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (FileSelectionWindow),
+                                 filter);
+    /* Make this filter the default. */
+    gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (FileSelectionWindow),
+                                 filter);
 
     // Behaviour following the tag type...
-    switch (ETCore->ETFileDisplayed->ETFileDescription->TagType)
+    if (ETCore->ETFileDisplayed->ETFileDescription->TagType == MP4_TAG)
     {
-        case MP4_TAG:
-        {
-            // Only one file can be selected
-            gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(FileSelectionWindow), FALSE);
-            break;
-        }
-
-        // Other tag types
-        default:
-        {
-            gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(FileSelectionWindow), TRUE);
-            break;
-        }
+        /* Only one file can be selected. */
+        gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (FileSelectionWindow),
+                                              FALSE);
+    }
+    else
+    {
+        /* Other tag types .*/
+        gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (FileSelectionWindow),
+                                              TRUE);
     }
 
     gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (FileSelectionWindow),
@@ -1661,45 +1657,40 @@ on_picture_properties_button_clicked (GObject *object,
         g_object_unref (store);
 
         /* Behaviour following the tag type. */
-        switch (ETCore->ETFileDisplayed->ETFileDescription->TagType)
+        if (ETCore->ETFileDisplayed->ETFileDescription->TagType == MP4_TAG)
         {
-            case MP4_TAG:
+            /* Load picture type (only Front Cover!). */
+            GtkTreeIter itertype;
+
+            gtk_list_store_insert_with_values (store, &itertype,
+                                               G_MAXINT,
+                                               PICTURE_TYPE_COLUMN_TEXT,
+                                               _(Picture_Type_String (ET_PICTURE_TYPE_FRONT_COVER)),
+                                               PICTURE_TYPE_COLUMN_TYPE_CODE,
+                                               ET_PICTURE_TYPE_FRONT_COVER,
+                                               -1);
+            /* Line to select by default. */
+            type_iter_to_select = itertype;
+        }
+        else
+        /* Other tag types. */
+        {
+            /* Load pictures types. */
+            for (pic_type = ET_PICTURE_TYPE_OTHER; pic_type < ET_PICTURE_TYPE_UNDEFINED; pic_type++)
             {
-                /* Load picture type (only Front Cover!). */
                 GtkTreeIter itertype;
 
-                gtk_list_store_insert_with_values (store, &itertype, G_MAXINT,
+                gtk_list_store_insert_with_values (store, &itertype,
+                                                   G_MAXINT,
                                                    PICTURE_TYPE_COLUMN_TEXT,
-                                                   _(Picture_Type_String (ET_PICTURE_TYPE_FRONT_COVER)),
+                                                   _(Picture_Type_String (pic_type)),
                                                    PICTURE_TYPE_COLUMN_TYPE_CODE,
-                                                   ET_PICTURE_TYPE_FRONT_COVER,
-                                                   -1);
+                                                   pic_type, -1);
                 /* Line to select by default. */
-                type_iter_to_select = itertype;
-                break;
-            }
-
-            /* Other tag types. */
-            default:
-            {
-                /* Load pictures types. */
-                for (pic_type = ET_PICTURE_TYPE_OTHER; pic_type < ET_PICTURE_TYPE_UNDEFINED; pic_type++)
+                if (pic->type == pic_type)
                 {
-                    GtkTreeIter itertype;
-
-                    gtk_list_store_insert_with_values (store, &itertype,
-                                                       G_MAXINT,
-                                                       PICTURE_TYPE_COLUMN_TEXT,
-                                                       _(Picture_Type_String (pic_type)),
-                                                       PICTURE_TYPE_COLUMN_TYPE_CODE,
-                                                       pic_type, -1);
-                    /* Line to select by default. */
-                    if (pic->type == pic_type)
-                    {
-                        type_iter_to_select = itertype;
-                    }
+                    type_iter_to_select = itertype;
                 }
-                break;
             }
         }
 
@@ -1727,15 +1718,10 @@ on_picture_properties_button_clicked (GObject *object,
             g_free (tmp);
         }
 
-        // Behaviour following the tag type...
-        switch (ETCore->ETFileDisplayed->ETFileDescription->TagType)
+        /* Behaviour following the tag type. */
+        if (ETCore->ETFileDisplayed->ETFileDescription->TagType == MP4_TAG)
         {
-            case MP4_TAG:
-                gtk_widget_set_sensitive (GTK_WIDGET (desc), FALSE);
-                break;
-            /* Other tag types. */
-            default:
-                break;
+            gtk_widget_set_sensitive (GTK_WIDGET (desc), FALSE);
         }
 
         gtk_widget_show_all (PictureTypesWindow);
@@ -1854,21 +1840,23 @@ on_picture_save_button_clicked (GObject *object,
                                                            NULL);
         g_free(title);
 
-        // Add files filters
-        // "All files" filter
+        /* "All Files" filter. */
         filter = gtk_file_filter_new ();
-        gtk_file_filter_set_name(GTK_FILE_FILTER(filter), _("All Files"));
-        gtk_file_filter_add_pattern(GTK_FILE_FILTER(filter), "*");
-        gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(FileSelectionWindow), GTK_FILE_FILTER(filter));
+        gtk_file_filter_set_name (filter, _("All Files"));
+        gtk_file_filter_add_pattern (filter, "*");
+        gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (FileSelectionWindow),
+                                     filter);
 
-        // "PNG and JPEG" filter
+        /* "PNG and JPEG" filter. */
         filter = gtk_file_filter_new ();
-        gtk_file_filter_set_name(GTK_FILE_FILTER(filter), _("PNG and JPEG"));
-        gtk_file_filter_add_mime_type(GTK_FILE_FILTER(filter), "image/jpeg");
-        gtk_file_filter_add_mime_type(GTK_FILE_FILTER(filter), "image/png");
-        gtk_file_chooser_add_filter(GTK_FILE_CHOOSER (FileSelectionWindow), GTK_FILE_FILTER(filter));
-        // Make this filter the default
-        gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(FileSelectionWindow),  GTK_FILE_FILTER(filter));
+        gtk_file_filter_set_name (filter, _("PNG and JPEG"));
+        gtk_file_filter_add_mime_type (filter, "image/jpeg");
+        gtk_file_filter_add_mime_type (filter, "image/png");
+        gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (FileSelectionWindow),
+                                     filter);
+        /* Make this filter the default. */
+        gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (FileSelectionWindow),
+                                     filter);
 
         // Set the default folder if defined
         if (init_dir)
@@ -1892,7 +1880,8 @@ on_picture_save_button_clicked (GObject *object,
                 case PICTURE_FORMAT_GIF:
                     image_name = g_strdup ("image_name.gif");
                     break;
-                case PICTURE_FORMAT_UNKNOWN :
+                case PICTURE_FORMAT_UNKNOWN:
+                default:
                     image_name = g_strdup("image_name.ext");
                     break;
             }
@@ -2099,6 +2088,9 @@ on_picture_view_key_pressed (GtkTreeView *treeview,
                 on_picture_clear_button_clicked (G_OBJECT (priv->remove_image_toolitem),
                                                  self);
                 return GDK_EVENT_STOP;
+            default:
+                /* Ignore all other keypresses. */
+                break;
         }
     }
 
@@ -2115,8 +2107,8 @@ create_tag_area (EtTagArea *self)
     GtkBuilder *builder;
     GError *error = NULL;
 
-    /* For Picture. */
-    static const GtkTargetEntry drops[] = { { "text/uri-list", 0,
+    /* For Picture. Ignore const string warning. */
+    static const GtkTargetEntry drops[] = { { (gchar *)"text/uri-list", 0,
                                               TARGET_URI_LIST } };
     GtkTreeSelection *selection;
 
@@ -2702,7 +2694,7 @@ et_tag_area_create_file_tag (EtTagArea *self)
     priv = et_tag_area_get_instance_private (self);
 
     /* Save tag data and generate undo for tag. */
-    FileTag = ET_File_Tag_Item_New ();
+    FileTag = et_file_tag_new ();
 
     /* Title */
     buffer = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->title_entry)));
diff --git a/src/tags/flac_header.c b/src/tags/flac_header.c
index ee60fb7..f2c1109 100644
--- a/src/tags/flac_header.c
+++ b/src/tags/flac_header.c
@@ -108,21 +108,14 @@ et_flac_header_read_file_info (GFile *file,
 
         metadata_len += block->length;
 
-        switch (block->type)
+        if (block->type == FLAC__METADATA_TYPE_STREAMINFO)
         {
-            case FLAC__METADATA_TYPE_STREAMINFO:
-                {
-                    const FLAC__StreamMetadata_StreamInfo *stream_info = &block->data.stream_info;
-                    ETFileInfo->duration = stream_info->total_samples
-                                           / stream_info->sample_rate;
-                    ETFileInfo->mode = stream_info->channels;
-                    ETFileInfo->samplerate = stream_info->sample_rate;
-                    ETFileInfo->version = 0; /* Not defined in FLAC file. */
-                }
-                break;
-            default:
-                /* Ignore all other metadata types. */
-                break;
+            const FLAC__StreamMetadata_StreamInfo *stream_info = &block->data.stream_info;
+            ETFileInfo->duration = stream_info->total_samples
+                                   / stream_info->sample_rate;
+            ETFileInfo->mode = stream_info->channels;
+            ETFileInfo->samplerate = stream_info->sample_rate;
+            ETFileInfo->version = 0; /* Not defined in FLAC file. */
         }
     }
     while (FLAC__metadata_iterator_next (iter));
diff --git a/src/tags/flac_tag.c b/src/tags/flac_tag.c
index f4a42f3..5e97c2f 100644
--- a/src/tags/flac_tag.c
+++ b/src/tags/flac_tag.c
@@ -111,19 +111,10 @@ flac_tag_read_file_tag (GFile *file,
 
     if (!FLAC__metadata_chain_read_with_callbacks (chain, &state, callbacks))
     {
-        FLAC__Metadata_ChainStatus status;
-
-        status = FLAC__metadata_chain_status (chain);
-
-        switch (status)
-        {
-            /* TODO: Provide a dedicated error enum corresponding to status. */
-            default:
-                g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, "%s",
-                             _("Error opening FLAC file"));
-                et_flac_read_close_func (&state);
-                break;
-        }
+        /* TODO: Provide a dedicated error enum corresponding to status. */
+        g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, "%s",
+                     _("Error opening FLAC file"));
+        et_flac_read_close_func (&state);
 
         return FALSE;
     }
@@ -146,10 +137,8 @@ flac_tag_read_file_tag (GFile *file,
 
         block = FLAC__metadata_iterator_get_block (iter);
 
-        switch (block->type)
+        if (block->type == FLAC__METADATA_TYPE_VORBIS_COMMENT)
         {
-            case FLAC__METADATA_TYPE_VORBIS_COMMENT:
-            {
                 FLAC__StreamMetadata_VorbisComment       *vc;
                 FLAC__StreamMetadata_VorbisComment_Entry *field;
                 gint   field_num;
@@ -651,45 +640,33 @@ flac_tag_read_file_tag (GFile *file,
                         FileTag->other = g_list_append(FileTag->other,g_strndup((const gchar *)field->entry, field->length));
                     }
                 }
-                
-                break;
-            }
-
-            
-            //
-            // Read the PICTURE block (severals can exist)
-            //
-            case FLAC__METADATA_TYPE_PICTURE: 
-            {
-                /* Picture. */
-                FLAC__StreamMetadata_Picture *p;
-                GBytes *bytes;
-                EtPicture *pic;
-            
-                /* Get picture data from block. */
-                p = &block->data.picture;
-
-                bytes = g_bytes_new (p->data, p->data_length);
-            
-                pic = et_picture_new (p->type, (const gchar *)p->description,
-                                      0, 0, bytes);
-                g_bytes_unref (bytes);
+        }
+        else if (block->type == FLAC__METADATA_TYPE_PICTURE)
+        {
+            /* Picture. */
+            FLAC__StreamMetadata_Picture *p;
+            GBytes *bytes;
+            EtPicture *pic;
+        
+            /* Get picture data from block. */
+            p = &block->data.picture;
 
-                if (!prev_pic)
-                {
-                    FileTag->picture = pic;
-                }
-                else
-                {
-                    prev_pic->next = pic;
-                }
+            bytes = g_bytes_new (p->data, p->data_length);
+        
+            pic = et_picture_new (p->type, (const gchar *)p->description,
+                                  0, 0, bytes);
+            g_bytes_unref (bytes);
 
-                prev_pic = pic;
-                break;
+            if (!prev_pic)
+            {
+                FileTag->picture = pic;
             }
-                
-            default:
-                break;
+            else
+            {
+                prev_pic->next = pic;
+            }
+
+            prev_pic = pic;
         }
     }
 
@@ -897,43 +874,32 @@ flac_tag_write_file_tag (const ET_File *ETFile,
     
     while (FLAC__metadata_iterator_next (iter))
     {
-        switch (FLAC__metadata_iterator_get_block_type (iter))
+        const FLAC__MetadataType block_type = FLAC__metadata_iterator_get_block_type (iter);
+
+        /* TODO: Modify the blocks directly, rather than deleting and
+         * recreating. */
+        if (block_type == FLAC__METADATA_TYPE_VORBIS_COMMENT)
         {
-            /* TODO: Modify the blocks directly, rather than deleting and
-             * recreating. */
-            //
             // Delete the VORBIS_COMMENT block and convert to padding. But before, save the original vendor string.
-            //
-            case FLAC__METADATA_TYPE_VORBIS_COMMENT:
-            {
-                // Get block data
-                FLAC__StreamMetadata *block = FLAC__metadata_iterator_get_block(iter);
-                FLAC__StreamMetadata_VorbisComment *vc = &block->data.vorbis_comment;
-                
-                if (vc->vendor_string.entry != NULL)
-                {
-                    // Get initial vendor string, to don't alterate it by FLAC__VENDOR_STRING when saving file
-                    vce_field_vendor_string.entry = (FLAC__byte *)g_strdup((gchar *)vc->vendor_string.entry);
-                    vce_field_vendor_string.length = strlen((gchar *)vce_field_vendor_string.entry);
-                    vce_field_vendor_string_found = TRUE;
-                }
-                
-                // Free block data
-                FLAC__metadata_iterator_delete_block(iter,true);
-                break;
-            }
+            /* Get block data. */
+            FLAC__StreamMetadata *block = FLAC__metadata_iterator_get_block(iter);
+            FLAC__StreamMetadata_VorbisComment *vc = &block->data.vorbis_comment;
             
-            //
-            // Delete all the PICTURE blocks, and convert to padding
-            //
-            case FLAC__METADATA_TYPE_PICTURE: 
+            if (vc->vendor_string.entry != NULL)
             {
-                FLAC__metadata_iterator_delete_block(iter,true);
-                break;
+                // Get initial vendor string, to don't alterate it by FLAC__VENDOR_STRING when saving file
+                vce_field_vendor_string.entry = (FLAC__byte *)g_strdup ((gchar *)vc->vendor_string.entry);
+                vce_field_vendor_string.length = strlen ((gchar *)vce_field_vendor_string.entry);
+                vce_field_vendor_string_found = TRUE;
             }
-
-            default:
-                break;
+            
+            /* Free block data. */
+            FLAC__metadata_iterator_delete_block (iter, true);
+        }
+        else if (block_type == FLAC__METADATA_TYPE_PICTURE)
+        {
+            /* Delete all the PICTURE blocks, and convert to padding. */
+            FLAC__metadata_iterator_delete_block (iter, true);
         }
     }
     
@@ -1225,7 +1191,7 @@ flac_tag_write_file_tag (const ET_File *ETFile,
         // Delete the ID3 tags (create a dummy ETFile for the Id3tag_... function)
         ET_File   *ETFile_tmp    = ET_File_Item_New();
         File_Name *FileName_tmp  = ET_File_Name_Item_New();
-        File_Tag  *FileTag_tmp   = ET_File_Tag_Item_New();
+        File_Tag  *FileTag_tmp = et_file_tag_new ();
         // Same file...
         FileName_tmp->value      = g_strdup(filename);
         FileName_tmp->value_utf8 = g_strdup(filename_utf8); // Not necessary to fill 'value_ck'
diff --git a/src/tags/gio_wrapper.cc b/src/tags/gio_wrapper.cc
index a560577..234e217 100644
--- a/src/tags/gio_wrapper.cc
+++ b/src/tags/gio_wrapper.cc
@@ -47,17 +47,17 @@ GIO_InputStream::name () const
 }
 
 TagLib::ByteVector
-GIO_InputStream::readBlock (TagLib::ulong length)
+GIO_InputStream::readBlock (TagLib::ulong len)
 {
     if (error)
     {
         return TagLib::ByteVector::null;
     }
 
-    TagLib::ByteVector rv (length, 0);
+    TagLib::ByteVector rv (len, 0);
     gsize bytes;
     g_input_stream_read_all (G_INPUT_STREAM (stream), (void *)rv.data (),
-                             length, &bytes, NULL, &error);
+                             len, &bytes, NULL, &error);
 
     return rv.resize (bytes);
 }
@@ -77,7 +77,7 @@ GIO_InputStream::insert (TagLib::ByteVector const &data,
 }
 
 void
-GIO_InputStream::removeBlock (TagLib::ulong start, TagLib::ulong length)
+GIO_InputStream::removeBlock (TagLib::ulong start, TagLib::ulong len)
 {
     g_warning ("%s", "Trying to write to read-only file!");
 }
@@ -161,7 +161,7 @@ GIO_InputStream::length ()
 }
 
 void
-GIO_InputStream::truncate (long int length)
+GIO_InputStream::truncate (long int len)
 {
     g_warning ("%s", "Trying to truncate read-only file");
 }
@@ -200,7 +200,7 @@ GIO_IOStream::name () const
 }
 
 TagLib::ByteVector
-GIO_IOStream::readBlock (TagLib::ulong length)
+GIO_IOStream::readBlock (TagLib::ulong len)
 {
     if (error)
     {
@@ -208,10 +208,10 @@ GIO_IOStream::readBlock (TagLib::ulong length)
     }
 
     gsize bytes = 0;
-    TagLib::ByteVector rv (length, 0);
+    TagLib::ByteVector rv (len, 0);
     GInputStream *istream = g_io_stream_get_input_stream (G_IO_STREAM (stream));
     g_input_stream_read_all (istream,
-                             (void *)rv.data (), length,
+                             (void *)rv.data (), len,
                              &bytes,
                              NULL, &error);
 
@@ -459,14 +459,14 @@ GIO_IOStream::length ()
 }
 
 void
-GIO_IOStream::truncate (long int length)
+GIO_IOStream::truncate (long int len)
 {
     if (error)
     {
         return;
     }
 
-    g_seekable_truncate (G_SEEKABLE (stream), length, NULL, &error);
+    g_seekable_truncate (G_SEEKABLE (stream), len, NULL, &error);
 }
 
 const GError *GIO_IOStream::getError () const
diff --git a/src/tags/id3_tag.c b/src/tags/id3_tag.c
index 1489722..e192c67 100644
--- a/src/tags/id3_tag.c
+++ b/src/tags/id3_tag.c
@@ -89,9 +89,15 @@ gchar *
 et_id3tag_get_tpos_from_file_tag (const File_Tag *FileTag)
 {
     GString *gstring;
-    gchar *p;
+    const gchar *p;
 
     gstring = g_string_new ("");
+
+    if (!FileTag->disc_number)
+    {
+        return g_string_free (gstring, FALSE);
+    }
+
     p = FileTag->disc_number;
 
     while (*p)
@@ -194,23 +200,23 @@ id3tag_write_file_v23tag (const ET_File *ETFile,
     {
         GtkWidget *msgdialog;
         gchar *basename;
-        gchar *basename_utf8;
+        gchar *utf8_basename;
 
         basename = g_file_get_basename (file);
-        basename_utf8 = filename_to_display (basename);
+        utf8_basename = filename_to_display (basename);
 
         msgdialog = gtk_message_dialog_new (GTK_WINDOW (MainWindow),
                                             GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
                                             GTK_MESSAGE_ERROR,
                                             GTK_BUTTONS_CLOSE,
                                             _("As the following corrupted file ‘%s’ will cause an error in id3lib, it will not be processed"),
-                                            basename_utf8);
+                                            utf8_basename);
         gtk_window_set_title (GTK_WINDOW (msgdialog), _("Corrupted file"));
 
         gtk_dialog_run (GTK_DIALOG (msgdialog));
         gtk_widget_destroy (msgdialog);
         g_free (basename);
-        g_free (basename_utf8);
+        g_free (utf8_basename);
         g_object_unref (file);
         return FALSE;
     }
@@ -509,6 +515,7 @@ id3tag_write_file_v23tag (const ET_File *ETFile,
                     ID3Field_SetASCII (id3_field, "GIF");
                 }
                 break;
+            case PICTURE_FORMAT_UNKNOWN:
             default:
                 break;
         }
@@ -559,7 +566,7 @@ id3tag_write_file_v23tag (const ET_File *ETFile,
         // Delete the APE tag (create a dummy ETFile for the Ape_Tag_... function)
         ET_File   *ETFile_tmp    = ET_File_Item_New();
         File_Name *FileName_tmp  = ET_File_Name_Item_New();
-        File_Tag  *FileTag_tmp   = ET_File_Tag_Item_New();
+        File_Tag  *FileTag_tmp = et_file_tag_new();
         // Same file...
         FileName_tmp->value      = g_strdup(filename);
         FileName_tmp->value_utf8 = g_strdup(filename_utf8);  // Not necessary to fill 'value_ck'
@@ -654,9 +661,11 @@ id3tag_write_file_v23tag (const ET_File *ETFile,
                     && g_settings_get_boolean (MainSettings,
                                                "id3v2-enable-unicode"))
                 {
-                    File_Tag  *FileTag_tmp = ET_File_Tag_Item_New();
+                    File_Tag  *FileTag_tmp = et_file_tag_new ();
+
                     if (id3tag_read_file_tag (file, FileTag_tmp, NULL) == TRUE
-                    &&  ET_Detect_Changes_Of_File_Tag(FileTag,FileTag_tmp) == TRUE)
+                        && et_file_tag_detect_difference (FileTag,
+                                                          FileTag_tmp) == TRUE)
                     {
                         GtkWidget *msgdialog;
 
@@ -679,7 +688,8 @@ id3tag_write_file_v23tag (const ET_File *ETFile,
                         gtk_widget_destroy(msgdialog);
                         flag_id3lib_bugged = FALSE; // To display the message only one time
                     }
-                    ET_Free_File_Tag_Item(FileTag_tmp);
+
+                    et_file_tag_free (FileTag_tmp);
                 }
 
             }
@@ -980,15 +990,9 @@ gchar *Id3tag_Get_Field (const ID3Frame *id3_frame, ID3_FieldID id3_fieldid)
                 }
                 else if (ID3Field_IsEncodable (id3_field))
                 {
-                    gint id3v1v2_charset;
-                    const gchar *charset;
-
                     string = g_malloc0 (ID3V2_MAX_STRING_LEN + 1);
                     num_chars = ID3Field_GetASCII_1 (id3_field, string,
                                                      ID3V2_MAX_STRING_LEN, 0);
-                    id3v1v2_charset = g_settings_get_enum (MainSettings,
-                                                           "id3v1v2-charset");
-                    charset = et_charset_get_name_from_index (id3v1v2_charset);
                     string1 = convert_string (string, charset, "UTF-8", FALSE);
                     /* Override to a non-standard character encoding. */
                     goto out;
@@ -1028,6 +1032,8 @@ gchar *Id3tag_Get_Field (const ID3Frame *id3_frame, ID3_FieldID id3_fieldid)
                 string1 = convert_string_1(string,num_chars,"UTF-16BE","UTF-8",FALSE);
                 break;
 
+            case ID3TE_NONE:
+            case ID3TE_NUMENCODINGS:
             default:
                 string = g_malloc0 (4 * ID3V2_MAX_STRING_LEN + 1);
                 num_chars = ID3Field_GetASCII_1(id3_field,string,ID3V2_MAX_STRING_LEN,0);
@@ -1208,6 +1214,10 @@ Id3tag_Set_Field (const ID3Frame *id3_frame,
                 break;
 
 override:
+            case ID3TE_UTF16BE:
+            case ID3TE_UTF8:
+            case ID3TE_NUMENCODINGS:
+            case ID3TE_NONE:
             default:
             {
                 //string_converted = convert_string(string,"UTF-8",charset,TRUE);
diff --git a/src/tags/id3lib/c_wrapper.cpp b/src/tags/id3lib/c_wrapper.cpp
index 7f63406..ace7442 100644
--- a/src/tags/id3lib/c_wrapper.cpp
+++ b/src/tags/id3lib/c_wrapper.cpp
@@ -1,29 +1,23 @@
-// id3lib: a C++ library for creating and manipulating id3v1/v2 tags
-// Copyright 1999, 2000  Scott Thomas Haug
-// Copyright 2002 Thijmen Klok (thijmen at id3lib.org)
-
-// This library is free software; you can redistribute it and/or modify it
-// under the terms of the GNU Library General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or (at your
-// option) any later version.
-//
-// This library 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 Library General Public
-// License for more details.
-//
-// You should have received a copy of the GNU Library General Public License
-// along with this library; if not, write to the Free Software Foundation,
-// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-// The id3lib authors encourage improvements and optimisations to be sent to
-// the id3lib coordinator.  Please see the README file for details on where to
-// send such submissions.  See the AUTHORS file for a list of people who have
-// contributed to id3lib.  See the ChangeLog file for a list of changes to
-// id3lib.  These files are distributed with id3lib at
-// http://download.sourceforge.net/id3lib/
-
-//#include <string.h>
+/* EasyTAG - tag editor for audio files
+ * Copyright (C) 2014 David King <amigadave at amigadave.com>
+ * Copyright (C) 1999, 2000  Scott Thomas Haug
+ * Copyright (C) 2002 Thijmen Klok (thijmen at id3lib.org)
+ *
+ * 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.
+ */
+
 #include "config.h"
 
 #ifdef ENABLE_ID3LIB
diff --git a/src/tags/id3lib/id3_bugfix.h b/src/tags/id3lib/id3_bugfix.h
index 14e97a9..f21f9ed 100644
--- a/src/tags/id3lib/id3_bugfix.h
+++ b/src/tags/id3lib/id3_bugfix.h
@@ -1,42 +1,32 @@
-/* 
- * id3lib: a software library for creating and manipulating id3v1/v2 tags
- * Copyright 1999, 2000  Scott Thomas Haug
- * Copyright 2002 Thijmen Klok (thijmen at id3lib.org)
+/* EasyTAG - tag editor for audio files
+ * Copyright (C) 2014 David King <amigadave at amigadave.com>
+ * Copyright (C) 1999, 2000  Scott Thomas Haug
+ * Copyright (C) 2002 Thijmen Klok (thijmen at id3lib.org)
  *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Library 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 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 library is distributed in the hope that it will be useful, but WITHOUT
+ * 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 Library General Public
- * License for more details.
-
- * You should have received a copy of the GNU Library General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- * The id3lib authors encourage improvements and optimisations to be sent to
- * the id3lib coordinator.  Please see the README file for details on where to
- * send such submissions.  See the AUTHORS file for a list of people who have
- * contributed to id3lib.  See the ChangeLog file for a list of changes to
- * id3lib.  These files are distributed with id3lib at
- * http://download.sourceforge.net/id3lib/
+ * 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.
  */
 
-#ifndef _ID3LIB_BUGFIX_H_
-#define _ID3LIB_BUGFIX_H_
-
+#ifndef ET_ID3LIB_BUGFIX_H_
+#define ET_ID3LIB_BUGFIX_H_
 
 #ifdef ENABLE_ID3LIB
 
-#include "id3.h"
+#include <glib.h>
+#include <id3.h>
 
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
   ID3_C_EXPORT bool                  CCONV ID3Field_SetEncoding    (ID3Field *field, ID3_TextEnc enc);
   ID3_C_EXPORT ID3_TextEnc           CCONV ID3Field_GetEncoding    (const ID3Field *field);
@@ -46,11 +36,8 @@ extern "C"
 
   ID3_C_EXPORT const Mp3_Headerinfo* CCONV ID3Tag_GetMp3HeaderInfo (ID3Tag *tag);
   
-#ifdef __cplusplus
-}
-#endif /*__cplusplus*/
-
+G_END_DECLS
 
 #endif /* ENABLE_ID3LIB */
 
-#endif /* _ID3LIB_BUGFIX_H_ */
+#endif /* ET_ID3LIB_BUGFIX_H_ */
diff --git a/src/tags/id3v24_tag.c b/src/tags/id3v24_tag.c
index 1a0679f..96a0197 100644
--- a/src/tags/id3v24_tag.c
+++ b/src/tags/id3v24_tag.c
@@ -153,7 +153,7 @@ id3tag_read_file_tag (GFile *gfile,
                                             &string1[ID3_TAG_QUERYSIZE],
                                             tagsize - ID3_TAG_QUERYSIZE,
                                             &bytes_read, NULL, error)
-                && bytes_read == tagsize - ID3_TAG_QUERYSIZE
+                && bytes_read == (gsize)(tagsize - ID3_TAG_QUERYSIZE)
             && (tag = id3_tag_parse((id3_byte_t const *)string1, tagsize))
                )
             {
@@ -454,31 +454,30 @@ id3tag_read_file_tag (GFile *gfile,
         /* Picture file data. */
         for (j = 0; (field = id3_frame_field(frame, j)); j++)
         {
-            switch (id3_field_type(field))
+            enum id3_field_type field_type;
+
+            field_type = id3_field_type (field);
+
+            if (field_type == ID3_FIELD_TYPE_BINARYDATA)
             {
-                case ID3_FIELD_TYPE_BINARYDATA:
-                    {
-                        id3_length_t size;
-                        id3_byte_t const *data;
-                        
-                        data = id3_field_getbinarydata (field, &size);
+                id3_length_t size;
+                id3_byte_t const *data;
 
-                        if (data)
-                        {
-                            if (bytes)
-                            {
-                                g_bytes_unref (bytes);
-                            }
+                data = id3_field_getbinarydata (field, &size);
 
-                            bytes = g_bytes_new (data, size);
-                        }
+                if (data)
+                {
+                    if (bytes)
+                    {
+                        g_bytes_unref (bytes);
                     }
-                    break;
-                case ID3_FIELD_TYPE_INT8:
-                    type = id3_field_getint (field);
-                    break;
-                default:
-                    break;
+
+                    bytes = g_bytes_new (data, size);
+                }
+            }
+            else if (field_type == ID3_FIELD_TYPE_INT8)
+            {
+                type = id3_field_getint (field);
             }
         }
 
@@ -615,9 +614,9 @@ etag_guess_byteorder(const id3_ucs4_t *ustr, gchar **ret) /* XXX */
     }
     else
     {
-        const gchar *tmp;
-        g_get_charset (&tmp);
-        charset = g_strdup (tmp);
+        const gchar *temp;
+        g_get_charset (&temp);
+        charset = g_strdup (temp);
     }
 
     if (!charset)
@@ -1158,27 +1157,26 @@ id3tag_write_file_v24tag (const ET_File *ETFile,
             for (i = 0; (field = id3_frame_field(frame, i)); i++)
             {
                 Picture_Format format;
+                enum id3_field_type field_type;
+
+                field_type = id3_field_type (field);
                 
-                switch (id3_field_type(field))
+                if (field_type == ID3_FIELD_TYPE_LATIN1)
                 {
-                    case ID3_FIELD_TYPE_LATIN1:
-                        format = Picture_Format_From_Data(pic);
-                        id3_field_setlatin1(field, (id3_latin1_t const *)Picture_Mime_Type_String(format));
-                        break;
-                    case ID3_FIELD_TYPE_INT8:
-                        id3_field_setint(field, pic->type);
-                        break;
-                    case ID3_FIELD_TYPE_BINARYDATA:
-                        {
-                            gconstpointer data;
-                            gsize data_size;
+                    format = Picture_Format_From_Data(pic);
+                    id3_field_setlatin1(field, (id3_latin1_t const *)Picture_Mime_Type_String(format));
+                }
+                else if (field_type == ID3_FIELD_TYPE_INT8)
+                {
+                    id3_field_setint (field, pic->type);
+                }
+                else if (field_type == ID3_FIELD_TYPE_BINARYDATA)
+                {
+                    gconstpointer data;
+                    gsize data_size;
 
-                            data = g_bytes_get_data (pic->bytes, &data_size);
-                            id3_field_setbinarydata (field, data, data_size);
-                        }
-                        break;
-                    default:
-                        break;
+                    data = g_bytes_get_data (pic->bytes, &data_size);
+                    id3_field_setbinarydata (field, data, data_size);
                 }
             }
 
@@ -1392,79 +1390,114 @@ id3taglib_set_field(struct id3_frame *frame,
         if (is_set && !clear)
             break;
 
-        switch (curtype = id3_field_type(field))
+        curtype = id3_field_type (field);
+
+        if (curtype == ID3_FIELD_TYPE_TEXTENCODING)
         {
-            case ID3_FIELD_TYPE_TEXTENCODING:
-                id3_field_settextencoding(field, enc_field);
-                break;
-            case ID3_FIELD_TYPE_LATIN1:
-                if (clear)
-                    id3_field_setlatin1(field, NULL);
-                if ((type == curtype) && !is_set)
+            id3_field_settextencoding (field, enc_field);
+        }
+        else if (curtype == ID3_FIELD_TYPE_LATIN1)
+        {
+            if (clear)
+            {
+                id3_field_setlatin1 (field, NULL);
+            }
+
+            if ((type == curtype) && !is_set)
+            {
+                if (num == 0)
                 {
-                    if (num == 0)
-                    {
-                        id3_field_setlatin1(field, (id3_latin1_t const *)latinstr);
-                        is_set = 1;
-                    }else
-                        num--;
+                    id3_field_setlatin1 (field,
+                                         (id3_latin1_t const *)latinstr);
+                    is_set = 1;
                 }
-                break;
-            case ID3_FIELD_TYPE_LATIN1FULL:
+                else
+                {
+                    num--;
+                }
+            }
+        }
+        else if (curtype == ID3_FIELD_TYPE_LATIN1FULL)
+        {
                 if (clear)
-                    id3_field_setfulllatin1(field, NULL);
+                {
+                    id3_field_setfulllatin1 (field, NULL);
+                }
                 if ((type == curtype) && !is_set)
                 {
                     if (num == 0)
                     {
-                        id3_field_setfulllatin1(field, (id3_latin1_t const *)latinstr);
+                        id3_field_setfulllatin1 (field,
+                                                 (id3_latin1_t const *)latinstr);
                         is_set = 1;
-                    }else
+                    }
+                    else
+                    {
                         num--;
+                    }
                 }
-                break;
-            case ID3_FIELD_TYPE_STRING:
+        }
+        else if (curtype == ID3_FIELD_TYPE_STRING)
+        {
                 if (clear)
-                    id3_field_setstring(field, NULL);
+                {
+                    id3_field_setstring (field, NULL);
+                }
+
                 if ((type == curtype) && !is_set)
                 {
                     if (num == 0)
                     {
                         id3_field_setstring(field, buf);
                         is_set = 1;
-                    }else
+                    }
+                    else
+                    {
                         num--;
+                    }
                 }
-                break;
-            case ID3_FIELD_TYPE_STRINGFULL:
-                if (clear)
-                    id3_field_setfullstring(field, NULL);
-                if ((type == curtype) && !is_set)
+        }
+        else if (curtype == ID3_FIELD_TYPE_STRINGFULL)
+        {
+            if (clear)
+            {
+                id3_field_setfullstring (field, NULL);
+            }
+
+            if ((type == curtype) && !is_set)
+            {
+                if (num == 0)
                 {
-                    if (num == 0)
-                    {
-                        id3_field_setfullstring(field, buf);
-                        is_set = 1;
-                    }else
-                        num--;
+                    id3_field_setfullstring (field, buf);
+                    is_set = 1;
                 }
-                break;
-            case ID3_FIELD_TYPE_STRINGLIST:
-                if (clear)
-                    id3_field_setstrings(field, 0, NULL);
-                if ((type == curtype) && !is_set)
+                else
                 {
-                    if ((num == 0) && (buf))
-                    {
-                        id3_field_addstring(field, buf);
-                        is_set = 1;
-                    }else
-                        num--;
+                    num--;
                 }
-                break;
-            default:
-                break;
+            }
+        }
+        else if (curtype == ID3_FIELD_TYPE_STRINGLIST)
+        {
+            if (clear)
+            {
+                id3_field_setstrings (field, 0, NULL);
+            }
+
+            if ((type == curtype) && !is_set)
+            {
+                if ((num == 0) && (buf))
+                {
+                    id3_field_addstring (field, buf);
+                    is_set = 1;
+                }
+                else
+                {
+                    num--;
+                }
+            }
         }
+
         if (is_set)
         {
             free(latinstr);
@@ -1734,7 +1767,7 @@ etag_write_tags (const gchar *filename,
         goto err;
     }
 
-    if (filev2size == v2size)
+    if (filev2size == (long)v2size)
     {
         if (!g_seekable_seek (seekable, 0, G_SEEK_SET, NULL, error))
         {
diff --git a/src/tags/libapetag/apetaglib.c b/src/tags/libapetag/apetaglib.c
index aeceef5..2f407e0 100644
--- a/src/tags/libapetag/apetaglib.c
+++ b/src/tags/libapetag/apetaglib.c
@@ -754,7 +754,7 @@ apetag_read_fp(apetag *mem_cnt, FILE * fp, const char *filename, int flag)
         
         for (p = buff; p < end && tagCount--;) {
             /* 8 = sizeof( sizeValue+flags ) */
-            unsigned long flag = ape2long(p + 4);
+            unsigned long flags = ape2long (p + 4);
             unsigned long sizeValue = ape2long(p);
             unsigned long sizeName;
             char *name = (char *)p + 8;
@@ -763,11 +763,11 @@ apetag_read_fp(apetag *mem_cnt, FILE * fp, const char *filename, int flag)
             sizeName = strlen((char *)p + 8);
             value = (char *)p + sizeName + 8 + 1;
             if (apeTag2 == 1000 && value[sizeValue - 1] == '\0') {
-                libapetag_maloc_cont(mem_cnt, flag,
+                libapetag_maloc_cont(mem_cnt, flags,
                              sizeName, name,
                              sizeValue - 1, value);
             } else {
-                libapetag_maloc_cont(mem_cnt, flag,
+                libapetag_maloc_cont(mem_cnt, flags,
                              sizeName, name,
                              sizeValue, value);
             }
diff --git a/src/tags/mp4_tag.cc b/src/tags/mp4_tag.cc
index 32eaf20..441e9b0 100644
--- a/src/tags/mp4_tag.cc
+++ b/src/tags/mp4_tag.cc
@@ -33,8 +33,15 @@
 #include "charset.h"
 #include "gio_wrapper.h"
 
+/* Shadow warning in public TagLib headers. */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wshadow"
+#ifdef G_OS_WIN32
+#undef NOMINMAX /* Warning in TagLib headers, fixed in git. */
+#endif /* G_OS_WIN32 */
 #include <mp4file.h>
 #include <mp4tag.h>
+#pragma GCC diagnostic pop
 #include <tpropertymap.h>
 
 /* Include mp4_header.cc directly. */
@@ -253,12 +260,10 @@ mp4tag_write_file_tag (const ET_File *ETFile,
 
     if (!stream.isOpen ())
     {
-        gchar *filename_utf8 = filename_to_display (filename);
         const GError *tmp_error = stream.getError ();
         g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
                      _("Error while opening file ‘%s’: %s"), filename_utf8,
                      tmp_error->message);
-        g_free (filename_utf8);
         return FALSE;
     }
 
@@ -289,10 +294,8 @@ mp4tag_write_file_tag (const ET_File *ETFile,
 
     if (!(tag = mp4file.tag ()))
     {
-        gchar *filename_utf8 = filename_to_display (filename);
         g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
                      _("Error reading tags from file ‘%s’"), filename_utf8);
-        g_free (filename_utf8);
         return FALSE;
     }
 
@@ -456,6 +459,7 @@ mp4tag_write_file_tag (const ET_File *ETFile,
             case PICTURE_FORMAT_GIF:
                 f = TagLib::MP4::CoverArt::GIF;
                 break;
+            case PICTURE_FORMAT_UNKNOWN:
             default:
                 g_critical ("Unknown format");
                 f = TagLib::MP4::CoverArt::JPEG;
diff --git a/src/tags/mpeg_header.c b/src/tags/mpeg_header.c
index 159b526..d4b2cef 100644
--- a/src/tags/mpeg_header.c
+++ b/src/tags/mpeg_header.c
@@ -122,6 +122,8 @@ et_mpeg_header_read_file_info (GFile *file,
                 ETFileInfo->version = 2;
                 ETFileInfo->mpeg25 = TRUE;
                 break;
+            case MPEGVERSION_FALSE:
+            case MPEGVERSION_Reserved:
             default:
                 break;
         }
@@ -137,6 +139,8 @@ et_mpeg_header_read_file_info (GFile *file,
             case MPEGLAYER_III:
                 ETFileInfo->layer = 3;
                 break;
+            case MPEGLAYER_FALSE:
+            case MPEGLAYER_UNDEFINED:
             default:
                 break;
         }
@@ -159,6 +163,7 @@ et_mpeg_header_read_file_info (GFile *file,
             case MP3CHANNELMODE_SINGLE_CHANNEL:
                 ETFileInfo->mode = 3;
                 break;
+            case MP3CHANNELMODE_FALSE:
             default:
                 break;
         }
@@ -199,16 +204,17 @@ et_mpeg_header_display_file_info_to_ui (const ET_File *ETFile)
     info = ETFile->ETFileInfo;
     fields = g_slice_new (EtFileHeaderFields);
 
-    switch (ETFile->ETFileDescription->FileType)
+    if (ETFile->ETFileDescription->FileType == MP3_FILE)
     {
-        case MP3_FILE:
-            fields->description = _("MP3 File");
-            break;
-        case MP2_FILE:
-            fields->description = _("MP2 File");
-            break;
-        default:
-            g_assert_not_reached ();
+        fields->description = _("MP3 File");
+    }
+    else if (ETFile->ETFileDescription->FileType == MP2_FILE)
+    {
+        fields->description = _("MP2 File");
+    }
+    else
+    {
+        g_assert_not_reached ();
     }
 
     /* MPEG, Layer versions */
diff --git a/src/tags/ogg_header.c b/src/tags/ogg_header.c
index c7190e3..ed601ef 100644
--- a/src/tags/ogg_header.c
+++ b/src/tags/ogg_header.c
@@ -274,7 +274,7 @@ et_ogg_header_read_file_info (GFile *file,
                     message = _("Internal logic fault, indicates a bug or heap/stack corruption");
                     break;
                 default:
-                    message = "";
+                    message = _("Error reading tags from file");
                     break;
             }
 
@@ -382,16 +382,17 @@ et_ogg_header_display_file_info_to_ui (const ET_File *ETFile)
     info = ETFile->ETFileInfo;
     fields = g_slice_new (EtFileHeaderFields);
 
-    switch (ETFile->ETFileDescription->FileType)
+    if (ETFile->ETFileDescription->FileType == OGG_FILE)
     {
-        case OGG_FILE:
-            fields->description = _("Ogg Vorbis File");
-            break;
-        case SPEEX_FILE:
-            fields->description = _("Speex File");
-            break;
-        default:
-            g_assert_not_reached ();
+        fields->description = _("Ogg Vorbis File");
+    }
+    else if (ETFile->ETFileDescription->FileType == SPEEX_FILE)
+    {
+        fields->description = _("Speex File");
+    }
+    else
+    {
+        g_assert_not_reached ();
     }
 
     /* Encoder version */
diff --git a/src/tags/ogg_tag.c b/src/tags/ogg_tag.c
index 948e30c..159c5b2 100644
--- a/src/tags/ogg_tag.c
+++ b/src/tags/ogg_tag.c
@@ -539,7 +539,7 @@ et_add_file_tags_from_vorbis_comments (vorbis_comment *vc,
         EtPicture *pic;
         gsize bytes_pos, mimelen, desclen;
         guchar *decoded_ustr;
-        GBytes *bytes;
+        GBytes *bytes = NULL;
         EtPictureType type;
         gchar *description;
         GBytes *pic_bytes;
@@ -548,29 +548,89 @@ et_add_file_tags_from_vorbis_comments (vorbis_comment *vc,
 
         /* Decode picture data. */
         decoded_ustr = g_base64_decode (string, &decoded_size);
+
+        /* Check that the comment decoded to a long enough string to hold the
+         * whole structure (8 fields of 4 bytes each). */
+        if (decoded_size < 8 * 4)
+        {
+            g_free (decoded_ustr);
+            goto invalid_picture;
+        }
+
         bytes = g_bytes_new_take (decoded_ustr, decoded_size);
 
         /* Reading picture type. */
         type = read_guint32_from_byte (decoded_ustr, 0);
         bytes_pos = 4;
 
+        /* TODO: Check that there is a maximum of 1 of each of
+         * ET_PICTURE_TYPE_FILE_ICON and ET_PICTURE_TYPE_OTHER_FILE_ICON types
+         * in the file. */
+        if (type >= ET_PICTURE_TYPE_UNDEFINED)
+        {
+            goto invalid_picture;
+        }
+
         /* Reading MIME data. */
         mimelen = read_guint32_from_byte (decoded_ustr, bytes_pos);
-        bytes_pos = 8 + mimelen;
+        bytes_pos += 4;
+
+        if (mimelen > decoded_size - bytes_pos - (6 * 4))
+        {
+            goto invalid_picture;
+        }
+
+        /* Check for a valid MIME type. */
+        if (mimelen > 0)
+        {
+            const gchar *mime;
+
+            mime = (const gchar *)&decoded_ustr[bytes_pos];
+
+            /* TODO: Check for "-->" when adding linked image support. */
+            if (strncmp (mime, "image/", mimelen) != 0
+                && strncmp (mime, "image/png", mimelen) != 0
+                && strncmp (mime, "image/jpeg", mimelen) != 0)
+            {
+                gchar *mime_str;
+
+                mime_str = g_strndup (mime, mimelen);
+                g_debug ("Invalid Vorbis comment image MIME type: %s",
+                         mime_str);
+
+                g_free (mime_str);
+                goto invalid_picture;
+            }
+        }
+
+        /* Skip over the MIME type, as gdk-pixbuf does not use it. */
+        bytes_pos += mimelen;
 
         /* Reading description */
         desclen = read_guint32_from_byte (decoded_ustr, bytes_pos);
         bytes_pos += 4;
 
+        if (desclen > decoded_size - bytes_pos - (5 * 4))
+        {
+            goto invalid_picture;
+        }
+
         description = g_strndup ((const gchar *)&decoded_ustr[bytes_pos],
                                  desclen);
 
+        /* Skip the width, height, color depth and number-of-colors fields. */
         bytes_pos += desclen + 16;
 
         /* Reading picture size */
         data_size = read_guint32_from_byte (decoded_ustr, bytes_pos);
         bytes_pos += 4;
 
+        if (data_size > decoded_size - bytes_pos)
+        {
+            g_free (description);
+            goto invalid_picture;
+        }
+
         /* Read only the image data into a new GBytes. */
         pic_bytes = g_bytes_new_from_bytes (bytes, bytes_pos, data_size);
 
@@ -592,6 +652,14 @@ et_add_file_tags_from_vorbis_comments (vorbis_comment *vc,
 
         /* pic->bytes still holds a ref on the decoded data. */
         g_bytes_unref (bytes);
+        continue;
+
+invalid_picture:
+        /* Mark the file as modified, so that the invalid field is removed upon
+         * saving. */
+        FileTag->saved = FALSE;
+
+        g_bytes_unref (bytes);
     }
 
     /***************************
@@ -936,19 +1004,21 @@ ogg_tag_write_file_tag (const ET_File *ETFile,
         if (format != PICTURE_FORMAT_PNG && format != PICTURE_FORMAT_JPEG)
         {
             GdkPixbufLoader *loader;
-            gconstpointer data;
-            gsize data_size;
-            GError *error = NULL;
+            gconstpointer old_data;
+            gsize old_data_size;
+            GError *loader_error = NULL;
 
             loader = gdk_pixbuf_loader_new ();
 
-            data = g_bytes_get_data (pic->bytes, &data_size);
+            old_data = g_bytes_get_data (pic->bytes, &old_data_size);
 
             /* TODO: Use gdk_pixbuf_loader_write_bytes() */
-            if (!gdk_pixbuf_loader_write (loader, data, data_size, &error))
+            if (!gdk_pixbuf_loader_write (loader, old_data, old_data_size,
+                                          &loader_error))
             {
-                g_debug ("Error parsing image data: %s", error->message);
-                g_error_free (error);
+                g_debug ("Error parsing image data: %s",
+                         loader_error->message);
+                g_error_free (loader_error);
                 g_object_unref (loader);
                 continue;
             }
@@ -958,11 +1028,11 @@ ogg_tag_write_file_tag (const ET_File *ETFile,
                 gchar *buffer;
                 gsize buffer_size;
 
-                if (!gdk_pixbuf_loader_close (loader, &error))
+                if (!gdk_pixbuf_loader_close (loader, &loader_error))
                 {
                     g_debug ("Error parsing image data: %s",
-                             error->message);
-                    g_error_free (error);
+                             loader_error->message);
+                    g_error_free (loader_error);
                     g_object_unref (loader);
                     continue;
                 }
@@ -981,11 +1051,11 @@ ogg_tag_write_file_tag (const ET_File *ETFile,
                 /* Always convert to PNG. */
                 if (!gdk_pixbuf_save_to_buffer (pixbuf, &buffer,
                                                 &buffer_size, "png",
-                                                &error, NULL))
+                                                &loader_error, NULL))
                 {
                     g_debug ("Error while converting image to PNG: %s",
-                             error->message);
-                    g_error_free (error);
+                             loader_error->message);
+                    g_error_free (loader_error);
                     g_object_unref (pixbuf);
                     continue;
                 }
diff --git a/src/tags/opus_header.c b/src/tags/opus_header.c
index e4a95c0..9564407 100644
--- a/src/tags/opus_header.c
+++ b/src/tags/opus_header.c
@@ -122,6 +122,9 @@ et_opus_open_file (GFile *gfile, GError **error)
                              "First/last timestamp in a link failed checks");
                 g_assert (error == NULL || *error != NULL);
                 return NULL;
+            default:
+                g_assert_not_reached ();
+                break;
         }
     }
 
diff --git a/src/tags/vcedit.c b/src/tags/vcedit.c
index 07d8859..2c1e26b 100644
--- a/src/tags/vcedit.c
+++ b/src/tags/vcedit.c
@@ -526,6 +526,7 @@ vcedit_open (EtOggState *state,
             headerpackets = 2;
 #endif
             break;
+        case ET_OGG_KIND_UNKNOWN:
         default:
             g_assert_not_reached ();
             break;
@@ -577,6 +578,9 @@ vcedit_open (EtOggState *state,
                                     state->bookbuf = g_memdup (header->packet,
                                                                header->bytes);
                                     break;
+                                default:
+                                    g_assert_not_reached ();
+                                    break;
                             }
                             break;
                         case ET_OGG_KIND_SPEEX:
@@ -620,8 +624,13 @@ vcedit_open (EtOggState *state,
                                                  "Ogg Opus tags do not follow the specification");
                                     goto err;
                                     break;
+                                default:
+                                    g_assert_not_reached ();
+                                    break;
                             }
+                            break;
 #endif
+                        case ET_OGG_KIND_UNKNOWN:
                         default:
                             g_assert_not_reached ();
                             break;
@@ -819,9 +828,7 @@ vcedit_write (EtOggState *state,
         {
             if (state->oggtype == ET_OGG_KIND_VORBIS)
             {
-                int size;
-                size = _blocksize(state, &op);
-                granpos += size;
+                granpos += _blocksize (state, &op);
             }
 #ifdef ENABLE_OPUS
             else
diff --git a/src/win32/win32dep.c b/src/win32/win32dep.c
index 09b2176..10f4151 100644
--- a/src/win32/win32dep.c
+++ b/src/win32/win32dep.c
@@ -124,6 +124,7 @@ weasytag_locale_dir (void)
 }
 
 /* Miscellaneous */
+#ifndef HAVE_MKSTEMP
 /* emulate the unix function */
 gint
 et_w32_mkstemp (gchar *template)
@@ -138,6 +139,7 @@ et_w32_mkstemp (gchar *template)
 
     return fd;
 }
+#endif /* !HAVE_MKSTEMP */
 
 void
 str_replace_char (gchar *str, gchar in_char, gchar out_char)
@@ -189,6 +191,7 @@ ET_Win32_Get_Audio_File_Player (void)
     return g_strdup("");
 }
 
+#ifndef HAVE_TRUNCATE
 gint
 et_w32_truncate (const gchar *path, off_t length)
 {
@@ -208,5 +211,6 @@ et_w32_truncate (const gchar *path, off_t length)
 
     return ret;
 }
+#endif /* !HAVE_TRUNCATE */
 
 #endif /* G_OS_WIN32 */
diff --git a/src/win32/win32dep.h b/src/win32/win32dep.h
index eeac9a3..9c09544 100644
--- a/src/win32/win32dep.h
+++ b/src/win32/win32dep.h
@@ -34,6 +34,8 @@
 
 G_BEGIN_DECLS
 
+#include "config.h"
+
 #define lstat stat
 #define mkdir(a,b) mkdir(a)
 #define chown(a,b,c) 0
@@ -64,7 +66,7 @@ extern void  ET_Win32_Path_Replace_Slashes           (gchar *path);
 #ifndef HAVE_MKSTEMP
 #define et_w32_mkstemp mkstemp
 extern gint et_w32_mkstemp (char *template);
-#endif /* HAVE_MKSTEMP */
+#endif /* !HAVE_MKSTEMP */
 
 #ifndef HAVE_TRUNCATE
 #define et_w32_truncate truncate
diff --git a/tests/test-misc.c b/tests/test-misc.c
index 543d2b1..38eaf8e 100644
--- a/tests/test-misc.c
+++ b/tests/test-misc.c
@@ -18,6 +18,9 @@
 
 #include "misc.h"
 
+GtkWidget *MainWindow;
+GSettings *MainSettings;
+
 static void
 misc_convert_duration (void)
 {

-- 
easytag packaging



More information about the pkg-multimedia-commits mailing list