diff -Nru kid3-2.0.1/build-deb.sh kid3-2.1/build-deb.sh --- kid3-2.0.1/build-deb.sh 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/build-deb.sh 2012-05-11 05:46:04.000000000 +0000 @@ -1,5 +1,5 @@ #!/bin/sh # Build Debian package. -mkdir debian -cp deb/* debian/ +cp -R deb debian +rm -rf debian/source debian/watch dpkg-buildpackage -rfakeroot diff -Nru kid3-2.0.1/buildlibs.sh kid3-2.1/buildlibs.sh --- kid3-2.0.1/buildlibs.sh 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/buildlibs.sh 2012-05-11 05:46:04.000000000 +0000 @@ -5,9 +5,23 @@ # # First you have to install the necessary tools: # -# For Windows: MinGW/MSYS with development tools, Qt, xsltproc, -# html\docbook.xsl. Set the environment variables MSYSDIR, XSLTPROCDIR, -# DOCBOOKDIR to the install directories. They are used in win32/buildkit3.bat. +# For Windows: +# +# Building the libraries needs msys/MinGW, CMake, yasm. +# You should use the MinGW which comes with Qt and add msys tools to build +# the libraries. +# Download yasm from +# http://www.tortall.net/projects/yasm/releases/yasm-1.2.0-win32.exe +# and copy it into msys /bin as yasm.exe. +# Start the msys shell, add cmake to the path and start this script. +# When the script has run successfully, the libraries are installed below +# /usr/local/ in msys. You can then proceed to the Kid3 build. +# +# Building Kid3 needs MinGW, CMake, Qt, xsltproc, html\docbook.xsl, dumpbin. +# Dumpbin is needed for the final packages and can be found in the MS SDK or +# MS Visual C++ Express Edition. Set the environment variables in +# win32/buildkid3.bat, so that these tools can be found, then start +# buildkid3.bat from a Windows command prompt. # # For Mac: XCode, Qt, html\docbook.xsl. XCode and Qt should be installed at # the default location, docbook.xsl in @@ -18,24 +32,51 @@ # it should still work. # # buildlibs.sh will download, build and install zlib, libogg, libvorbis, -# flac, id3lib, taglib and mp4v2. You are then ready to build Kid3 from -# the win32 or macosx directories by starting buildkid3.bat (Windows) or -# buildkid3.sh (Mac). A binary package can be created using createpkg.bat, -# or createpkg.sh respectively. +# flac, id3lib, taglib, libav, chromaprint. You are then ready to build Kid3 +# from the win32 or macosx directories by starting buildkid3.bat (Windows) or +# buildkid3.sh (Mac). + +thisdir=$(pwd) kernel=$(uname) test ${kernel:0:5} = "MINGW" && kernel="MINGW" +# Uncomment for debug build +#ENABLE_DEBUG=--enable-debug +#CMAKE_BUILD_TYPE_DEBUG="-DCMAKE_BUILD_TYPE=Debug" + +if test $kernel = "MINGW"; then +CMAKE_OPTIONS="-G \"MSYS Makefiles\" -DCMAKE_INSTALL_PREFIX=/usr/local" +elif test $kernel = "Darwin"; then +CMAKE_OPTIONS="-G \"Unix Makefiles\"" +fi + +fixcmakeinst() { + if test -d inst && test $kernel = "MINGW"; then + cd inst + if test -d prg; then + rm -rf usr + mv prg/msys usr + rmdir prg + elif test -d msys; then + rm -rf usr + mv msys/1.0 usr + rmdir msys + elif test -d MinGW; then + mv MinGW usr + fi + cd .. + fi +} + + # Download sources test -d source || mkdir source cd source -test -f mp4v2-1.9.1.tar.bz2 || -wget http://mp4v2.googlecode.com/files/mp4v2-1.9.1.tar.bz2 - -test -f flac_1.2.1-3.diff.gz || -wget http://ftp.de.debian.org/debian/pool/main/f/flac/flac_1.2.1-3.diff.gz +test -f flac_1.2.1-6.diff.gz || +wget http://ftp.de.debian.org/debian/pool/main/f/flac/flac_1.2.1-6.diff.gz test -f flac_1.2.1.orig.tar.gz || wget http://ftp.de.debian.org/debian/pool/main/f/flac/flac_1.2.1.orig.tar.gz @@ -54,15 +95,30 @@ test -f libvorbis_1.3.2.orig.tar.gz || wget http://ftp.de.debian.org/debian/pool/main/libv/libvorbis/libvorbis_1.3.2.orig.tar.gz -test -f taglib_1.7-1.debian.tar.gz || -wget http://ftp.de.debian.org/debian/pool/main/t/taglib/taglib_1.7-1.debian.tar.gz -test -f taglib_1.7.orig.tar.gz || -wget http://ftp.de.debian.org/debian/pool/main/t/taglib/taglib_1.7.orig.tar.gz - -test -f zlib_1.2.5.dfsg-1.debian.tar.gz || -wget http://ftp.de.debian.org/debian/pool/main/z/zlib/zlib_1.2.5.dfsg-1.debian.tar.gz -test -f zlib_1.2.5.dfsg.orig.tar.gz || -wget http://ftp.de.debian.org/debian/pool/main/z/zlib/zlib_1.2.5.dfsg.orig.tar.gz +#test -f taglib_1.7-1.debian.tar.gz || +#wget http://ftp.de.debian.org/debian/pool/main/t/taglib/taglib_1.7-1.debian.tar.gz +test -f taglib-1.7.1.tar.gz || +wget http://developer.kde.org/~wheeler/files/src/taglib-1.7.1.tar.gz + +test -f zlib_1.2.6.dfsg-2.debian.tar.gz || +wget http://ftp.de.debian.org/debian/pool/main/z/zlib/zlib_1.2.6.dfsg-2.debian.tar.gz +test -f zlib_1.2.6.dfsg.orig.tar.gz || +wget http://ftp.de.debian.org/debian/pool/main/z/zlib/zlib_1.2.6.dfsg.orig.tar.gz + +test -f libav_0.8.1.orig.tar.gz || +wget http://ftp.de.debian.org/debian/pool/main/liba/libav/libav_0.8.1.orig.tar.gz +test -f libav_0.8.1-4.debian.tar.gz || +wget http://ftp.de.debian.org/debian/pool/main/liba/libav/libav_0.8.1-4.debian.tar.gz + +test -f chromaprint_0.6.orig.tar.gz || +wget http://ftp.de.debian.org/debian/pool/main/c/chromaprint/chromaprint_0.6.orig.tar.gz +test -f chromaprint_0.6-1.debian.tar.gz || +wget http://ftp.de.debian.org/debian/pool/main/c/chromaprint/chromaprint_0.6-1.debian.tar.gz + +#test -f mp4v2_1.9.1+svn479~dfsg0.orig.tar.bz2 || +#wget http://ftp.de.debian.org/debian/pool/main/m/mp4v2/mp4v2_1.9.1+svn479~dfsg0.orig.tar.bz2 +#test -f mp4v2_1.9.1+svn479~dfsg0-3.debian.tar.gz || +#wget http://ftp.de.debian.org/debian/pool/main/m/mp4v2/mp4v2_1.9.1+svn479~dfsg0-3.debian.tar.gz # Create patch files @@ -167,9 +223,18 @@ test -f id3lib-3.8.3_mingw.patch || cat >id3lib-3.8.3_mingw.patch <<"EOF" diff -ru id3lib-3.8.3.orig/configure.in id3lib-3.8.3/configure.in ---- id3lib-3.8.3.orig/configure.in Sun Mar 2 00:23:00 2003 -+++ id3lib-3.8.3/configure.in Thu Oct 11 08:55:26 2007 -@@ -249,10 +249,10 @@ +--- id3lib-3.8.3.orig/configure.in 2012-02-05 13:09:59 +0100 ++++ id3lib-3.8.3/configure.in 2012-02-05 13:16:33 +0100 +@@ -222,7 +222,7 @@ + AC_LANG_CPLUSPLUS + AC_CHECK_HEADERS(libcw/sys.h) + AC_CHECK_HEADERS(cctype climits cstdio cstdlib bitset cstring) +-AC_CHECK_HEADERS(fstream iostream iomanip vector \ ++AC_CHECK_HEADERS(fstream iostream vector \ + ,,AC_MSG_ERROR([Missing a vital header file for id3lib - download them here: http://gcc.gnu.org/libstdc++/ or better - compile a newer compiler like gcc3.x]) + ) + AC_CHECK_HEADERS( \ +@@ -248,10 +248,10 @@ AM_CONDITIONAL(ID3_NEEDGETOPT_LONG, test x$ac_cv_func_getopt_long = xno) AC_CHECK_FUNCS(mkstemp) @@ -184,10 +249,9 @@ dnl Checks for typedefs, structures, and compiler characteristics. AC_TYPE_SIZE_T -Only in id3lib-3.8.3: configure.in~ diff -ru id3lib-3.8.3.orig/include/id3/globals.h id3lib-3.8.3/include/id3/globals.h ---- id3lib-3.8.3.orig/include/id3/globals.h Sun Mar 2 00:23:00 2003 -+++ id3lib-3.8.3/include/id3/globals.h Thu Oct 11 08:56:28 2007 +--- id3lib-3.8.3.orig/include/id3/globals.h 2012-02-05 13:09:59 +0100 ++++ id3lib-3.8.3/include/id3/globals.h 2012-02-05 13:15:42 +0100 @@ -41,7 +41,7 @@ * we prefix variable declarations so they can * properly get exported in windows dlls. @@ -432,6 +496,53 @@ TagLib::ByteVector renderCovr(const ByteVector &name, Item &item); EOF +test -f taglib-itunes-id3v22.patch || +cat >taglib-itunes-id3v22.patch <<"EOF" +diff --git a/taglib/mpeg/id3v2/id3v2framefactory.cpp b/taglib/mpeg/id3v2/id3v2framefactory.cpp +index 40e454e..b6bc34a 100644 +--- a/taglib/mpeg/id3v2/id3v2framefactory.cpp ++++ b/taglib/mpeg/id3v2/id3v2framefactory.cpp +@@ -310,6 +310,7 @@ bool FrameFactory::updateFrame(Frame::Header *header) const + convertFrame("TBP", "TBPM", header); + convertFrame("TCM", "TCOM", header); + convertFrame("TCO", "TCON", header); ++ convertFrame("TCP", "TCMP", header); + convertFrame("TCR", "TCOP", header); + convertFrame("TDY", "TDLY", header); + convertFrame("TEN", "TENC", header); +@@ -332,7 +333,12 @@ bool FrameFactory::updateFrame(Frame::Header *header) const + convertFrame("TRC", "TSRC", header); + convertFrame("TRD", "TDRC", header); + convertFrame("TRK", "TRCK", header); ++ convertFrame("TS2", "TSO2", header); ++ convertFrame("TSA", "TSOA", header); ++ convertFrame("TSC", "TSOC", header); ++ convertFrame("TSP", "TSOP", header); + convertFrame("TSS", "TSSE", header); ++ convertFrame("TST", "TSOT", header); + convertFrame("TT1", "TIT1", header); + convertFrame("TT2", "TIT2", header); + convertFrame("TT3", "TIT3", header); +EOF + +test -f libav_sws.patch || +cat >libav_sws.patch <<"EOF" +--- cmdutils.c.org 2011-09-17 13:36:43.000000000 -0700 ++++ cmdutils.c 2011-09-17 15:54:37.453134577 -0700 +@@ -311,6 +311,11 @@ + const AVOption *oc, *of, *os; + char opt_stripped[128]; + const char *p; ++// SPage: avoid sws_get_class failure ++#if !CONFIG_SWSCALE ++# define sws_get_class(x) 0 ++#endif ++ + const AVClass *cc = avcodec_get_class(), *fc = avformat_get_class(), *sc = sws_get_class(); + + if (!(p = strchr(opt, ':'))) +EOF + cd .. @@ -439,10 +550,10 @@ # zlib -if ! test -d zlib-1.2.5.dfsg; then -tar xzf source/zlib_1.2.5.dfsg.orig.tar.gz -cd zlib-1.2.5.dfsg/ -tar xzf ../source/zlib_1.2.5.dfsg-1.debian.tar.gz +if ! test -d zlib-1.2.6.dfsg; then +tar xzf source/zlib_1.2.6.dfsg.orig.tar.gz +cd zlib-1.2.6.dfsg/ +tar xzf ../source/zlib_1.2.6.dfsg-2.debian.tar.gz for f in $(cat debian/patches/series); do patch -p1 Makefile.inst @@ -537,7 +662,7 @@ make install -f Makefile.inst prefix=`pwd`/inst/usr/local fi cd inst -tar czf ../../bin/zlib-1.2.5.tgz usr +tar czf ../../bin/zlib-1.2.6.tgz usr cd ../.. # libogg @@ -554,7 +679,7 @@ # libvorbis cd libvorbis-1.3.2/ -test -f Makefile || ./configure --enable-shared=no --enable-static=yes --with-ogg=/usr/local $ENABLE_DEBUG +test -f Makefile || ./configure --enable-shared=no --enable-static=yes --with-ogg=$thisdir/libogg-1.2.2~dfsg/inst/usr/local $ENABLE_DEBUG make mkdir inst make install DESTDIR=`pwd`/inst @@ -565,7 +690,7 @@ # libflac cd flac-1.2.1/ -configure_args="--enable-shared=no --enable-static=yes --with-ogg=/usr/local $ENABLE_DEBUG" +configure_args="--enable-shared=no --enable-static=yes --with-ogg=$thisdir/libogg-1.2.2~dfsg/inst/usr/local $ENABLE_DEBUG" if test $kernel = "Darwin"; then configure_args="$configure_args --disable-asm-optimizations" fi @@ -591,35 +716,128 @@ # taglib -cd taglib-1.7/ +cd taglib-1.7.1/ test -f Makefile || eval cmake -DWITH_ASF=ON -DWITH_MP4=ON -DINCLUDE_DIRECTORIES=/usr/local/include -DLINK_DIRECTORIES=/usr/local/lib -DENABLE_STATIC=ON -DCMAKE_VERBOSE_MAKEFILE=ON $CMAKE_BUILD_TYPE_DEBUG $CMAKE_OPTIONS make mkdir inst make install DESTDIR=`pwd`/inst +fixcmakeinst cd inst -if test $kernel = "MINGW" && test -d prg; then - rm -rf usr - mv prg/msys usr - rmdir prg -fi -tar czf ../../bin/taglib-1.7.tgz usr +tar czf ../../bin/taglib-1.7.1.tgz usr cd ../.. -# mp4v2 +# libav + +cd libav-0.8.1 +# configure needs yasm and pr +# On msys, make >= 3.81 is needed. +# Most options taken from +# http://oxygene.sk/lukas/2011/04/minimal-audio-only-ffmpeg-build-with-mingw32/ +# Disable-sse avoids a SEGFAULT under MinGW. +./configure \ + --enable-memalign-hack \ + --disable-shared \ + --enable-static \ + --disable-debug \ + --disable-avdevice \ + --disable-avfilter \ + --disable-pthreads \ + --disable-swscale \ + --enable-ffmpeg \ + --disable-network \ + --disable-muxers \ + --disable-demuxers \ + --disable-sse \ + --enable-rdft \ + --enable-demuxer=aac \ + --enable-demuxer=ac3 \ + --enable-demuxer=ape \ + --enable-demuxer=asf \ + --enable-demuxer=flac \ + --enable-demuxer=matroska_audio \ + --enable-demuxer=mp3 \ + --enable-demuxer=mpc \ + --enable-demuxer=mov \ + --enable-demuxer=mpc8 \ + --enable-demuxer=ogg \ + --enable-demuxer=tta \ + --enable-demuxer=wav \ + --enable-demuxer=wv \ + --disable-bsfs \ + --disable-filters \ + --disable-parsers \ + --enable-parser=aac \ + --enable-parser=ac3 \ + --enable-parser=mpegaudio \ + --disable-protocols \ + --enable-protocol=file \ + --disable-indevs \ + --disable-outdevs \ + --disable-encoders \ + --disable-decoders \ + --enable-decoder=aac \ + --enable-decoder=ac3 \ + --enable-decoder=alac \ + --enable-decoder=ape \ + --enable-decoder=flac \ + --enable-decoder=mp1 \ + --enable-decoder=mp2 \ + --enable-decoder=mp3 \ + --enable-decoder=mpc7 \ + --enable-decoder=mpc8 \ + --enable-decoder=tta \ + --enable-decoder=vorbis \ + --enable-decoder=wavpack \ + --enable-decoder=wmav1 \ + --enable-decoder=wmav2 \ + --enable-decoder=pcm_alaw \ + --enable-decoder=pcm_dvd \ + --enable-decoder=pcm_f32be \ + --enable-decoder=pcm_f32le \ + --enable-decoder=pcm_f64be \ + --enable-decoder=pcm_f64le \ + --enable-decoder=pcm_s16be \ + --enable-decoder=pcm_s16le \ + --enable-decoder=pcm_s16le_planar \ + --enable-decoder=pcm_s24be \ + --enable-decoder=pcm_daud \ + --enable-decoder=pcm_s24le \ + --enable-decoder=pcm_s32be \ + --enable-decoder=pcm_s32le \ + --enable-decoder=pcm_s8 \ + --enable-decoder=pcm_u16be \ + --enable-decoder=pcm_u16le \ + --enable-decoder=pcm_u24be \ + --enable-decoder=pcm_u24le \ + --enable-decoder=rawvideo +make +mkdir inst +make install DESTDIR=`pwd`/inst +cd inst +tar czf ../../bin/libav-0.8.1.tgz usr +cd ../.. + +# chromaprint -cd mp4v2-1.9.1/ -# When getting from SVN with svn checkout http://mp4v2.googlecode.com/svn/trunk/ mp4v2-svn -# libtoolize -# aclocal -# automake --add-missing -# autoconf -test -f Makefile || ./configure --enable-shared=no --enable-static=yes --disable-gch $ENABLE_DEBUG +cd chromaprint-0.6/ +test -f Makefile || eval cmake -DBUILD_EXAMPLES=ON -DBUILD_SHARED_LIBS=OFF -DEXTRA_LIBS=-lz -DFFMPEG_ROOT=$thisdir/libav-0.8.1/inst/usr/local $CMAKE_BUILD_TYPE_DEBUG $CMAKE_OPTIONS mkdir inst make install DESTDIR=`pwd`/inst +fixcmakeinst cd inst -tar czf ../../bin/mp4v2-1.9.1.tgz usr +tar czf ../../bin/chromaprint-0.6.tgz usr cd ../.. +# mp4v2 + +#cd mp4v2-1.9.1+svn479~dfsg0/ +#test -f Makefile || ./configure --enable-shared=no --enable-static=yes --disable-gch +#mkdir inst +#make install DESTDIR=`pwd`/inst +#cd inst +#tar czf ../../bin/mp4v2-1.9.1+svn479.tgz usr +#cd ../.. + # Install to root directory @@ -632,7 +850,8 @@ mkdir kid3 cat >kid3/build.sh <<"EOF" BUILDPREFIX=$(cd ..; pwd)/buildroot/usr/local -cmake -DWITH_TAGLIB=OFF -DHAVE_TAGLIB=1 -DTAGLIB_LIBRARIES:STRING="-L$BUILDPREFIX/lib -ltag" -DTAGLIB_CFLAGS:STRING="-I$BUILDPREFIX/include/taglib -DTAGLIB_STATIC" -DCMAKE_CXX_FLAGS_DEBUG:STRING="-g -DID3LIB_LINKOPTION=1 -DFLAC__NO_DLL" -DCMAKE_INCLUDE_PATH=$BUILDPREFIX/include -DCMAKE_LIBRARY_PATH=$BUILDPREFIX/lib -DCMAKE_PROGRAM_PATH=$BUILDPREFIX/bin -DCMAKE_BUILD_TYPE=Debug -DWITH_GCC_PCH=OFF -DWITH_KDE=OFF -DWITH_TUNEPIMP=OFF -DCMAKE_INSTALL_PREFIX= -DWITH_BINDIR=. -DWITH_DATAROOTDIR=. -DWITH_DOCDIR=. -DWITH_TRANSLATIONSDIR=. ../../kid3 +export PKG_CONFIG_PATH=$BUILDPREFIX/lib/pkgconfig +cmake -DWITH_TAGLIB=OFF -DHAVE_TAGLIB=1 -DTAGLIB_LIBRARIES:STRING="-L$BUILDPREFIX/lib -ltag" -DTAGLIB_CFLAGS:STRING="-I$BUILDPREFIX/include/taglib -DTAGLIB_STATIC" -DCMAKE_CXX_FLAGS_DEBUG:STRING="-g -DID3LIB_LINKOPTION=1 -DFLAC__NO_DLL" -DCMAKE_INCLUDE_PATH=$BUILDPREFIX/include -DCMAKE_LIBRARY_PATH=$BUILDPREFIX/lib -DCMAKE_PROGRAM_PATH=$BUILDPREFIX/bin -DFFMPEG_ROOT=$BUILDPREFIX -DCMAKE_BUILD_TYPE=Debug -DWITH_GCC_PCH=OFF -DWITH_KDE=OFF -DCMAKE_INSTALL_PREFIX= -DWITH_BINDIR=. -DWITH_DATAROOTDIR=. -DWITH_DOCDIR=. -DWITH_TRANSLATIONSDIR=. ../../kid3 EOF chmod +x kid3/build.sh fi @@ -640,13 +859,15 @@ sudo chmod go+w ${BUILDROOT}usr/local fi -tar xzf bin/zlib-1.2.5.tgz -C $BUILDROOT +tar xzf bin/zlib-1.2.6.tgz -C $BUILDROOT tar xzf bin/libogg-1.2.2.tgz -C $BUILDROOT tar xzf bin/libvorbis-1.3.2.tgz -C $BUILDROOT tar xzf bin/flac-1.2.1.tgz -C $BUILDROOT tar xzf bin/id3lib-3.8.3.tgz -C $BUILDROOT -tar xzf bin/taglib-1.7.tgz -C $BUILDROOT -tar xzf bin/mp4v2-1.9.1.tgz -C $BUILDROOT +tar xzf bin/taglib-1.7.1.tgz -C $BUILDROOT +tar xzf bin/libav-0.8.1.tgz -C $BUILDROOT +tar xzf bin/chromaprint-0.6.tgz -C $BUILDROOT +#tar xzf bin/mp4v2-1.9.1+svn479.tgz -C $BUILDROOT if test $kernel = "Darwin"; then sudo chmod go-w ${BUILDROOT}usr/local diff -Nru kid3-2.0.1/ChangeLog kid3-2.1/ChangeLog --- kid3-2.0.1/ChangeLog 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/ChangeLog 2012-05-11 05:46:04.000000000 +0000 @@ -1,3 +1,31 @@ +Mon May 7 21:20:06 CEST 2012 Urs Fleisch + + * Release 2.1 + + * New: + + Keyboard shortcuts configuration for Qt-only version. + + Use Chromaprint for import from MusicBrainz Fingerprint, is now + also available on Windows and Mac OS X. + + Serbian translation. + + Support build with Qt5. + + * Improved: + + Support most frames in format codes with %{framename}. + + Support iTunes ID3v2.4 frames TCMP, TSO2, TSOC. + + Option to use the native file dialogs for Qt-only version. + + Handling of pictures in WMA files. + + Use themed icons. + + Building with shared libraries on KDE. + + Handle carriage return characters in output from user commands. + + * Fixed: + + Windows: Avoid truncation of file when renaming with illegal + characters. + + Limit number of open file handles. + + Nicer icons, install SVG instead of SVGZ in kid3-qt. + + Fixed import from Amazon. + + Adapted to Discogs server update. + Sat Oct 29 11:23:46 CEST 2011 Urs Fleisch * Release 2.0.1 diff -Nru kid3-2.0.1/cmake/modules/FindChromaprint.cmake kid3-2.1/cmake/modules/FindChromaprint.cmake --- kid3-2.0.1/cmake/modules/FindChromaprint.cmake 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/cmake/modules/FindChromaprint.cmake 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,20 @@ +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE(PkgConfig) +PKG_CHECK_MODULES(PKG_LIBCHROMAPRINT libchromaprint) + +FIND_PATH(CHROMAPRINT_INCLUDE_DIR chromaprint.h + ${PKG_LIBCHROMAPRINT_INCLUDE_DIRS} + /usr/include + /usr/local/include +) + +FIND_LIBRARY(CHROMAPRINT_LIBRARIES + NAMES + chromaprint chromaprint.dll + PATHS + ${PKG_LIBCHROMAPRINT_LIBRARY_DIRS} + /usr/lib + /usr/local/lib +) + +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Chromaprint DEFAULT_MSG CHROMAPRINT_LIBRARIES CHROMAPRINT_INCLUDE_DIR) diff -Nru kid3-2.0.1/cmake/modules/FindFFmpeg.cmake kid3-2.1/cmake/modules/FindFFmpeg.cmake --- kid3-2.0.1/cmake/modules/FindFFmpeg.cmake 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/cmake/modules/FindFFmpeg.cmake 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,128 @@ +# Locate ffmpeg +# This module defines +# FFMPEG_LIBRARIES +# FFMPEG_FOUND, if false, do not try to link to ffmpeg +# FFMPEG_INCLUDE_DIR, where to find the headers +# +# $FFMPEG_DIR is an environment variable that would +# correspond to the ./configure --prefix=$FFMPEG_DIR +# +# Created by Robert Osfield. +# Modified by Lukas Lalinsky. + + +#In ffmpeg code, old version use "#include " and newer use "#include " +#In OSG ffmpeg plugin, we use "#include " for compatibility with old version of ffmpeg + +#We have to search the path which contain the header.h (usefull for old version) +#and search the path which contain the libname/header.h (usefull for new version) + +#Then we need to include ${FFMPEG_libname_INCLUDE_DIRS} (in old version case, use by ffmpeg header and osg plugin code) +# (in new version case, use by ffmpeg header) +#and ${FFMPEG_libname_INCLUDE_DIRS/libname} (in new version case, use by osg plugin code) + +# Macro to find header and lib directories +# example: FFMPEG_FIND(AVFORMAT avformat avformat.h) +MACRO(FFMPEG_FIND varname shortname headername) + + FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername} + PATHS + ${FFMPEG_ROOT}/include + $ENV{FFMPEG_DIR}/include + ~/Library/Frameworks + /Library/Frameworks + /usr/local/include + /usr/include/ + /sw/include # Fink + /opt/local/include # DarwinPorts + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include + NO_DEFAULT_PATH + PATH_SUFFIXES ffmpeg + DOC "Location of FFMPEG Headers" + ) + FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername} + PATH_SUFFIXES ffmpeg + DOC "Location of FFMPEG Headers" + ) + + FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES + NAMES ${shortname} + PATHS + ${FFMPEG_ROOT}/lib + $ENV{FFMPEG_DIR}/lib + ~/Library/Frameworks + /Library/Frameworks + /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 + /sw/lib + /opt/local/lib + /opt/csw/lib + /opt/lib + /usr/freeware/lib64 + NO_DEFAULT_PATH + DOC "Location of FFMPEG Libraries" + ) + FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES + NAMES ${shortname} + DOC "Location of FFMPEG Libraries" + ) + + IF (FFMPEG_${varname}_LIBRARIES AND FFMPEG_${varname}_INCLUDE_DIRS) + SET(FFMPEG_${varname}_FOUND 1) + ENDIF(FFMPEG_${varname}_LIBRARIES AND FFMPEG_${varname}_INCLUDE_DIRS) + +ENDMACRO(FFMPEG_FIND) + +SET(FFMPEG_ROOT "$ENV{FFMPEG_DIR}" CACHE PATH "Location of FFMPEG") + +# find stdint.h +FIND_PATH(FFMPEG_STDINT_INCLUDE_DIR stdint.h + PATHS + ${FFMPEG_ROOT}/include + $ENV{FFMPEG_DIR}/include + ~/Library/Frameworks + /Library/Frameworks + /usr/local/include + /usr/include + /sw/include # Fink + /opt/local/include # DarwinPorts + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include + PATH_SUFFIXES ffmpeg + DOC "Location of FFMPEG stdint.h Header" +) + +FFMPEG_FIND(LIBAVFORMAT avformat avformat.h) +FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h) +FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h) +FFMPEG_FIND(LIBAVCODEC_FFT avcodec avfft.h) +FFMPEG_FIND(LIBAVUTIL avutil avutil.h) +FFMPEG_FIND(LIBSWSCALE swscale swscale.h) # not sure about the header to look for here. + +SET(FFMPEG_FOUND "NO") +# Note we don't check FFMPEG_LIBSWSCALE_FOUND here, it's optional. +IF (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND AND FFMPEG_STDINT_INCLUDE_DIR) + + SET(FFMPEG_FOUND "YES") + + SET(FFMPEG_INCLUDE_DIRS ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) + + SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS}) + + # Note we don't add FFMPEG_LIBSWSCALE_LIBRARIES here, it will be added if found later. + SET(FFMPEG_LIBRARIES + ${FFMPEG_LIBAVFORMAT_LIBRARIES} + ${FFMPEG_LIBAVDEVICE_LIBRARIES} + ${FFMPEG_LIBAVCODEC_LIBRARIES} + ${FFMPEG_LIBAVUTIL_LIBRARIES}) + +ELSE () + +# MESSAGE(STATUS "Could not find FFMPEG") + +ENDIF() diff -Nru kid3-2.0.1/CMakeLists.txt kid3-2.1/CMakeLists.txt --- kid3-2.0.1/CMakeLists.txt 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/CMakeLists.txt 2012-05-11 05:46:04.000000000 +0000 @@ -9,12 +9,12 @@ # Windows: # set INCLUDE=%MSYSDIR%\local\include # set LIB=%MSYSDIR%\local\lib -# cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= -D WITH_TUNEPIMP=OFF ..\kid3 +# cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= -D WITH_CHROMAPRINT=OFF ..\kid3 # mingw32-make # cpack # # Mac OS X: -# cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= -D WITH_TUNEPIMP=OFF ../kid3 +# cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= -D WITH_CHROMAPRINT=OFF ../kid3 # make # cpack @@ -25,7 +25,7 @@ set(WITH_ID3LIB ON CACHE BOOL "build with id3lib") set(WITH_VORBIS ON CACHE BOOL "build with Ogg/Vorbis") set(WITH_FLAC ON CACHE BOOL "build with FLAC") -set(WITH_TUNEPIMP ON CACHE BOOL "build with TunePimp") +set(WITH_CHROMAPRINT ON CACHE BOOL "build with Chromaprint") set(WITH_DBUS ON CACHE BOOL "build with QtDBus") set(WITH_PHONON ON CACHE BOOL "build with Phonon") set(WITH_GCC_PCH OFF CACHE BOOL "enable precompiled headers") @@ -37,9 +37,11 @@ # Version information set(CPACK_PACKAGE_VERSION_MAJOR 2) -set(CPACK_PACKAGE_VERSION_MINOR 0) -set(CPACK_PACKAGE_VERSION_PATCH 1) -set(RELEASE_YEAR 2011) +set(CPACK_PACKAGE_VERSION_MINOR 1) +set(CPACK_PACKAGE_VERSION_PATCH 0) +set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") +#set(CPACK_PACKAGE_VERSION "git20120422") +set(RELEASE_YEAR 2012) if (WITH_GCC_PCH) include(GccPchMacros.cmake) @@ -57,10 +59,6 @@ set(WITH_BINDIR ${BIN_INSTALL_DIR}) set(WITH_LIBDIR ${LIB_INSTALL_DIR}) -if (BUILD_SHARED_LIBS AND __KDE_HAVE_GCC_VISIBILITY) - message(WARNING "Use -D__KDE_HAVE_GCC_VISIBILITY=OFF to build KDE shared libraries") -endif (BUILD_SHARED_LIBS AND __KDE_HAVE_GCC_VISIBILITY) - else (WITH_KDE) find_package(Threads) @@ -107,13 +105,48 @@ set(CFG_TRANSLATIONSDIR ${CMAKE_INSTALL_PREFIX_SLASH}${WITH_TRANSLATIONSDIR}) cmake_minimum_required(VERSION 2.8) -set(_QT4_COMPONENTS QtCore QtGui QtNetwork QtXml) -if (WIN32) - set(QT_USE_QTMAIN TRUE) -endif (WIN32) -set(QT_USE_QTDBUS ${WITH_DBUS}) -find_package(Qt4 COMPONENTS ${_QT4_COMPONENTS} REQUIRED) -include (${QT_USE_FILE}) +string(REGEX MATCH "^.*qt5" _qt5Dir "${QT_QMAKE_EXECUTABLE}") +if (_qt5Dir) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") + set(Qt5Core_DIR "${_qt5Dir}/lib/cmake/Qt5Core") + set(Qt5Gui_DIR "${_qt5Dir}/lib/cmake/Qt5Gui") + set(Qt5Widgets_DIR "${_qt5Dir}/lib/cmake/Qt5Widgets") + set(Qt5Network_DIR "${_qt5Dir}/lib/cmake/Qt5Network") + set(Qt5Xml_DIR "${_qt5Dir}/lib/cmake/Qt5Xml") + set(Qt5LinguistTools_DIR "${_qt5Dir}/lib/cmake/Qt5LinguistTools") + set(QT_INCLUDES) + set(QT_DEFINITIONS) + set(QT_LIBRARIES) + foreach (_qt5Component Core Gui Widgets Network Xml LinguistTools) + find_package("Qt5${_qt5Component}") + set(QT_INCLUDES ${QT_INCLUDES} ${Qt5${_qt5Component}_INCLUDE_DIRS}) + set(QT_DEFINITIONS ${QT_DEFINITIONS} ${Qt5${_qt5Component}_DEFINITIONS}) + set(QT_LIBRARIES ${QT_LIBRARIES} ${Qt5${_qt5Component}_LIBRARIES}) + endforeach () + set(QT_LIBRARY_DIR "${_qt5Dir}/lib") + set(QT_INCLUDE_DIR "${_qt5Dir}/include") + + macro(qt4_add_translation) + qt5_add_translation(${ARGV}) + endmacro(qt4_add_translation) + + macro(qt4_wrap_cpp) + qt5_wrap_cpp(${ARGV}) + endmacro(qt4_wrap_cpp) + + macro(qt4_add_resources) + qt5_add_resources(${ARGV}) + endmacro(qt4_add_resources) +else (_qt5Dir) + set(_QT4_COMPONENTS QtCore QtGui QtNetwork QtXml) + if (WIN32) + set(QT_USE_QTMAIN TRUE) + endif (WIN32) + set(QT_USE_QTDBUS ${WITH_DBUS}) + find_package(Qt4 COMPONENTS ${_QT4_COMPONENTS} REQUIRED) + include (${QT_USE_FILE}) +endif (_qt5Dir) include (CheckCXXSourceCompiles) find_package(Perl REQUIRED) @@ -163,6 +196,10 @@ link_directories($ENV{LIB}) endif (WIN32) +if (BUILD_SHARED_LIBS) + add_definitions(-DKID3_SHARED) +endif (BUILD_SHARED_LIBS) + ### Check for taglib set(TAGLIB_LIBRARIES) set(TAGLIB_CFLAGS) @@ -288,30 +325,33 @@ endif(ID3LIB_INCLUDE_DIR AND ID3LIB_LIBRARIES) endif(WITH_ID3LIB) -### Check for TunePimp -set(TUNEPIMP_LIBRARIES) -set(HAVE_TUNEPIMP 0) -if(WITH_TUNEPIMP) - find_path(TUNEPIMP_INCLUDE_DIR tunepimp/tp_c.h) - if(NOT TUNEPIMP_INCLUDE_DIR) - find_path(TUNEPIMP_INCLUDE_DIR tunepimp-0.5/tp_c.h) - endif(NOT TUNEPIMP_INCLUDE_DIR) - find_library(TUNEPIMP_LIBRARIES NAMES tunepimp) - if(TUNEPIMP_INCLUDE_DIR AND TUNEPIMP_LIBRARIES) - message(STATUS "TunePimp found: ${TUNEPIMP_LIBRARIES}") - CHECK_LIBRARY_EXISTS(${TUNEPIMP_LIBRARIES} tp_SetFileNameEncoding "" TUNEPIMP_FOUND_VERSION_4) - CHECK_LIBRARY_EXISTS(${TUNEPIMP_LIBRARIES} tr_GetPUID "" TUNEPIMP_FOUND_VERSION_5) - if(TUNEPIMP_FOUND_VERSION_5) - set(HAVE_TUNEPIMP 5) - elseif(TUNEPIMP_FOUND_VERSION_4) - set(HAVE_TUNEPIMP 4) - else(TUNEPIMP_FOUND_VERSION_5) - set(HAVE_TUNEPIMP 3) - endif(TUNEPIMP_FOUND_VERSION_5) - else(TUNEPIMP_INCLUDE_DIR AND TUNEPIMP_LIBRARIES) - message(FATAL_ERROR "Could not find TunePimp") - endif(TUNEPIMP_INCLUDE_DIR AND TUNEPIMP_LIBRARIES) -endif(WITH_TUNEPIMP) +### Check for Chromaprint +set(CHROMAPRINT_INCLUDES) +set(CHROMAPRINT_LIBS) +if(WITH_CHROMAPRINT) + set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) + find_package(FFmpeg REQUIRED) + find_package(Chromaprint REQUIRED) + if(CHROMAPRINT_INCLUDE_DIR AND CHROMAPRINT_LIBRARIES) + set(HAVE_CHROMAPRINT 1) + endif(CHROMAPRINT_INCLUDE_DIR AND CHROMAPRINT_LIBRARIES) + + include(CheckFunctionExists) + set(_CMAKE_REQUIRED_LIBRARIES_TMP ${CMAKE_REQUIRED_LIBRARIES}) + set(CMAKE_REQUIRED_LIBRARIES + ${FFMPEG_LIBAVFORMAT_LIBRARIES} + ${FFMPEG_LIBAVCODEC_LIBRARIES} + ${FFMPEG_LIBAVUTIL_LIBRARIES}) + check_function_exists(av_audio_convert HAVE_AV_AUDIO_CONVERT) + set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_TMP}) + + set(CHROMAPRINT_INCLUDES ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS} ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS} ${CHROMAPRINT_INCLUDE_DIR}) + set(CHROMAPRINT_LIBS ${CHROMAPRINT_LIBRARIES} ${FFMPEG_LIBAVFORMAT_LIBRARIES} ${FFMPEG_LIBAVCODEC_LIBRARIES} ${FFMPEG_LIBAVUTIL_LIBRARIES}) + if (APPLE) + find_library(ACCELERATE_LIBRARIES Accelerate) + set(CHROMAPRINT_LIBS ${CHROMAPRINT_LIBS} ${ACCELERATE_LIBRARIES}) + endif (APPLE) +endif(WITH_CHROMAPRINT) ### Check for Vorbis set(VORBIS_LIBRARIES) @@ -384,7 +424,7 @@ endif (WITH_PHONON AND PHONON_FOUND) add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} ${TAGLIB_CFLAGS} -DHAVE_CONFIG_H=1 -DKDE_NO_COMPAT) -include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${QT_INCLUDES} ${PHONON_INCLUDES} ${MP4V2_INCLUDE_DIR} ${ID3LIB_INCLUDE_DIR} ${TUNEPIMP_INCLUDE_DIR} ${VORBIS_INCLUDE_DIR} ${FLACPP_INCLUDE_DIR}) +include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${QT_INCLUDES} ${PHONON_INCLUDES} ${MP4V2_INCLUDE_DIR} ${ID3LIB_INCLUDE_DIR} ${CHROMAPRINT_INCLUDES} ${VORBIS_INCLUDE_DIR} ${FLACPP_INCLUDE_DIR}) else (WITH_KDE) @@ -408,10 +448,23 @@ endif (PHONON_LIBRARY AND PHONON_INCLUDE_DIR) endif (WITH_PHONON) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -D_REENTRANT") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -D_REENTRANT") -add_definitions(${QT_DEFINITIONS} ${TAGLIB_CFLAGS} ${ID3LIB_DEFINITIONS} ${FLAC_DEFINITIONS} -DHAVE_CONFIG_H=1) -include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${QT_INCLUDES} ${PHONON_INCLUDE_DIR} ${MP4V2_INCLUDE_DIR} ${ID3LIB_INCLUDE_DIR} ${TUNEPIMP_INCLUDE_DIR} ${VORBIS_INCLUDE_DIR} ${FLACPP_INCLUDE_DIR}) +if (CMAKE_COMPILER_IS_GNUCC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -D_REENTRANT") +endif (CMAKE_COMPILER_IS_GNUCC) +if (CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fno-exceptions -D_REENTRANT") +endif (CMAKE_COMPILER_IS_GNUCXX) +add_definitions(${QT_DEFINITIONS} ${TAGLIB_CFLAGS} ${ID3LIB_DEFINITIONS} ${FLAC_DEFINITIONS} -DHAVE_CONFIG_H=1 -DQT_NO_EXCEPTIONS -DQT_NO_STL) +include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${QT_INCLUDES} ${PHONON_INCLUDE_DIR} ${MP4V2_INCLUDE_DIR} ${ID3LIB_INCLUDE_DIR} ${CHROMAPRINT_INCLUDES} ${VORBIS_INCLUDE_DIR} ${FLACPP_INCLUDE_DIR}) + +if (NOT WIN32) + include (CheckCXXCompilerFlag) + check_cxx_compiler_flag(-fvisibility=hidden _HAVE_GCC_VISIBILITY) + if (_HAVE_GCC_VISIBILITY) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") + endif (_HAVE_GCC_VISIBILITY) +endif (NOT WIN32) if (UNIX AND NOT APPLE) set(KID3_EXECUTABLE kid3-qt) diff -Nru kid3-2.0.1/config.h.cmake kid3-2.1/config.h.cmake --- kid3-2.0.1/config.h.cmake 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/config.h.cmake 2012-05-11 05:46:04.000000000 +0000 @@ -2,7 +2,7 @@ #ifndef CONFIG_H #define CONFIG_H -#define VERSION "@CPACK_PACKAGE_VERSION_MAJOR@.@CPACK_PACKAGE_VERSION_MINOR@.@CPACK_PACKAGE_VERSION_PATCH@" +#define VERSION "@CPACK_PACKAGE_VERSION@" #define RELEASE_YEAR "@RELEASE_YEAR@" #cmakedefine CONFIG_USE_KDE 1 @@ -24,8 +24,11 @@ /* Define to build with MP4GetMetadataByIndex char** argument */ #cmakedefine HAVE_MP4V2_MP4GETMETADATABYINDEX_CHARPP_ARG 1 -/* Set to TunePimp version, undefined if not installed */ -#cmakedefine HAVE_TUNEPIMP ${HAVE_TUNEPIMP} +/* Define to build with Chromaprint */ +#cmakedefine HAVE_CHROMAPRINT ${HAVE_CHROMAPRINT} + +/* Define if av_audio_convert is available */ +#cmakedefine HAVE_AV_AUDIO_CONVERT ${HAVE_AV_AUDIO_CONVERT} /* Define if you have ogg/vorbis installed */ #cmakedefine HAVE_VORBIS 1 diff -Nru kid3-2.0.1/deb/changelog kid3-2.1/deb/changelog --- kid3-2.0.1/deb/changelog 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/deb/changelog 2012-05-11 05:46:04.000000000 +0000 @@ -1,14 +1,57 @@ -kid3 (2.0.1-0) unstable; urgency=low +kid3 (2.1-0) unstable; urgency=low * New upstream release. - -- Urs Fleisch Sat, 29 Oct 2011 11:23:46 +0200 + -- Urs Fleisch Mon, 07 May 2012 21:20:06 +0200 -kid3 (2.0-0) unstable; urgency=low +kid3 (2.0.1-4) unstable; urgency=low + + * Add patch 01-gcc4.7-ftbfs to fix a FTBFS with GCC 4.7. + Closes: #667227 + + -- Patrick Matthäi Wed, 04 Apr 2012 16:32:21 +0200 + +kid3 (2.0.1-3) unstable; urgency=low + + * Bump Standards-Version to 3.9.3 (no changed needed). + * Wrap all debian/control fields. + + -- Patrick Matthäi Fri, 24 Feb 2012 19:22:47 +0100 + +kid3 (2.0.1-2) unstable; urgency=low + + * Do not build the package with libtunepimp. + Closes: #657018 + * Add missing build-arch and build-indep debian/rules target. + * Add doc-base registration for the kid3-qt package. + * Repair broken common symlinks in the kid3 package and add an lintian + overwrite for it (false positive). + Closes: #583333 + + -- Patrick Matthäi Wed, 25 Jan 2012 16:07:08 +0100 + +kid3 (2.0.1-1) unstable; urgency=low * New upstream release. - -- Urs Fleisch Tue, 30 Aug 2011 19:02:37 +0200 + [ Patrick Matthäi ] + * Adjust build system. + * Add build dependency xsltproc. + + [ Ana Beatriz Guerrero Lopez ] + * Some more adjustments to the build system taken from upstream's deb/ + * directory. + + -- Ana Beatriz Guerrero Lopez Sun, 13 Nov 2011 16:34:13 +0100 + +kid3 (1.6-2) unstable; urgency=low + + * Bump debhelper to version 7. + * Bump Standards-Version to 3.9.2 (no changes needed). + * Wrap build dependencies. + * Build with enabled hardening-wrapper. + + -- Patrick Matthäi Sat, 30 Apr 2011 20:10:56 +0200 kid3 (1.6-1) unstable; urgency=low diff -Nru kid3-2.0.1/deb/compat kid3-2.1/deb/compat --- kid3-2.0.1/deb/compat 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/deb/compat 2012-05-11 05:46:04.000000000 +0000 @@ -1 +1 @@ -6 +7 diff -Nru kid3-2.0.1/deb/control kid3-2.1/deb/control --- kid3-2.0.1/deb/control 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/deb/control 2012-05-11 05:46:04.000000000 +0000 @@ -2,19 +2,33 @@ Section: kde Priority: optional Maintainer: Debian KDE Extras Team -Uploaders: Ana Beatriz Guerrero Lopez , Mark Purcell , +Uploaders: Ana Beatriz Guerrero Lopez , + Mark Purcell , Patrick Matthäi -Build-Depends: debhelper (>= 6), libqt4-dev, kdelibs5-dev, cmake, - libid3-3.8.3-dev, libtunepimp-dev, libflac++-dev, libvorbis-dev, - libtag1-dev, xsltproc, docbook-xsl, lsb-release -Standards-Version: 3.9.1 +Build-Depends: debhelper (>= 7), + libqt4-dev, + kdelibs5-dev, + cmake, + libid3-3.8.3-dev, + libflac++-dev, + libvorbis-dev, + libtag1-dev, + libavformat-dev, + libavcodec-dev, + libchromaprint-dev, + hardening-wrapper, + lsb-release, + docbook-xsl, + xsltproc +Standards-Version: 3.9.3 Homepage: http://kid3.sourceforge.net/ Vcs-Svn: svn://svn.debian.org/pkg-kde/kde-extras/kid3/trunk/ Vcs-Browser: http://svn.debian.org/wsvn/pkg-kde/kde-extras/kid3/?op=log Package: kid3 Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends}, + ${misc:Depends} Description: KDE MP3 ID3 tag editor With Kid3, an ID3 tag editor for KDE you can: * Edit ID3v1.1 tags in your MP3 files @@ -38,7 +52,8 @@ Package: kid3-qt Section: sound Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: ${shlibs:Depends}, + ${misc:Depends} Description: Audio tag editor With Kid3, an audio tag editor you can: * Edit ID3v1.1 tags in your MP3 files diff -Nru kid3-2.0.1/deb/copyright kid3-2.1/deb/copyright --- kid3-2.0.1/deb/copyright 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/deb/copyright 2012-05-11 05:46:04.000000000 +0000 @@ -10,7 +10,7 @@ Copyright: -Copyright 2003-2011 Urs Fleisch +Copyright 2003-2012 Urs Fleisch License: diff -Nru kid3-2.0.1/deb/kid3.links kid3-2.1/deb/kid3.links --- kid3-2.0.1/deb/kid3.links 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/deb/kid3.links 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,2 @@ +usr/share/doc/kde/HTML/en/common usr/share/doc/kde/HTML/en/kid3/common +usr/share/doc/kde/HTML/en/common usr/share/doc/kde/HTML/de/kid3/common diff -Nru kid3-2.0.1/deb/kid3.lintian-overrides kid3-2.1/deb/kid3.lintian-overrides --- kid3-2.0.1/deb/kid3.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/deb/kid3.lintian-overrides 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,2 @@ +kid3: package-contains-broken-symlink usr/share/doc/kde/HTML/de/kid3/common ../../en/common +kid3: package-contains-broken-symlink usr/share/doc/kde/HTML/en/kid3/common ../common diff -Nru kid3-2.0.1/deb/kid3-qt.doc-base kid3-2.1/deb/kid3-qt.doc-base --- kid3-2.0.1/deb/kid3-qt.doc-base 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/deb/kid3-qt.doc-base 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,14 @@ +Document: kid3-qt +Title: The Kid3 Handbook +Author: Urs Fleisch +Abstract: Kid3 is an application to edit the ID3v1 and ID3v2 tags in MP3 files + in an efficient way. Also tags in Ogg/Vorbis, FLAC, MPC, APE, MP4/AAC, MP2, + Speex, TrueAudio, WavPack, WMA, WAV and AIFF files are supported. It is easy to + set tags of multiple files to the same values (e.g. album, artist, year and + genre in all files of the same album) and generate the tags from the file name + or vice versa. +Section: Sound + +Format: HTML +Index: /usr/share/doc/kid3-qt/kid3_en.html +Files: /usr/share/doc/kid3-qt/*.html diff -Nru kid3-2.0.1/deb/rules kid3-2.1/deb/rules --- kid3-2.0.1/deb/rules 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/deb/rules 2012-05-11 05:46:04.000000000 +0000 @@ -2,6 +2,7 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 +export DEB_BUILD_HARDENING=1 kdedocs = $(CURDIR)/debian/kid3/usr/share/doc/kde/HTML @@ -27,6 +28,10 @@ build: build-stamp +build-arch: build + +build-indep: build + DEB_CMAKE_PREFIX = /usr DEB_CONFIG_INSTALL_DIR = $(DEB_CMAKE_PREFIX)/share/kde4/config DEB_HTML_INSTALL_DIR = $(DEB_CMAKE_PREFIX)/share/doc/kde/HTML @@ -43,18 +48,18 @@ -DLIB_INSTALL_DIR=$(DEB_CMAKE_PREFIX)/lib CMAKE_QT4_FLAGS = \ - -DCMAKE_SKIP_RPATH=ON \ - -DCMAKE_INSTALL_PREFIX="$(DEB_CMAKE_PREFIX)" \ - -DCMAKE_C_COMPILER:FILEPATH="$(CC)" \ - -DCMAKE_CXX_COMPILER:FILEPATH="$(CXX)" \ - -DCMAKE_C_FLAGS="$(CFLAGS)" \ - -DCMAKE_CXX_FLAGS="$(CXXFLAGS)" \ - -DWITH_MP4V2=OFF \ - -DWITH_KDE=OFF \ - -DWITH_DATAROOTDIR=share \ - -DWITH_DOCDIR=share/doc/kid3-qt \ - -DWITH_TRANSLATIONSDIR=share/kid3-qt/translations \ - -DWITH_BINDIR=bin + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX="$(DEB_CMAKE_PREFIX)" \ + -DCMAKE_C_COMPILER:FILEPATH="$(CC)" \ + -DCMAKE_CXX_COMPILER:FILEPATH="$(CXX)" \ + -DCMAKE_C_FLAGS="$(CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(CXXFLAGS)" \ + -DWITH_MP4V2=OFF \ + -DWITH_KDE=OFF \ + -DWITH_DATAROOTDIR=share \ + -DWITH_DOCDIR=share/doc/kid3-qt \ + -DWITH_TRANSLATIONSDIR=share/kid3-qt/translations \ + -DWITH_BINDIR=bin ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) CMAKE_QT4_FLAGS += -DCMAKE_BUILD_TYPE=Debug @@ -69,32 +74,29 @@ cd kid3-kde4 && cmake .. $(CMAKE_KDE4_FLAGS) $(MAKE) -C kid3-kde4 # Qt4 build. - mkdir kid3-qt4 - cd kid3-qt4 && cmake .. $(CMAKE_QT4_FLAGS) - $(MAKE) -C kid3-qt4 + mkdir kid3-qt + cd kid3-qt && cmake .. $(CMAKE_QT4_FLAGS) + $(MAKE) -C kid3-qt touch build-stamp clean: dh_testdir dh_testroot + [ ! -f kid3-qt/Makefile ] || $(MAKE) -C kid3-qt clean [ ! -f kid3-kde4/Makefile ] || $(MAKE) -C kid3-kde4 clean - [ ! -f kid3-qt4/Makefile ] || $(MAKE) -C kid3-qt4 clean - -rm -rf kid3-kde4 kid3-qt4 - -rm -f *-stamp + rm -rf kid3-kde4 kid3-qt + rm -f *-stamp po/*.gmo dh_clean install: build dh_testdir dh_testroot - dh_clean -k + dh_prep dh_installdirs # Main install. $(MAKE) -C kid3-kde4 install DESTDIR=$(CURDIR)/debian/kid3 - $(MAKE) -C kid3-qt4 install DESTDIR=$(CURDIR)/debian/kid3-qt - # Make common links for docs. - for p in `dh_listpackages`; do \ - for i in `find $(kdedocs) -type d -name $$p -not -regex .*/en/$$p`; do \ - ln -f -n -s ../../en/common $$i/common; done; done + $(MAKE) -C kid3-qt install DESTDIR=$(CURDIR)/debian/kid3-qt + rm $(CURDIR)/debian/kid3/usr/share/doc/kde/HTML/*/kid3/common binary-indep: build install @@ -107,6 +109,7 @@ dh_installchangelogs ChangeLog dh_icons dh_link + dh_lintian dh_strip dh_compress --exclude=.docbook dh_fixperms diff -Nru kid3-2.0.1/debian/changelog kid3-2.1/debian/changelog --- kid3-2.0.1/debian/changelog 2012-04-04 14:32:44.000000000 +0000 +++ kid3-2.1/debian/changelog 2012-05-14 16:28:20.000000000 +0000 @@ -1,3 +1,17 @@ +kid3 (2.1-2) unstable; urgency=low + + * Remove patch 01-gcc4.7-ftbfs, it was merged with 2.1 to another location. + + -- Patrick Matthäi Mon, 14 May 2012 18:27:44 +0200 + +kid3 (2.1-1) unstable; urgency=low + + * New upstream release. + - Add new build dependencies libchromaprint-dev, libavformat-dev, + libavcodec-dev and pkg-config. + + -- Patrick Matthäi Sun, 13 May 2012 18:09:20 +0200 + kid3 (2.0.1-4) unstable; urgency=low * Add patch 01-gcc4.7-ftbfs to fix a FTBFS with GCC 4.7. diff -Nru kid3-2.0.1/debian/control kid3-2.1/debian/control --- kid3-2.0.1/debian/control 2012-04-04 14:32:44.000000000 +0000 +++ kid3-2.1/debian/control 2012-05-14 16:28:20.000000000 +0000 @@ -13,8 +13,12 @@ libflac++-dev (>= 1.1.2), libvorbis-dev, libtag1-dev, + libchromaprint-dev, + libavformat-dev, + libavcodec-dev, hardening-wrapper, docbook-utils, + pkg-config, xsltproc Standards-Version: 3.9.3 Homepage: http://kid3.sourceforge.net/ diff -Nru kid3-2.0.1/debian/patches/01-gcc4.7-ftbfs.diff kid3-2.1/debian/patches/01-gcc4.7-ftbfs.diff --- kid3-2.0.1/debian/patches/01-gcc4.7-ftbfs.diff 2012-04-04 14:32:44.000000000 +0000 +++ kid3-2.1/debian/patches/01-gcc4.7-ftbfs.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -# Fix FRBFS with GCC 4.7. -# Closes: #667227 - -diff -Naur kid3-2.0.1.orig/src/core/model/kid3application.h kid3-2.0.1/src/core/model/kid3application.h ---- kid3-2.0.1.orig/src/core/model/kid3application.h 2011-10-31 06:10:11.000000000 +0100 -+++ kid3-2.0.1/src/core/model/kid3application.h 2012-04-04 16:30:05.030672551 +0200 -@@ -29,6 +29,7 @@ - - #include - #include -+#include - #include "frame.h" - #include "trackdata.h" - #include "filefilter.h" diff -Nru kid3-2.0.1/debian/patches/series kid3-2.1/debian/patches/series --- kid3-2.0.1/debian/patches/series 2012-04-04 14:32:44.000000000 +0000 +++ kid3-2.1/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -01-gcc4.7-ftbfs.diff diff -Nru kid3-2.0.1/doc/de/index.docbook kid3-2.1/doc/de/index.docbook --- kid3-2.0.1/doc/de/index.docbook 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/doc/de/index.docbook 2012-05-11 05:46:04.000000000 +0000 @@ -20,13 +20,13 @@ -2011 +2012 Urs Fleisch &FDLNotice; -2011-10-29 -2.0.1 +2012-05-07 +2.1 @@ -1807,10 +1807,9 @@ die TagLib verwendet werden, welche zudem auch MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV und AIFF Dateien unterstützt. -Für MusicBrainz Unterstützung wird -libtunepimp -verwendet. Da momentan kein Tunepimp SDK für Windows existiert, wurde die -Windows Version ohne MusicBrainz Import kompiliert. +Für das Importieren über akustische Fingerabdrücke +werden Chromaprint +und libav verwendet. &kid3; ist für die meisten Linux-Distributionen, Windows und Mac OS X @@ -1841,8 +1840,8 @@ dass die Entwicklungspakete aller gewünschten Bibliotheken auch installiert sind. Andererseits kann mit cmake-Optionen bestimmt werden, was verwendet werden soll. Die Voreinstellung ist --D WITH_TAGLIB:BOOL=ON -D WITH_MP4V2:BOOL=ON -D WITH_ID3LIB:BOOL=ON --D WITH_TUNEPIMP:BOOL=ON -D WITH_VORBIS:BOOL=ON -D WITH_FLAC:BOOL=ON +-D WITH_TAGLIB:BOOL=ON -D WITH_MP4V2:BOOL=OFF -D WITH_ID3LIB:BOOL=ON +-D WITH_CHROMAPRINT:BOOL=ON -D WITH_VORBIS:BOOL=ON -D WITH_FLAC:BOOL=ON . Entsprechend kann auch OFF gesetzt werden. diff -Nru kid3-2.0.1/doc/en/index.docbook kid3-2.1/doc/en/index.docbook --- kid3-2.0.1/doc/en/index.docbook 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/doc/en/index.docbook 2012-05-11 05:46:04.000000000 +0000 @@ -20,13 +20,13 @@ -2011 +2012 Urs Fleisch &FDLNotice; -2011-10-29 -2.0.1 +2012-05-07 +2.1 @@ -1696,11 +1696,10 @@ MP4 files. These four formats are also supported by TagLib, -which can also handle MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV and AIFF files. -For MusicBrainz support, -libtunepimp -is used. As there does not exist a tunepimp SDK for Windows at the moment, the -Windows version is compiled without MusicBrainz import. +which can also handle MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV and AIFF files. +To import from acoustic fingerprints, +Chromaprint +and libav are used. &kid3; is available for most Linux distributions, Windows and Mac OS X. @@ -1734,8 +1733,8 @@ So you should take care to have all desired development packages installed. On the other side, cmake-options control which libraries are compiled in. The default is --D WITH_TAGLIB:BOOL=ON -D WITH_MP4V2:BOOL=ON -D WITH_ID3LIB:BOOL=ON --D WITH_TUNEPIMP:BOOL=ON -D WITH_VORBIS:BOOL=ON -D WITH_FLAC:BOOL=ON +-D WITH_TAGLIB:BOOL=ON -D WITH_MP4V2:BOOL=OFF -D WITH_ID3LIB:BOOL=ON +-D WITH_CHROMAPRINT:BOOL=ON -D WITH_VORBIS:BOOL=ON -D WITH_FLAC:BOOL=ON . These options can be disabled using OFF. diff -Nru kid3-2.0.1/Doxyfile kid3-2.1/Doxyfile --- kid3-2.0.1/Doxyfile 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/Doxyfile 2012-05-11 05:46:04.000000000 +0000 @@ -31,7 +31,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.0.1 +PROJECT_NUMBER = 2.1 # Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. @@ -1414,13 +1414,16 @@ # instead of the = operator. PREDEFINED = HAVE_FLAC \ + HAVE_FLAC_PICTURE \ HAVE_ID3LIB \ HAVE_MP4V2 \ HAVE_TAGLIB \ - HAVE_TUNEPIMP=5 \ + HAVE_CHROMAPRINT \ + HAVE_AV_AUDIO_CONVERT \ HAVE_VORBIS \ HAVE_QTDBUS \ - HAVE_PHONON + HAVE_PHONON \ + HAVE_MNTENT_H # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. diff -Nru kid3-2.0.1/INSTALL kid3-2.1/INSTALL --- kid3-2.0.1/INSTALL 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/INSTALL 2012-05-11 05:46:04.000000000 +0000 @@ -2,7 +2,7 @@ ** Requirements Qt, optional KDE, id3lib, TagLib, libogg, libvorbis, libvorbisfile, libFLAC++, -libFLAC, libtunepimp, mp4v2. +libFLAC, Chromaprint, mp4v2. ** Linux diff -Nru kid3-2.0.1/kid3.lsm kid3-2.1/kid3.lsm --- kid3-2.0.1/kid3.lsm 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/kid3.lsm 2012-05-11 05:46:04.000000000 +0000 @@ -1,7 +1,7 @@ Begin4 Title: Kid3 -- Efficient Audio Tagger -Version: 2.0.1 -Entered-date: 2011-10-29 +Version: 2.1 +Entered-date: 2012-05-07 Description: Audio tagger to edit ID3v1.1, ID3v2.3, ID3v2.4, Ogg/Vorbis, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV and AIFF tags, multiple files, generate tags from file names @@ -12,7 +12,7 @@ Home-page: http://kid3.sourceforge.net Alternate-site: http://www.kde-apps.org/content/show.php?content=10415 Primary-site: http://www.sourceforge.net/projects/kid3 - http://prdownloads.sourceforge.net/kid3/kid3-2.0.1.tar.gz?download + http://prdownloads.sourceforge.net/kid3/kid3-2.1.tar.gz?download Platform: Linux, Windows. Copying-policy: GPL End diff -Nru kid3-2.0.1/kid3.spec kid3-2.1/kid3.spec --- kid3-2.0.1/kid3.spec 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/kid3.spec 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ License: GPL Group: Applications/Multimedia Summary: Efficient ID3 tag editor -Version: 2.0.1 +Version: 2.1 Release: 1%{?dist} URL: http://kid3.sourceforge.net/ Source0: http://downloads.sourceforge.net/kid3/%{name}-%{version}.tar.gz @@ -19,9 +19,8 @@ BuildRequires: taglib-devel >= 1.4 BuildRequires: flac-devel # Mandriva: BuildRequires: libflac++-devel -BuildRequires: libtunepimp-devel +BuildRequires: libchromaprint-devel BuildRequires: libvorbis-devel -BuildRequires: libmp4v2-devel BuildRequires: gettext Requires: xdg-utils diff -Nru kid3-2.0.1/macosx/buildkid3.sh kid3-2.1/macosx/buildkid3.sh --- kid3-2.0.1/macosx/buildkid3.sh 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/macosx/buildkid3.sh 2012-05-11 05:46:04.000000000 +0000 @@ -1,4 +1,4 @@ #!/bin/sh -cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= -D WITH_TUNEPIMP=OFF .. +cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= .. make cpack diff -Nru kid3-2.0.1/po/cs.po kid3-2.1/po/cs.po --- kid3-2.0.1/po/cs.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/cs.po 2012-05-11 05:46:04.000000000 +0000 @@ -6,10 +6,10 @@ # Pavel Fric , 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: cs\n" -"Report-Msgid-Bugs-To: http://sourceforge." -"net/tracker/?group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"Project-Id-Version: Kid3 2.1\n" +"Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" +"group_id=70849&atid=529221\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-09-07 08:47+0200\n" "Last-Translator: Pavel Fric \n" "Language-Team: Czech \n" @@ -22,371 +22,391 @@ "X-Language: cs\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Akce" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Zkratka" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Kódování zvuku" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - Připojený obrázek" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Poznámky" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - Obchodní informace" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - Zápis způsobu kódování" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - Vyrovnání" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO - Časové kódy událostí" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB - Všeobecný uzavřený předmět" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID - Zápis určení zařazení do skupin" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - Seznam zúčastněných osob" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - Spojená informace" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - Určení hudebního CD" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - Vyhledávací tabulka poloh MPEG" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE - Vlastník" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - Soukromé" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - Počítadlo přehrání" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - Měřidlo oblíbenosti" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - Seřízení polohy" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - Doporučená velikost vyrovnávací paměti" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD - Poměrné přizpůsobení hlasitosti" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB - Ozvěna" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - Souběžný text písně/text" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC - Souběžné časové kódy" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - Album/Film/Ukázat název" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - BPM (dob za minutu)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - Skladatel" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - Druh obsahu" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - Sdělení o autorském právu" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Datum" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - Zdržení seznamu skladeb" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - Zakódováno" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - Textař/Skladatel textu" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - Typ souboru" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Čas" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - Popis skupiny obsahu" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - Název/Název písně/Popis obsahu" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 - Jemný rozdíl Podnázev/Přesný popis" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY - Tónina na začátku" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Jazyk(y)" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Délka" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Typ média" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - Původní album/Film/Ukázat název" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Původní název souboru" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - Původní textař(i)/Skladatel(é) textu" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - Původní umělec(i)/Účinkující" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - Původní rok vydání" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - Vlastník souboru/Držitel povolení" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - Hlavní umělec(i)/Sólista(é)" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - Hudební skupina/Orchestr/Doprovod" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 - Jemný rozdíl Dirigent/Účinkující" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - Umělecky ztvárněno, znovu zamícháno nebo jinak změněno od" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - Část souboru skladeb" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - Vydavatel" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - Číslo skladby/Poloha v souboru skladeb" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - Datum nahrávky" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - Název internetové rozhlasové stanice" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - Vlastník internetové rozhlasové stanice" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - Velikost" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC - ISRC (Obvyklý mezinárodní nahrávací kód)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - Software/Hardware a nastavení kódování" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - Uživatelsky stanovená textová informace" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Rok" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - Jedinečné určení souboru" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - Podmínky užití" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT - Nesouběžný přepis textu písně/textu" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - Obchodní sdělení" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - Autorské právo/Zákonná sdělení" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - Veřejné internetové stránky zvukového souboru" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - Veřejné internetové stránky umělce/účinkujícího" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - Veřejné internetové stránky zvukového zdroje" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - Veřejné internetové stránky internetové rozhlasové stanice" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - Platba" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - Veřejné internetové stránky vydavatele" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - Uživatelsky stanovený odkaz na URL" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - Rejstřík s body hledání zvuku" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 - Vyrovnání (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - Poměrné přizpůsobení hlasitosti (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - Hledání" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - Podpis" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes kompilací" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - Čas zakódování" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - Původní rok vydání" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - Čas nahrání" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - Čas vydání" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - Čas opatření značkami" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - Seznam zúčastněných osob" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - Seznam hudebníků" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Nálada" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO - Autorské právo výroby" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Seřazování podle umělce alba" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - Setřídění alb" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - Setřídění skladatel" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - Setřídění účinkujících" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - Setřídění názvů" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - Podnázev skladby" @@ -394,7 +414,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -404,9 +424,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Připraven." @@ -422,7 +442,7 @@ msgid "Request sent..." msgstr "Požadavek poslán..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Přijatá data: %1" @@ -438,80 +458,44 @@ msgid "Host not found" msgstr "Hostitelský počítač nenalezen" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Rok" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Délka" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Číst údaje k souborům" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Nerozpoznáno" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Rozpoznáno" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "Probíhá hledání" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "Hledání PUID" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "Střetnutí PUID" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "Hledání TRM" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "Střetnutí TRM" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Vyhledání souboru" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Výběr" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Ověřeno" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Uloženo" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Smazáno" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Otisk" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Chyba" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Odstraněno" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Zapsáno" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "Hledání ID" + +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Vyhledat Metadata" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz Album" @@ -552,64 +536,65 @@ msgid "Command" msgstr "Příkaz" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Vytvoření adresáře %1 se nepodařilo\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Soubor %1 již existuje\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 není adresářem\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Přejmenování %1 na %2 se nepodařilo\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "" "%1 již existuje\n" "\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 není souborem\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Nový název adresáře se příliš liší\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Vytvořit adresář" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Přejmenovat adresář" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Přejmenovat soubor" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "&Smazat" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Zavřít" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Provést " -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Nepodařilo se provést" @@ -638,20 +623,22 @@ msgstr "Logické popření" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Data" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Všechny podporované soubory" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Všechny soubory (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Stopa" @@ -659,9 +646,9 @@ msgid "Absolute path to file" msgstr "Nepochybná cesta k souboru" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Název souboru" @@ -713,11 +700,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Skladatel" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Vedoucí" @@ -741,7 +728,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Jazyk" @@ -749,11 +736,11 @@ msgid "Lyricist" msgstr "Textař" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Text písně" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Medium" @@ -829,13 +816,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Značkovač ID3 programu Kid3" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -846,489 +833,506 @@ msgstr "Adresář k otevření" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Procházet kvůli obrázkům obalů" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "Umělec/&Album" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Zdroj" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Zdroj:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "Získání &URL" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Porovnání" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "URL obrázku" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "&Nápověda" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "&Uložit nastavení" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Procházet" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "&Zrušit" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Klepněte na Procházet pro započetí" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "Potom přetáhněte obrázek z prohlížeče do okna Kid3." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Zpět" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "&Vpřed" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Hledat:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Najít předchozí" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Najít následující" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "&Označit zkrácená pole" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "Kódování t&extu:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Použít formát číslo/celkový počet &stop" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "&Počet číslic v čísle skladby:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "Žá&nr jako text místo jako číslo" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "&Verze používaná pro nové značky:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "&Počet číslic v čísle skladby:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "&Verze používaná pro nové značky:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "&Název pole s poznámkou:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "Název pole s &obrázkem:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "Vlas&tní žánry" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "&Ukázat pouze vlastní žánry" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "&Formát značky" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Značky" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Značky" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Uložit" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "&Neměnit časové razítko" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "&Označit změny" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "Formát &souborového názvu" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Soubory" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Soubory" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Prohlížeč" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "&Prohlížeč internetu:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Příkazy souvisejících &nabídek" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 msgid "&Play on double click" msgstr "&Přehrát po dvojitém poklepání" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Uživatelské příkazy" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "&Uživatelské příkazy" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Proxy" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Proxy:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "Po&užít ověření pomocí Proxy" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "Uživatelské &jméno uživatele Proxy:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "&Heslo pro Proxy:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Síť" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Síť" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "&Klávesové zkratky" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Použít v ap&likaci vlastní písmo" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "Pís&mo..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Použít v aplikaci vlastní &styl" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Neznámý" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Použít systému vlastní souborové &dialogy" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "Vz&hled" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&OK" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Klávesová zkratka '%1' už je použita pro '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Příručka k programu Kid3" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "Ze s&chránky" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Zavést" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Vyvést" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "&Pohled" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Kódování textu" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Text" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Popis" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Vlastník" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "E-mail" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Hodnocení" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Druh obrázku" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Formát obrázku" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Mime Typ" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Počítadlo" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Určení" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Úprava hlasitosti" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Počet bitů" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Změna hlasitosti vpravo" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Změna hlasitosti vlevo" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Nejvyšší stupeň hlasitosti vpravo" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Nejvyšší stupeň hlasitosti vlevo" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Formát časového razítka" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Druh obsahu" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Obrázky (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Jiný" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "Ikona o velikosti 32x32 pixelů pro soubor PNG" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Ikona jiného souboru" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Obal (přední strana)" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Obal (zadní strana)" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Strana letáku" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Hlavní umělec/Účinkující/Sólista" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Umělec/Účinkující" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Hudební skupina/Orchestr" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Textař/Skladatel textu" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Místo nahrávky" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Během nahrávání" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Během vystoupení" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Obrázek z filmu/videa" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Jasně svítící ryba" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Ukázka" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Logotyp hudební skupiny/umělce" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Logotyp vydavatele/nahrávacího studia" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Snímky MPEG jako jednotka" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Milisekundy jako jednotka" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Přepis textu" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Název věty/části" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Událost" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Akord" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Drobnosti/Vyskakovací" @@ -1336,165 +1340,165 @@ msgid "Export" msgstr "Vyvést" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Formát:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Záhlaví:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Stopy:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Zápatí:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "Do sou&boru" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "Do sch&ránky" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Zdroj:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Značka 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Značka 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Chyba v souboru" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Při zápisu do souboru nastala chyba:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filtrovat" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filtrovat:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Výraz:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "&Použít" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Zavést ze souboru/s&chránky..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "Ze zn&ačky..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&Ze serveru:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz Fingerprint" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "Cí&l:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Značka 1 a značka 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Naposledy uložené znění" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Vyzkoušet největší možný přípustný časový &rozdíl (s):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Porovnat s:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Délka" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "&Stopa" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Název" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Server:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Název skladby/Umělec - Album" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Stav" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Žádný výsledek" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Nevybrán žádný výsledek" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Číslovat skladby" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "&Začáteční číslo:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "&Cíl:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "Celkový počet s&top:" @@ -1510,7 +1514,7 @@ msgid "Same as &directory name" msgstr "Stejný jako &název adresáře" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Formát:" @@ -1566,8 +1570,8 @@ msgid "Write &info using" msgstr "Zapsat &údaje pomocí" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Přejmenovat adresář" @@ -1579,29 +1583,31 @@ msgid "Preview" msgstr "Náhled" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "vytvořit adresář" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Ze značky 2 a značky 1" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Ze značky 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Ze značky 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "Z:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "Do:" @@ -1629,11 +1635,11 @@ msgid "Extraction:" msgstr "Získání:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Zavést ze souboru/schránky" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "Ze soubor&u" @@ -1653,356 +1659,364 @@ msgid "&Move to Trash" msgstr "&Přesunout do koše" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Přehrát" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "S&oubor" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Název:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Název souboru ze značky 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Název souboru ze značky 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Značka 1 z názvu souboru" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Značka 2 z názvu souboru" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Značka &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Kopírovat" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Vložit" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Odstranit" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Značka &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Upravit" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Přidat" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Smazat" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Zaměření" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Z názvu souboru" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Stáhnout" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Hlavní nástrojový panel" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Otevře adresář" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Otevře nedávno použitý adresář" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Vrátí změny všech nebo vybraných souborů" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Uloží změněné soubory" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Ukončí program" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Vybrat všechny soubory" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Zrušit výběr všech souborů" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Nastavit zkratky" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Nastavit nástrojové panely" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Nastavení" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "&Otevřít adresář..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Zavést..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Zavést z %1..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "&Procházet kvůli obrázkům obalů..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Vyvést..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "&Vytvořit seznam skladeb..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Použít formát pro &název souboru" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Použít formát pro &značku" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "&Přejmenovat adresář..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "Čís&lovat skladby..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&iltrovat..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Převést ID3v2.3 na ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Převést ID3v2.4 na ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "&Ukázat obrázek" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "Automaticky &skrýt" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Předchozí soubor" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "&Další soubor" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Z názvu souboru" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Prvky:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Zaměření" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Soubor" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Otevřít..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "Ot&evřít nedávný" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Uložit" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "&Naposledy uložené znění" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Zavést ze souboru nebo ze schránky" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Zavést z %1" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Procházet kvůli obrázkům obalů" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Vyvést do souboru nebo do schránky" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "Vytvořit seznam skladeb M3U" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "&Ukončit" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Úpravy" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "Vybrat &vše" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "&Zrušit výběr" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Vybrat předchozí soubor" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Vybrat další soubor" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "&Nástroje" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Použít formát pro název souboru" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Použít formát pro značku" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "Převést ID3v2.3 na ID3v2.4" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "Převést ID3v2.4 na ID3v2.3" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Přehrát" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Nastavení" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Povolí/Zakáže nástrojový panel" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "Zobrazovat nás&trojový panel" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Ukázat stavový řádek" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "Zobrazovat st&avový řádek" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Ukázat obrázek" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Automaticky skrýt" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Nastavit Kid3" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "&Nastavit Kid3..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "&Příručka k programu Kid3" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "O programu Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&O programu Kid3" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "O Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "O &Qt" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Otevírá se adresář..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Ukládá se adresář..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2010,86 +2024,87 @@ "Nynější adresář byl změněn.\n" "Chcete jej uložit?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Varování" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Varování - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Otevřít" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Ukončuje se..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Přepíná se stavový řádek..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Vytváří se seznam skladeb..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Zavést" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Nastavit Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Během přejmenovávání se vyskytla chyba:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [filtrován]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr "[změněný]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Přidat prvek" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Vybrat ID prvku" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Přejmenovat soubor" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Zadejte nový název souboru:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "Opravdu si přejete přesunout těchto %1 položek do koše?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Opravdu si přejete přesunout tuto položku do koše?" msgstr[1] "Opravdu si přejete přesunout tyto %1 položky do koše?" msgstr[2] "Opravdu si přejete přesunout těchto %1 položek do koše?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Přesunout do koše" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "Adresář musí být prázdný.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Nelze přesunout tyto soubory do koše" @@ -2145,15 +2160,15 @@ msgid "To" msgstr "Na" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Přidat" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Odstranit" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Nový" @@ -2169,7 +2184,7 @@ msgid "View Picture" msgstr "Zobrazit obrázek" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2203,27 +2218,35 @@ msgid "&Clear List" msgstr "&Smazat seznam" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Vyčistit" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Obnovit" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Přidat..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "Posunout &nahoru" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "Posunout &dolů" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "&Upravit..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Přidat položku" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Upravit položku" diff -Nru kid3-2.0.1/po/de.po kid3-2.1/po/de.po --- kid3-2.0.1/po/de.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/de.po 2012-05-11 05:46:04.000000000 +0000 @@ -7,10 +7,10 @@ # Frank Steinmetzger , 2011. msgid "" msgstr "" -"Project-Id-Version: de\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-04-26 23:41+0200\n" "Last-Translator: Frank Steinmetzger \n" "Language-Team: German \n" @@ -23,371 +23,391 @@ "X-Language: de\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Aktion" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Kurzbefehl" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Audioverschlüsselung" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - Dazugehöriges Bild" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Kommentar" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - Kommerzielle Information" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - Verschlüsselungsmethode" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - Equalization" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO - Ereignis-Zeitcodes" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB - Allgemeines gekapseltes Objekt" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID - Gruppierungsidentifikation" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - Liste beteiligter Personen" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - Verknüpfungsinformation" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - Musik-CD-Indentifikation" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - MPEG-Positions-Nachschlagetabelle" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE - Besitzer" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - Privat" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - Abspielzähler" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - Beliebtheitsmessung" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - Positionssynchronisierung" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - Empfohlene Puffergröße" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD - Relative Lautstärkenanpassung" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB - Echo" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - Synchronisierter Text" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC - Codes für synchronisiertes Tempo" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - Album-/Film-/Showtitel" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - BPM (Schläge pro Minute)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - Komponist" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - Stil" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - Copyright-Information" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Datum" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - Stücklistenverzögerung" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - Kodiert von" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - Texter" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - Dateityp" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Zeit" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - Beschreibung der Stilkategorie" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - Titel/Name/Inhaltsbeschreibung" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 - Untergeordneter Titel/Genauere Beschreibung" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY - Anfangstonart" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Sprache(n)" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Länge" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Mediumtyp" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - Originaltitel des Albums/Films/der Show" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Originaler Dateiname" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - Originaler Texter" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - Originaler Künstler/Interpret" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - Originales Erscheinungsjahr" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - Originaler Dateibesitzer/Lizenznehmer" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - Hauptinterpret(en)/-solist(en)" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - Band/Orchester/Begleitung" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 - Leiter/Interpret (genauere Angaben)" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - Interpretiert, remixed oder auf andere Weise modifiziert durch" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - Teil einer Menge" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - Herausgeber" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - Stücknummer/Position in einer Menge" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - Aufnahmedaten" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - Internetradiosender" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - Internetradiosender-Besitzer" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - Größe" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC - ISRC (Internationaler Standardaufnahmecode)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - Software/Hardware und Einstellungen der Kodierung" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - Benutzerdefinierte Textinformation" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Jahr" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - Eindeutige Dateiidentifikation" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - Benutzungsbedingungen" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT - Unsynchronisierte Textabschrift" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - Kommerzielle Information" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - Copyright/Gesetzliche Information" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - Offizielle Webseite der Audio-Datei" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - Offizielle Webseite des Künstlers/Interpreten" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - Offizielle Webseite der Audio-Quelle" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - Offizielle Webseite der Internetradiostation" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - Bezahlung" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - Offizielle Webseite des Herausgebers" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - Benutzerdefinierte URL" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - Audio-Suchpunkt-Index" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 - Equalisation (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - Relative Lautstärkenanpassung (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - Suchframe" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - Signaturframe" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes Zusammenstellung" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - Kodierdatum" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - Originales Erscheinungsdatum" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - Aufnahmedatum" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - Erscheinungsdatum" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - Tag-Datum" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - Liste beteiligter Personen" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - Musikerzuordnung" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Stimmung" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO - Produktions-Urheberrecht" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Albuminterpret für Sortierung" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - Album für Sortierung" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - Komponist für Sortierung" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - Interpret für Sortierung" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - Titel für Sortierung" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - Teil-Untertitel" @@ -395,7 +415,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -405,9 +425,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Bereit." @@ -423,7 +443,7 @@ msgid "Request sent..." msgstr "Anfrage gesendet..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Daten empfangen: %1" @@ -439,80 +459,44 @@ msgid "Host not found" msgstr "Rechner nicht gefunden" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Jahr" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Länge" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Lese Metadaten" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Nicht erkannt" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Erkannt" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "Suche läuft" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "PUID-Suche" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "PUID-Kollision" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "TRM-Suche" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "TRM-Kollision" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Lese Datei" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Auswahl" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Überprüft" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Gespeichert" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Gelöscht" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Fingerprint" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Fehler" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Entfernt" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Geschrieben" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ID-Suche" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Lese Metadaten" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz-Album" @@ -553,62 +537,63 @@ msgid "Command" msgstr "Befehl" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Fehler beim Erstellen des Verzeichnisses %1\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Datei %1 existiert bereits\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 ist kein Verzeichnis\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Fehler beim Umbenennen von %1 nach %2\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 existiert bereits\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 ist keine Datei\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Der neue Verzeichnisname ist zu verschieden\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Verzeichnis erstellen" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Verzeichnis umbenennen" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Datei umbenennen" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "&Löschen" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Schließen" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Ausführen von " -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Konnte nicht ausführen " @@ -637,20 +622,22 @@ msgstr "Logische Verneinung" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Daten" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Alle unterstützten Dateitypen" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Alle Dateien (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Stück" @@ -658,9 +645,9 @@ msgid "Absolute path to file" msgstr "Absoluter Dateiname" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Dateiname" @@ -712,11 +699,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Komponist" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Leiter/Dirigent" @@ -740,7 +727,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Sprache" @@ -748,11 +735,11 @@ msgid "Lyricist" msgstr "Texter" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Text" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Medium" @@ -828,13 +815,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3 ID3-Tagger" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -845,489 +832,506 @@ msgstr "Zu öffnendes Verzeichnis" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Nach Cover-Bildern suchen" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "Interpret/&Album" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Quelle" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Quelle:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "&URL-Ermittlung" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Übereinstimmung" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "URL des Bildes" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "&Hilfe" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "Einstellungen &speichern" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Browser" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "&Abbrechen" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Drücken Sie Browser zum Starten von" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "Dann ziehen Sie das Bild vom Browser ins Kid3-Fenster." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Zurück" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "Nach &vorne" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Suchen:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Rückwärts suchen" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Weitersuchen" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "Abgeschnittene Felder &markieren" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "T&extkodierung:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Format „Nummer/Anzahl Stücke“ benu&tzen" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "&Anzahl der Stellen in Tracknummer:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Stil als Text statt als Nummer" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "&Version für neue Tags:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "&Anzahl der Stellen in Tracknummer:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "&Version für neue Tags:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "&Name des Kommentar-Feldes:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "Name des &Bild-Feldes:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "Ei&gene Stile" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "Nur eigene &Stile anzeigen" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "&Tag-Format" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Tags" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Tags" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Speichern" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "Datei-Zeitstem&pel nicht verändern" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "Änderungen &markieren" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "&Dateinamenformat" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Dateien" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Dateien" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Browser" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "Web&browser:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Kontext&menübefehle" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 msgid "&Play on double click" msgstr "&Wiedergabe per Doppelklick" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Benutzerbefehle" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "&Benutzerbefehle" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Proxy" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Proxy:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "Ben&utze Authentisierung mit Proxy" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "Benutzer&name für Proxy:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "Pass&wort für Proxy:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Netzwerk" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Netzwerk" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "Tasten&kürzel" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Benutzerdefinierte &Schrift verwenden" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "Schr&ift..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Benutzerdefinierten &Stil verwenden" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Unbekannt" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Native Dateisystem-&Dialoge verwenden" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Erscheinungsbild" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&OK" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Die Tastaturbelegung '%1' ist bereits vergeben für '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Handbuch zu Kid3" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "Von Zwischena&blage" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Importieren" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Exportieren" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "&Ansicht" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Textkodierung" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Text" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Beschreibung" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Besitzer" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "E-Mail" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Bewertung" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Bildtyp" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Bildformat" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "MIME-Typ" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Zähler" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Identifikation" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Lautstärkenanpassung" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Anzahl Bits" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Lautstärkenänderung rechts" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Lautstärkenänderung links" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Höchstlautstärke rechts" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Höchstlautstärke links" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Zeitstempelformat" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Stil" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Bilder (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Anderes" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "32x32 Pixel PNG-Dateiicon" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Anderes Dateiicon" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Cover (Vorderseite)" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Cover (Rückseite)" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Bookletseite" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Hauptkünstler/-interpret/-solist" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Künster/Interpret" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Band/Orchester" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Texter" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Aufnahmeort" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Während Aufnahme" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Während Aufführung" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Bild aus Video" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Ein hell leuchtender Fisch" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Illustration" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Band-/Künstlerlogo" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Herausgeber-/Studiologo" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "MPEG-Frames als Einheit" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Millisekunden als Einheit" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Textabschrift" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Name des Satzes/Teils" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Ereignis" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Saite" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/Popup" @@ -1335,165 +1339,165 @@ msgid "Export" msgstr "Exportieren" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Format:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Kopfzeile:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Stücke:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Fußzeile:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "In Date&i" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "In Zwischena&blage" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Quelle:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Tag 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Tag 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Dateifehler" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Fehler während des Schreibens in Datei:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filter" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filter:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Ausdruck:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "An&wenden" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Von Date&i/Zwischenablage..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "Von T&ags..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&Von Server:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz-Fingerprint" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "Zi&el:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Tag 1 und Tag 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Zuletzt gespeicherte Fassung" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Maximal erlaubten Zeitunterschie&d (s) prüfen:" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Zuordnen nach:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Länge" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "Numme&r" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Titel" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Server:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Nummer Titel/Interpret - Album" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Zustand" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Kein Resultat" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Kein Resultat ausgewählt" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Tracks nummerieren" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "&Startnummer:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "Zi&el:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "Anzahl S&tücke:" @@ -1509,7 +1513,7 @@ msgid "Same as &directory name" msgstr "Wie &Verzeichnisname" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Format:" @@ -1565,8 +1569,8 @@ msgid "Write &info using" msgstr "&Information schreiben" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Verzeichnis umbenennen" @@ -1578,29 +1582,31 @@ msgid "Preview" msgstr "Vorschau" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Verzeichnis erstellen" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Von Tag 2 und Tag 1" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Von Tag 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Von Tag 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "Von:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "Nach:" @@ -1628,11 +1634,11 @@ msgid "Extraction:" msgstr "Extraktion:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Von Datei/Zwischenablage importieren" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "Von Date&i" @@ -1652,356 +1658,364 @@ msgid "&Move to Trash" msgstr "In den &Mülleimer werfen" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Wiedergabe" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "Date&i" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Name:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Dateiname von Tag 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Dateiname von Tag 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Tag 1 von Dateiname" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Tag 2 von Dateiname" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Tag &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Kopieren" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Einfügen" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Entfernen" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Tag &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Bearbeiten" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Hinzufügen" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Löschen" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Fokus" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Von Dateiname" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Download" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Hauptwerkzeugleiste" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Öffnet ein Verzeichnis" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Öffnet ein kürzlich benutztes Verzeichnis" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Macht die Änderungen an allen oder den ausgewählten Dateien rückgängig" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Speichert die veränderten Dateien" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Beendet die Anwendung" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Alles auswählen" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Gesamte Auswahl aufheben" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Kurzbefehle festlegen" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Werkzeugleisten einrichten" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Einstellungen" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "&Verzeichnis öffnen..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Importieren..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Importieren von %1..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "Nach Cover-&Bildern suchen..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Exportieren..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "Stü&ckliste erstellen..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Dateinamen&format anwenden" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "&Tag-Format anwenden" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "Verzeichnis &umbenennen..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "Tracks &nummerieren..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&ilter..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "ID3v2.3 nach ID3v2.&4 konvertieren" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "ID3v2.4 nach ID3v2.&3 konvertieren" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "&Bild anzeigen" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "Tags &automatisch ausblenden" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Vorangehende Datei" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "&Nächste Datei" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Von Dateiname" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Elemente:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Fokus" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Datei" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Öffnen..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "Zu&letzt geöffnete Dateien" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "S&peichern" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "&Zuletzt gespeicherte Fassung" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Von Datei oder Zwischenablage importieren" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Import von %1" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Nach Cover-Bildern suchen" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "In Datei oder Zwischenablage exportieren" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "M3U-Stückliste erstellen" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "B&eenden" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Bearbeiten" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "A&lles auswählen" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "Abwäh&len" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Vorangehende Datei" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Nächste Datei" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "E&xtras" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Dateinamenformat anwenden" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Tag-Format anwenden" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "ID3v2.3 nach ID3v2.4 konvertieren" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "ID3v2.4 nach ID3v2.3 konvertieren" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Wiedergabe" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Einstellungen" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Werkzeugleiste anzeigen" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "&Werkzeugleiste anzeigen" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Statusleiste anzeigen" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "&Statusleiste anzeigen" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Bild anzeigen" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Tags automatisch ausblenden" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Kid3 einrichten" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "Kid3 einr&ichten..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "&Handbuch zu Kid3" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "Über Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&Über Kid3" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "Über Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "Über &Qt" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Öffne Verzeichnis..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Speichere Verzeichnis..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2009,85 +2023,86 @@ "Das aktuelle Verzeichnis wurde verändert.\n" "Soll es gespeichert werden?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Warnung" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Warnung - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Öffnen" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Beende..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Schalte Statusleiste um..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Erstelle Stückliste..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Importieren" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Kid3 einrichten" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Fehler beim Umbenennen:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [Gefiltert]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [Geändert]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Element hinzufügen" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Element-ID auswählen" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Datei umbenennen" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Neuer Dateiname:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "Möchten Sie diese %1 Einträge wirklich in den Mülleimer werfen?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Möchten Sie diesen Eintrag wirklich in den Mülleimer werfen?" msgstr[1] "Möchten Sie diese %1 Einträge wirklich in den Mülleimer werfen?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "In den Mülleimer werfen" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "Das Verzeichnis muss leer sein.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Die angegebenen Dateien lassen sich nicht in den Mülleimer werfen" @@ -2143,15 +2158,15 @@ msgid "To" msgstr "Nach" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Hinzufügen" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Entfernen" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Neu" @@ -2167,7 +2182,7 @@ msgid "View Picture" msgstr "Bild anzeigen" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2201,27 +2216,35 @@ msgid "&Clear List" msgstr "Liste &leeren" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Leeren" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Zurücksetzen" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Hinzufügen..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "Nach &oben" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "Nach &unten" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "B&earbeiten..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Element hinzufügen" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Element bearbeiten" diff -Nru kid3-2.0.1/po/es.po kid3-2.1/po/es.po --- kid3-2.0.1/po/es.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/es.po 2012-05-11 05:46:04.000000000 +0000 @@ -7,10 +7,10 @@ # Urs Fleisch , 2005, 2006, 2007, 2008, 2009, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: es\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:29+0100\n" "Last-Translator: \n" "Language-Team: Spanish \n" @@ -23,371 +23,391 @@ "X-Language: es\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Acción" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Acceso rápido" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Cifrado de audio" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - Imagen adjunta" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Comentario" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - Comercial" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - Registro del método de cifrado" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - Ecualización" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO - Códigos de tiempos de eventos" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB - Objeto encapsulado general" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID - Registro de identificación de grupo" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - Lista de personas involucradas" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - Información enlazada" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - Identificador de CD de música" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - Tabla de búsqueda de localización MPEG" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE - Campo de propiedad" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - Campo privado" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - Contador de reproducción" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - Medidor de popularidad" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - Campo de sincronización de posición" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - Tamaño de búfer recomendado" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD - Ajsute de volumen relativo" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB - Eco" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - Texto/letras sincronizadas" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC - Códigos de ritmo sincronizado" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - Título de álbum/película/espectáculo" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - Ritmo" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - Compositor" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - Tipo de contenido" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - Mensaje de copyright" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Fecha" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - Retraso de lista de reproducción" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - Codificado por" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - Autor" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - Tipo de archivo" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Tiempo" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - Descripción del grupo de contenido" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - Descripción del contenido/título" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 - Mejora de la descripción/subtítulo" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY - Clave inicial" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Idioma(s)" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Longitud" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Tipo de medio" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - Título original de álbum/película/espectáculo" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Título original del nombre de archivo" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - Autor original" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - Artista/intérprete original" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - Año de lanzamiento original" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - Propietario del archivo" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - Líder(es)/Solista(s)" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - Banda/Orquesta/Acompañamiento" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 - Director" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - Interpretado, remezclado o modificado de otra forma por" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - Parte de un conjunto" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - Editorial" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - Número de pista/Posición en el conjunto" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - Fechas de grabación" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - Nombre de emisora de radio de Internet" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - Propietario de emisora de radio de internet" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - Tamaño" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC - ISRC (Código de grabación estándar internacional)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - Software/Hardware y configuraciones usadas para codificar" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - Información definida por el usuario" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Año" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - Identificador de archivo único" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - Términos de uso" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT - Transcripción de texto/letras sin sincronización" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - Información comercial" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - Información legal/copyright" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - Página web oficial del archivo de audio" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - Página web oficial del artista/interpréte" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - Página web original del fuente del audio" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - Página web oficial de la emisora de radio de internet" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - Pago" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - Página web de la editorial" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - URL definida por el usuario" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - Índice de puntos de búsqueda" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 - Ecualización (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - Ajsute de volumen relativo (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - Campo de búsqueda" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - Campo de firma" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes compilación" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - Fechas de codificación" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - Año de lanzamiento original" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - Fechas de grabación" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - Fechas de lanzamiento" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - Fecha de etiqueta" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - Lista de personas involucradas" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - Crédito de músicos" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Ambiente" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO - Copyright de producción" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Clasificación de artistas del álbum" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - Clasificación de álbumes" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - Clasificación de compositores" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - Clasificación de interprétes" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - Clasificación de títulos" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - Subtítulo de movimiento" @@ -395,7 +415,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -405,9 +425,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Listo." @@ -423,7 +443,7 @@ msgid "Request sent..." msgstr "Petición enviada..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Datos recibidos: %1" @@ -439,80 +459,44 @@ msgid "Host not found" msgstr "Máquina no encontrada" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Año" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Longitud" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Leyendo los metadatos" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Desconocido" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Reconocido" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "Pendiente" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "Buscar PUID" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "Colision PUID" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "Buscar TRM" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "Colision TRM" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Buscar archivo" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Selección del usuario" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Verificado" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Guardado" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Eliminado" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Huella digital" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Error" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Borrado" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Escrito" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "Buscar ID" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Leyendo los metadatos" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz álbum" @@ -553,62 +537,63 @@ msgid "Command" msgstr "Comando" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Fallo al crear el directorio %1\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "El archivo %1 ya existe\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 no es un directorio\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Fallo al renombrar %1 a %2\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 ya existe\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 no es un archivo\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "El nuevo nombre del directorio es demasiado diferente\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Crear directorio" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Renombrar directorio" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Renombrar archivo" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "&Limpiar" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Cerrar" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Ejecutar " -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "No se pudo ejecutar " @@ -637,20 +622,22 @@ msgstr "La función lógica NOT" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Datos" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Todos los archivos soportados" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Todos los archivos (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Pista" @@ -658,9 +645,9 @@ msgid "Absolute path to file" msgstr "Nombre de fichero absoluto" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Nombre de archivo" @@ -712,11 +699,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Compositor" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Director" @@ -740,7 +727,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Idioma" @@ -748,11 +735,11 @@ msgid "Lyricist" msgstr "Autor" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Letras" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Medio" @@ -828,13 +815,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Editor de etiquetas ID3 Kid3" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -845,490 +832,507 @@ msgstr "Directorio a abrir" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Descargar las imágenes de las portadas" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "&Artista/Álbum" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Origen" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Origen:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "Reemplazar &URL" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Coincidencia" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "URL de imagen" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "A&yuda" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "&Guardar configuración" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Navegador" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "&Cancelar" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Clic Navegador para iniciar" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "" "Entonces arrastre el imagen desde el navedagor dentro de la ventana Kid3." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Atrás" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "A&delante" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Buscar:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Buscar anterior" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Buscar siguiente" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "&Marcar campos truncados" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "Codificación del t&exto:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Usar el formato pis&ta/número de pistas" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Número de &dígitos en pista:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Género como texto en vez de número" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "&Versión utilizada para nuevas etiquetas:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "Número de &dígitos en pista:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "&Versión utilizada para nuevas etiquetas:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "&Nombre de campo comentario:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "Nombre de campo &imagen:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "&Géneros personalizados" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "&Mostrar sólo géneros personalizados" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "&Formato de etiqueta" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Etiquetas" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "E&tiquetas" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Guardar" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "Co&piar las marcas de tiempo de modificación" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "&Marcar cambios" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "Formato de &nombre de archivo" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Archivos" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Archivos" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Navegador" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "&Navegador web:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Comandos en el &menú contextual" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 msgid "&Play on double click" msgstr "&Reproducir del doble clic" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Comandos de usuario" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "Comandos de &usuario" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Proxy" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Proxy:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "&Usar autenticación con el proxy" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "&Nombre de usuario del proxy:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "Contra&seña del proxy:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Red" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Red" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "&Combinaciones de teclas" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Usar tipografía persona&lizada" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "Ti&pografía personalizada..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Usar e&stilo personalizado" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Desconocido" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Usar &diálogos de archivo nativos del sistema" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Aspecto" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "Acep&tar" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "El acceso directo de teclado '%1' ya está asignado a '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Manual de Kid3" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "Del &portapapeles" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Importar" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Exportar" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "&Ver" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Codificación del texto" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Texto" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Descripción" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Propietario" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "Correo electrónico" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Puntuación" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Tipo de dibujo" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Formato de imagen" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Tipo MIME" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Contador" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Identificador" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Ajuste de volumen" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Número de bits" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Cambio de volumen del canal derecho" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Cambio de volumen del canal izquierdo" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Pico de volumen del canal derecho" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Pico de volumen del canal izquierdo" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Formato de fecha y hora" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Tipo de contenido" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Imágenes (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Otro" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "Archivo de icono PNG de 32x32 pixels" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Otro archivo de icono" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Portada (frontal)" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Portada (trasera)" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Página de folleto" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Líder/solista" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Artista/intérprete" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Banda/Orquesta" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Autor" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Localización de grabación" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Duración de la grabación" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Duración de la interpretación" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Captura de video/película" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Un pez de colores brillante" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Ilustración" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Logotipo del artista/banda" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Logotipo del estudio/editorial" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Muestras MPEG como unidad" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Milisegundos como unidad" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Transcripción del texto" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Nombre de parte/movimiento" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Actos" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Acorde" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/pop up" @@ -1336,165 +1340,165 @@ msgid "Export" msgstr "Exportar" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Formato:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Cabecera:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Pistas:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Pie de página:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "En Arch&ivo" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "Al &portapapeles" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Origen:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Etiqueta 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Etiqueta 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Error en archivo" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Error al escribir en el archivo:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filtro" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filtro:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Expresión:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "&Aplicar" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "De archivo/&portapapeles..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "De etiquet&a..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&De servidor:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz huella digital" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "D&estino:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Etiqueta 1 y etiqueta 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Deshacer" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Comprobar máxima &diferencia de tiempo permitida (seg):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Concuerda con:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Longitud" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "&Pista" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Título" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Servidor:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Número Título/Artista - Álbum" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Estado" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Ningún resultado" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Ningún resultado seleccionado" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Numerar pistas" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "&Número primero:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "D&estino:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "Número de pis&tas:" @@ -1510,7 +1514,7 @@ msgid "Same as &directory name" msgstr "Igual que el &directorio" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Formato:" @@ -1566,8 +1570,8 @@ msgid "Write &info using" msgstr "Escribir &información usando" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Renombrar directorio" @@ -1579,29 +1583,31 @@ msgid "Preview" msgstr "Vista previa" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Crear directorio" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "De etiqueta 2 y etiqueta 1" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "De etiqueta 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "De etiqueta 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "De:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "A:" @@ -1629,11 +1635,11 @@ msgid "Extraction:" msgstr "Extracción:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Importar de archivo/portapapeles" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "De Arch&ivo" @@ -1653,356 +1659,364 @@ msgid "&Move to Trash" msgstr "&Mover a la papelera" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Reproducir" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "Arch&ivo" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Nombre:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Nombre de archivo de etiqueta 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Nombre de archivo de etiqueta 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Etiqueta 1 desde nombre de archivo" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Etiqueta 2 desde nombre de archivo" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Etiqueta &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Copiar" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Pegar" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Eliminar" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Etiqueta &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Editar" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Añadir" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Eliminar" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Foco" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Desde nombre de archivo" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Descarga" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Barra de herramientas Principal" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Abre un directorio" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Abre un directorio usado recientemente" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Deshace los cambios de los archivos seleccionados o de todos" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Guarda los archivos cambiados" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Sale del programa" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Seleccionar todo" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Deseleccionar todo" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Configura los atajos de teclado" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Configurar barras de herramientas" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Diálogo de preferencias" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "A&brir el directorio..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Importar..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Importar de %1..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "&Descargar las imágenes de las portadas..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Exportar..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "&Crear lista de reproducción..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Aplicar formato de &nombre de archivo" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Aplicar formato de &etiqueta" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "&Renombrar un directorio..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "&Asignar números de pista por orden..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&iltro..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Convertir ID3v2.3 en ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Convertir ID3v2.4 en ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "Mostrar &imagen" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "&Ocultar automáticamente" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Anterior archivo" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "&Siguiente archivo" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Desde nombre de archivo" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Campos:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Foco" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Archivo" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Abrir..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "Abrir &reciente" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Guardar" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "&Deshacer" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Importar de archivo o portapapeles" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Importar de %1" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Descargar las imágenes de las portadas" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Exportar en archivo o al portapapeles" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "Crear lista m3u" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "&Salir" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Editar" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "Seleccionar &todo" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "Dese&leccionar" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Anterior archivo" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Siguiente archivo" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "&Herramientas" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Aplicar formato de nombre de archivo" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Aplicar formato de etiqueta" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "Convertir ID3v2.3 en ID3v2.4" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "Convertir ID3v2.4 en ID3v2.3" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Reproducir" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Preferencias" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Activa/desactiva la barra de herramientas" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "Mostrar barra de &herramientas" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Activa/desactiva la barra de estado" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "Mostrar barra de &estado" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Mostrar imagen" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Ocultar automáticamente" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Configurar Kid3" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "&Configurar Kid3..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "&Manual de Kid3" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "Acerca de Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&Acerca de Kid3" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "Acerca de Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "Acerca de &Qt" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Abrir directorio..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Guardando directorio..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2010,85 +2024,86 @@ "El directorio actual ha sido modificado.\n" "¿Desea guardarlo?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Advertencia" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Atención - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Abrir" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Saliendo..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Conmutando la barra de estado..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Creando lista de reproducción..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Importar" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Configurar - Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Error mientras se renombra:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [filtrado]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [modificado]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Añadir campo" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Seleccionar el identificador de campo" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Renombrar archivo" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Da un nuevo nombre de archivo:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "¿Esta seguro que quiere mover estos %1 objetos a la basura?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "¿Esta seguro que quiere mover este objeto a la basura?" msgstr[1] "¿Esta seguro que quiere mover estos %1 objetos a la basura?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Mover a la papelera" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "El directorio debe estar vacío.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "No puede mover algunos de los elementos a la papelera" @@ -2144,15 +2159,15 @@ msgid "To" msgstr "A" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Añadir" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Eliminar" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Nuevo" @@ -2168,7 +2183,7 @@ msgid "View Picture" msgstr "Ver Imagen" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2202,27 +2217,35 @@ msgid "&Clear List" msgstr "&Limpiar lista" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Limpiar" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Reiniciar" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Añadir..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "S&ubir" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "&Bajar" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "&Editar..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Añadir elemento" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Editar elemento" diff -Nru kid3-2.0.1/po/et.po kid3-2.1/po/et.po --- kid3-2.0.1/po/et.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/et.po 2012-05-11 05:46:04.000000000 +0000 @@ -5,10 +5,10 @@ # Urs Fleisch , 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 1.2\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:30+0100\n" "Last-Translator: \n" "Language-Team: Estonian \n" @@ -22,371 +22,391 @@ "X-Language: et\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Tegevus" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Kiirklahv" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - audiokrüpteering" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - lisatud pilt" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - kommentaarid" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - kommertsteave" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - krüpteerimismeetodi registreerimine" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - ekvalaisimine" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO - sündmuse ajastamise koodid" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB - üldine kapseldatud objekt" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID - grupi identifitseerimise registreerimine" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - seotud inimeste nimekiri" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - lingitud teave" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - muusika-CD identifikaator" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - MPEG asukohaotsingutabel" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE - omandus" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - privaatne" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - esitusloendur" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - popularimeeter" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - asukoha sünkroniseerimine" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - soovituslik puhvrisuurus" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD - suhteline helitugevuse reguleerimine" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB - reverb" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - sünkroniseeritud laulusõnad/tekst" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC - sünkroniseeritud tempokoodid" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - albumi/filmi/etenduse pealkiri" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - BPM (lööki minutis)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - helilooja" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - sisu tüüp" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - autoriõiguse sõnum" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - kuupäev" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - esitusnimekirja viivitus" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - kodeerija" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - sõnade/teksti autor" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - failitüüp" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - aeg" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - sisu grupi kirjeldus" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - pealkiri / laulu nimi / sisu kirjeldus" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 - alapealkiri / kirjelduse täpsustus" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY - esialgne võti" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - keel(ed)" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - pikkus" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - andmekandja tüüp" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - originaalalbumi/-filmi/-etenduse pealkiri" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - originaalfailinimi" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - originaalsõnade/-teksti autor" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - originaalesitaja(d)/-ettekandja(d)" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - originaali väljalaske aasta" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - faili omanik/litsenseeritu" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - juhtiv(ad) ettekandja(d) / solist(id)" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - bänd/orkester/saateansambel" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 - dirigent / esineja täpsustus" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - tõlgendaja, remiksija või muul moel muutja" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - osa komplektist" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - väljaandja" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - loo nr / asukoht komplektis" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - lindistuskuupäevad" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - Interneti-raadiojaama nimi" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - Interneti-raadiojaama omanik" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - suurus" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC - ISRC (rahvusvaheline standardsalvestuskood)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - kodeerimiseks kasutatud tarkvara/riistvara ja sätted" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - kasutaja määratud tekstiline info" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - aasta" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - unikaalne faili-identifikaator" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - kasutustingimused" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT - sünkroniseerimata laulusõnad/teksti transkriptsioon" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - kommertsinfo URL" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - autoriõiguse / juriidilise teabe URL" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - audiofaili ametlik veebileht" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - esitaja/ettekandja ametlik veebileht" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - audioallika ametlik veebileht" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - Interneti-raadiojaama ametlik koduleht" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - makse URL" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - väljaandja ametlik veebileht" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - kasutaja määratud URL" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - audio otsingupunktiindeks" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 - ekvalaisimine (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - suhteline helitugevuse reguleerimine (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - otsimine" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - signatuur" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes kompilatsioon" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - kodeerimise aeg" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - originaali väljalaske aeg" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - lindistamise aeg" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - väljalaske aeg" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - sildistamise aeg" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - seotud inimeste nimekiri" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - muusikute tänunimekiri" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - meeleolu" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO - tootmismärkus" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - albumi esitaja nimekuju sortimisel" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - albumi sorteerimisjärjestus" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - helilooja sorteerimisjärjestus" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - esitaja sorteerimisjärjestus" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - pealkirja sorteerimisjärjestus" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - komplekti alapealkiri" @@ -394,7 +414,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -404,9 +424,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Valmis." @@ -422,7 +442,7 @@ msgid "Request sent..." msgstr "Taotlus saadetud..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Vastuvõetud andmed: %1" @@ -438,80 +458,44 @@ msgid "Host not found" msgstr "Hosti ei leitud" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Aasta" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Pikkus" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Metaandmed loetud" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Tundmatu" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Tuvastatud" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "Ootel" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "PUID otsimine" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "PUID-de kokkupõrge" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "TRM-i otsimine" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "TRM-ide kokkupärge" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Faili otsimine" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Kasutaja valik" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Kinnitatud" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Salvestatud" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Kustutatud" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Sõrmejälg" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Viga" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Eemaldatud" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Kirjutatud" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ID otsimine" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Metaandmed loetud" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz: album" @@ -552,62 +536,63 @@ msgid "Command" msgstr "Käsk" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Kataloogi \"%1\" loomine ebaõnnestus\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Fail \"%1\" on juba olemas\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "\"%1\" ei ole kataloog\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Elemendi \"%1\" ümbernimetamine \"%2-ks\" ebaõnnestus\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "\"%1\" on juba olemas\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "\"%1\" ei ole fail\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Uue kataloogi nimi on liiga erinev\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Kataloogi loomine" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Kataloogi ümbernimetamine" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Faili ümbernimetamine" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "P&uhasta" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Sulge" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Käivita" -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Käivitamine pole võimalik" @@ -636,20 +621,22 @@ msgstr "Loogiline EI" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Andmed" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Kõik toetatud failid" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Kõik failid (*.*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Loo nr" @@ -657,9 +644,9 @@ msgid "Absolute path to file" msgstr "Täielik tee faili juurde" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Failinimi" @@ -711,11 +698,11 @@ msgid "BPM" msgstr "Lööki/min" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Helilooja" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Dirigent" @@ -739,7 +726,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Keel" @@ -747,11 +734,11 @@ msgid "Lyricist" msgstr "Sõnade autor" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Sõnad" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Andmekandja" @@ -827,13 +814,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3, ID3-sildistaja" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -844,490 +831,507 @@ msgstr "avatav kataloog" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Kaanepildi otsimine" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "&Esitaja / Album" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Allikas" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Allikas:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "&URL-i tuvastamine" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Tulemus" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "Pildi URL" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "&Abi" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "&Salvesta seaded" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Otsi" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "&Loobu" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Alustamiseks klõpsa \"Otsi\", see käivitab järgneva käsu" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "Seejärel lohista pilt veebilehitsejast Kid3 aknasse." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Tagasi" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "&Edasi" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Otsi:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Leia eelmine" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Leia järgmine" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "Lühikeseks &jäävad väljad tõstetakse esile" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "Teksti ko&deering:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Kasutatakse vormingut \"loo n&r/lugude koguarv\"" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Num&brite vähim arv loo numbris:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Stiil salvestatakse numberkoodi asemel tekstina" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "Uutes siltides kasutatav &versioon:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "Num&brite vähim arv loo numbris:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF-16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF-8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "Uutes siltides kasutatav &versioon:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "&Kommentaarivälja nimi:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "&Pildivälja nimi:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "Ko&handatud stiilid" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "Näidatakse ainult ko&handatud stiile" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "&Sildivorming" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Sildid" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Sildid" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Salvestamine" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "Failide aja&templid säilitatakse" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "&Muudetud väljad tõstetakse esile" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "&Failinime vorming" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Failid" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Failid" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Veebilehitseja" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "&Veebilehitseja:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Kontekst&menüü käsud" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 #, fuzzy msgid "&Play on double click" msgstr "&Esitus topeltklõpsu" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Kasutaja toimingud" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "&Kasutaja toimingud" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Puhverserver" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Puhverserver:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "Puhverserveris &autentimise kasutamine" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "Puhverserveri &kasutajanimi:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "Puhverserveri &parool:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Võrk" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Võrk" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "&Klaviatuuri kiirklahvid" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Kohandatud &fondi kasutamine" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "&Rakenduse font..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Kohandatud &stiili kasutamine" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Teadmata" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Natiivsete süsteemi faili&dialoogide kasutamine" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "Väl&imus" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&OK" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Kiirklahvi '%1' juba kasutatakse järgneva tegevuse jaoks '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Kid3 käsiraamat" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "&Lõikepuhvrist" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Impordi" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Ekspordi" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "&Näita" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Teksti kodeering" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Tekst" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Kirjeldus" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Omanik" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "E-post" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Hinnang" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Pildi tüüp" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Pildivorming" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "MIME-tüüp" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Loendur" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Identifikaator" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Helitugevuse korrigeerimine" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Bittide arv" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Helitugevuse muutus paremal" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Helitugevuse muutus vasakul" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Helitugevuse tipp paremal" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Helitugevuse tipp vasakul" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Ajatempli vorming" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Sisu tüüp" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Pildid (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF-16-BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Muu" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "32x32 px PNG-vormingus faili ikoon" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Muus vormingus faili ikoon" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Karbi esikülg" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Karbi tagakülg" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Voldiku lehekülg" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Juhtiv esitaja/ettekandja / solist" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Esitaja" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Bänd/orkester" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Sõnade autor" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Lindistuskoht" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Lindistamise ajal" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Esituse ajal" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Kaader filmist/videost" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Värvikirev kala" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Illustratsioon" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Bändi/esitaja logo" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Väljaandja/stuudio logo" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Ühikutena MPEG-kaadrid" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Ühikutena millisekundid" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Teksti transkriptsioon" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Liikumise/osa nimi" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Sündmused" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Akord" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/hüpik" @@ -1335,165 +1339,165 @@ msgid "Export" msgstr "Eksport" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Vorming:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Päis:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Palad:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Jalus:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "&Faili" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "&Lõikepuhvrisse" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Allikas:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Silt 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Silt 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Failiviga" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Viga kirjutamisel:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filter" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filter:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Avaldis:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "&Rakenda" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Failist/&lõikepuhvrist..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "Silt põhj&al..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&Serverist:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz: sõrmejälg" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "&Sihtkoht:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Silt 1 ja silt 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Ennista" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "S&uurim lubatav ajaline erinevus (s):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Sobita:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Pikkus" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "&Loo nr" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Pealkiri" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Server:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Loo nr Pealkiri/Esitaja - Album" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Olek" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Tulemuseta" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Tulemust pole valitud" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Lugude nummerdamine" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "&Algusnumber:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "&Sihtkoht:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "&Lugude arv:" @@ -1509,7 +1513,7 @@ msgid "Same as &directory name" msgstr "Sama mis &kataloogil" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Vorming:" @@ -1565,8 +1569,8 @@ msgid "Write &info using" msgstr "Kirjutatakse &info" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Kataloogi ümbernimetamine" @@ -1578,29 +1582,31 @@ msgid "Preview" msgstr "Eelvaade" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Kataloogi loomine" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Siltide 1 ja 2 põhjal" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Silt 1 põhjal" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Silt 2 põhjal" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "Siit:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "Siia:" @@ -1628,11 +1634,11 @@ msgid "Extraction:" msgstr "Kaevandamine:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Impordi failist/lõikepuhvrist" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "&Failist" @@ -1652,356 +1658,364 @@ msgid "&Move to Trash" msgstr "&Viska prügikasti" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Esita" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "Fa&il" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Nimi:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Failinimi silt 1 põhjal" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Failinimi silt 2 põhjal" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Silt 1 failinime põhjal" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Silt 2 failinime põhjal" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Silt &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Kopeeri" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Aseta" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Eemalda" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Silt &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Redigeeri" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Lisa" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Kustuta" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Fookusesse" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Failinime põhjal" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Allalaadimine" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Peamine tööriistariba" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Avab kataloogi valimise dialoogi" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Avab hiljuti kasutatud kataloogi" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Ennistab kõik muutused valitud elementidel" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Salvestab muudetud failid" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Sulgeb rakenduse" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Valib kõik failid" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Tühistab valiku kõikidel failidel" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Kiirklahvide seadistamine" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Tööriistaribade seadistamine" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Avab seadistusdialoogi" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "Ava &kataloog..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Impordi..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Impordi %1-ist..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "Kaane&pildi otsimine..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Ekspordi..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "&Loo esitusloend..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Rakenda &failinime vorming" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Rakenda &sildivorming" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "&Kataloogi ümbernimetamine..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "&Lugude nummerdamine..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&iltreeri..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Teisenda ID3v2.3 ID3v2.&4-ks" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Teisenda ID3v2.4 ID3v2.&3-ks" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "&Kaanepildi näitamine" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "Siltide &automaatpeitmine" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Eelmine fail" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "&Järgmine fail" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Failinime põhjal" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Raamid:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Fookusesse" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Fail" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Ava..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "Viimati avat&ud" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Salvesta" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "E&nnista" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Avab failist või lõikepuhvrist importimise dialoogi" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Impordib %1-ist" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Avab albumi kaanepildi otsimise dialoogi" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Avab lõikepuhvrisse või faili eksportimise dialoogi" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "Loob M3U-esitusnimekirja" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "&Välju" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Redigeerimine" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "&Vali kõik" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "&Tühista valik" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Valib eelmise faili" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Valib järgmise faili" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "&Tööriistad" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Rakendab failinime vormingu" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Rakendab sildivormingu" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "Teisendab ID3v2.3 sildid ID3v2.4-ks" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "Teisendab ID3v2.4 sildid ID3v2.3-ks" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Mängib valitud lugu" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Seadistused" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Lülitab tööriistariba näitamist" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "&Tööriistariba näitamine" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Lülitab olekuriba näitamist" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "&Olekuriba näitamine" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Lülitab kaanepildi näitamist" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Lülitab siltide automaatpeitmist" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Avab Kid3 seadistusakna" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "Kid3 &seadistamine..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "Kid&3 käsiraamat" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "Kid3 info" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "Kid3 &info" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "Qt info" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "&Qt info" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Kataloogi avamine..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Kataloogi salvestamine..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2009,85 +2023,86 @@ "Kataloogi sisu on muudetud.\n" "Kas salvestada see?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Hoiatus" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Hoiatus - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Avamine" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Väljumine..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Lülita olekuriba..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Esitusnimekirja loomine..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Import" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Seadistamine - Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Viga ümbernimetamisel:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [filtreeritud]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [muudetud]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Raami lisamine" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Raami ID:" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Faili ümbernimetamine" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Sisesta faili uus nimi:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "Kas tõesti visata need %1 elementi prügikasti?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Kas tõesti visata see element prügikati?" msgstr[1] "Kas tõesti visata need %1 elementi prügikasti?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Viska prügikasti" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "Kataloog peab olema tühi.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Nende failide viskamine prügikasti nurjus" @@ -2143,15 +2158,15 @@ msgid "To" msgstr "Asendaja" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "L&isa" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Eemalda" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Uus" @@ -2167,7 +2182,7 @@ msgid "View Picture" msgstr "Pilt" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2201,27 +2216,35 @@ msgid "&Clear List" msgstr "&Puhasta loend" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Puhasta" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Lähtesta" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "L&isa..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "Liiguta &üles" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "Lii&guta alla" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "&Muuda..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Lisamine" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Redigeerimine" diff -Nru kid3-2.0.1/po/extract-merge.sh kid3-2.1/po/extract-merge.sh --- kid3-2.0.1/po/extract-merge.sh 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/extract-merge.sh 2012-05-11 05:46:04.000000000 +0000 @@ -1,7 +1,8 @@ -#!/bin/sh +#!/bin/bash BASEDIR="../src" # root of translatable sources PROJECT="kid3" # project name +PROJECTVERSION="2.1" # project version BUGADDR="http://sourceforge.net/tracker/?group_id=70849&atid=529221" # MSGID-Bugs WDIR=`pwd` # working dir @@ -27,9 +28,11 @@ find . -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.hpp' | sort > ${WDIR}/infiles.list echo "rc.cpp" >> ${WDIR}/infiles.list cd ${WDIR} -xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 -ktr2i18n:1 \ +xgettext --from-code=UTF-8 -C --kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 -ktr2i18n:1 \ -kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kaliasLocale -kki18n:1 -kki18nc:1c,2 -kki18np:1,2 -kki18ncp:1c,2,3 \ --msgid-bugs-address="${BUGADDR}" \ + --package-name="${PROJECT^}" \ + --package-version="${PROJECTVERSION}" \ --files-from=infiles.list -D ${BASEDIR} -D ${WDIR} -o ${PROJECT}.pot || { echo "error while calling xgettext. aborting."; exit 1; } echo "Done extracting messages" @@ -39,6 +42,7 @@ for cat in $catalogs; do echo $cat msgmerge --quiet --update --backup=none $cat ${PROJECT}.pot + sed -i "/#, qt-format/ d; /#, kde-format/ d; /^#~ msg/ d" $cat done echo "Done merging translations" diff -Nru kid3-2.0.1/po/fi.po kid3-2.1/po/fi.po --- kid3-2.0.1/po/fi.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/fi.po 2012-05-11 05:46:04.000000000 +0000 @@ -6,10 +6,10 @@ # Ville Skyttä , 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Kid3 1.2\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-08-29 23:34+0200\n" "Last-Translator: Ville Skyttä \n" "Language-Team: Finnish \n" @@ -23,371 +23,391 @@ "X-Language: fi\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Toiminto" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Näppäinyhdistelmä" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC – Äänen koodaus" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC – Liitetty kuva" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM – Kommentit" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR – Kaupallinen" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR – Salausmenetelmän rekisteröinti" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA – Ekvalisointi" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO – Tapahtumien aikakoodit" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB – Yleinen sisällytetty objekti" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID – Ryhmätunnisteen rekisteröinti" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS – Mukana olleiden henkilöiden luettelo" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK – Linkattu tieto" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI – Musiikki-CD:n tunniste" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT – MPEGin sijainninhakutaulukko" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE – Omistajakehys" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV – Yksityiskehys" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT – Soittokertalaskuri" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM – Suosiomittari" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS – Sijainnin tahdistuskehys" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF – Suositeltu puskurikoko" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD – Äänenvoimakkuuden suhteellinen säätö" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB – Kaikuefekti" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT – Tahdistettu sanoitus/teksti" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC – Tahdistetut tempokoodit" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB – Levyn/elokuvan/sarjan otsikko" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM – BPM (iskua minuutissa)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM – Säveltäjä" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON – Sisältötyyppi" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP – Tekijänoikeustiedote" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT – Päiväys" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY – Soittolistan viive" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC – Koodaaja" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT – Sanoittaja/tekstin kirjoittaja" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT – Tiedoston tyyppi" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME – Aika" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 – Sisältöryhmän kuvaus" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 – Otsikon/kappaleen nimen/sisällön kuvaus" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 – Tekstitys/kuvauksen täsmennys" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY – Alkusävellaji" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN – Kieli tai kielet" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN – Kesto" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED – Mediatyyppi" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL – Alkuperäinen levyn/elokuvan/sarjan otsikko" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN – Alkuperäinen tiedostonimi" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY – Alkuperäinen sanoittaja/tekstin kirjoittaja" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE – Alkuperäinen artisti/esiintyjä" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY – Alkuperäinen julkaisuvuosi" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN – Tiedoston omistaja/lisenssi" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 – Pääesiintyjä(t)/sooloartisti(t)" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 – Yhtye/orkesteri/säestys" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 – Kapellimestari tai esityksen parantelija" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 – Tulkinnut, uudelleen miksannut tai muuten muokannut" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS – Osa joukkoa" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB – Julkaisija" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK – Kappaleen raita/sijainti joukossa" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA – Tallennuspäivät" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN – Internet-radioaseman nimi" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO – Internetin radioaseman omistaja" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ – Koko" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC – ISRC (kansainvälinen standardi nauhoituskoodi)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE – Koodauksessa käytetty ohjelmisto tai laitteisto sekä asetukset" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX – Käyttäjän määrittämä tekstitieto" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER – Vuosi" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID – Tiedoston ainutkertainen tunniste" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER – Käyttöehdot" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT – Tahdistamaton sanoitus tai tekstitranskriptio" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM – Kaupallinen tieto" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP – Tekijänoikeustiedot" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF – Äänitiedoston virallinen verkkosivu" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR – Artistin/esiintyjän virallinen verkkosivu" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS – Äänilähteen virallinen verkkosivu" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS – Internetin radioaseman virallinen verkkosivu" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY – Maksaminen" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB – Julkaisijan virallinen verkkosivu" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX – Käyttäjän määrittämä verkko-osoite" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI – Äänihaun sijainti-indeksi" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 – Ekvalisaatio (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 – Suhteellinen äänenvoimakkuuden säätö (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK – Hakukehys" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN – Allekirjoituskehys" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes kokoelma" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN – Koodausajankohta" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR – Alkuperäinen julkaisuajankohta" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC – Äänitysajankohta" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TRDL – Julkaisuajankohta" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG – Luokitusajankohta" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL – Mukana olleiden henkilöiden luettelo" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL – Ansioituneiden muusikkojen luettelo" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO – Tunnelma" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO – Tuotantoilmoitus" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSOA – Albumiartistin lajittelujärjestys" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA – Levyjen lajittelujärjestys" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC – Säveltäjä lajittelujärjestys" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP – Esittäjien lajittelujärjestys" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT – Nimikkeiden lajittelujärjestys" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST – Aseta tekstitys" @@ -395,7 +415,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -405,9 +425,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Valmis." @@ -423,7 +443,7 @@ msgid "Request sent..." msgstr "Pyyntö lähetetty..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Vastaanotettu data: %1" @@ -439,80 +459,44 @@ msgid "Host not found" msgstr "Palvelinta ei löytynyt" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Vuosi" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Kesto" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Metadata luettu" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Tunnistamaton" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Tunnistettu" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "Odottaa" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "PUID-haku" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "PUID-törmäys" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "TRM-haku" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "TRM-törmäys" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Haku tiedostosta" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Käyttäjän valinta" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Varmistettu" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Tallennettu" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Poistettu" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Sormenjälki" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Virhe" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Poistettu" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Kirjoittanut" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ID-haku" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Metadata luettu" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainzin julkaisu" @@ -553,62 +537,63 @@ msgid "Command" msgstr "Komento" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Kansion %1 luonti epäonnistui\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Tiedosto %1 on jo olemassa\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 ei ole kansio\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Nimen muutos %1 -> %2 epäonnistui\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 on jo olemassa\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 ei ole tiedosto\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Hakemiston uusi nimi on liian erilainen\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Luo kansio" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Muuta kansion nimeä" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Muuta tiedoston nimeä" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "&Tyhjennä" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Sulje" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Suorita" -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Ei voitu suorittaa " @@ -637,20 +622,22 @@ msgstr "Looginen kielto" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Data" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Kaikki tuetut tiedostot" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Kaikki tiedostot (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Raita" @@ -658,9 +645,9 @@ msgid "Absolute path to file" msgstr "Tiedoston absoluuttinen polku" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Tiedostonimi" @@ -712,11 +699,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Säveltäjä" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Kapellimestari" @@ -740,7 +727,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Kieli" @@ -748,11 +735,11 @@ msgid "Lyricist" msgstr "Sanoittaja" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Sanoitus" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Media" @@ -828,13 +815,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3, ID3-tagimuokkaaja" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003–2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -845,489 +832,506 @@ msgstr "avattava kansio" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Selaa kansikuvia" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "&Artisti/Levy" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Lähde" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Lähde:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "Osoite:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "&Osoitteen tunnistus" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Sovita" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "Kuvan osoite" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "O&hje" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "&Tallenna asetukset" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Selaa" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "&Peruuta" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Aloita napsauttamalla Selaa" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "Vedä sitten kuva selaimesta Kid3:een." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Takaisin" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "&Seuraava" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Etsi:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Etsi edellinen" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Etsi seuraava" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "&Merkitse lyhennetyt kentät" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "Merkist&ökoodaus:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Numeroi &raidat muodossa raita/kaikkiaan" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Numeroiden &määrä:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Tyylilaji tekstinä numerojonon sijaan" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "&Uusien tagien versio:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "Numeroiden &määrä:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF-16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF-8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "&Uusien tagien versio:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "K&ommenttikentän nimi:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "&Kuvakentän nimi:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "Omat t&yylilajit" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "Näytä &vain omat tyylilajit" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "Ta&gin muoto" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Tagit" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Tagit" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Tallenna" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "&Säilytä tiedoston päiväys" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "&Merkitse muutokset" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "&Tiedostonimen muoto" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Tiedostot" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Tiedostot" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Selain" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "&Web-selain:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "&Kontekstivalikon komennot" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 msgid "&Play on double click" msgstr "&Soita tuplaklikkaamalla" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Käyttäjän toimet" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "&Käyttäjän toimet" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Välityspalvelin" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Välityspalvelin:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "T&unnistaudu välityspalvelimeen" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "K&äyttäjätunnus:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "&Salasana:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Verkko" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Verkko" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "Näppäimistön pi&kavalinnat" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Käytä &omaa kirjasinta sovelluksessa" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "&Käytettävä kirjasin..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Käytä sovelluksessa omaa t&yyliä" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Tuntematon" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Käytä kotoperäisiä järjestelmän tie&dostovalintaikkunoita" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Ulkonäkö" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&OK" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Pikanäppäin '%1' on jo kytketty toimintoon '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Kid3 Käsikirja" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "&Leikepöydältä" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Tuo" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Vie" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "&Näytä" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Merkistökoodaus" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Teksti" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "Osoite" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Kuvaus" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Omistaja" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "Sähköposti" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Arvostelu" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Kuvan tyyppi" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Kuvatiedoston muoto" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "MIME-tyyppi" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Laskuri" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Tunniste" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Äänenvoimakkuuden säätö" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Bittien määrä" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Äänenvoimakkuuden säätö (oikea)" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Äänenvoimakkuuden säätö (vasen)" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Enimmäisäänenvoimakkuus (oikea)" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Enimmäisäänenvoimakkuus (vasen)" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Aikaleiman muoto" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Sisällön tyyppi" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Kuvat (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF-16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Muut" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "32×32 pisteen PNG-kuvake" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Muu kuvake" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Etukansi" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Takakansi" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Lehtiön sivu" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Pääartisti/-esiintyjä/-sooloartisti" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Artisti/esiintyjä" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Yhtye/orkesteri" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Sanoittaja/tekstin tuottaja" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Tallennuspaikka" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Tallennuksen aikana" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Esityksen aikana" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Videokuvakaappaus" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Kirkasvärinen kala" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Kuvitus" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Yhtyeen/artistin logotyyppi" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Julkaisijan/studion logotyyppi" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Yksiköinä MPEG-kuvakehykset" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Yksiköinä millisekunnit" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Tekstin transkriptio" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Osan nimi" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Tapahtumat" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Sointu" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Nippelitietoa" @@ -1335,165 +1339,165 @@ msgid "Export" msgstr "Vie" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Muoto:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Ylätunniste" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Kappale:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Alatunniste:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "T&iedostoon" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "&Leikepöydälle" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Lähde:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "1-tagi" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "2-tagi" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Tiedostovirhe" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Virhe kirjoitettaessa tiedostoa:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Suodin" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Suodin:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Lauseke:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "&Käytä" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Tiedostosta/&leikepöydältä..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "T&agista..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&Palvelimelta:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainzin sormenjälki" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "Koh&de:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "1- ja 2-tagit" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Kumoa" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Aseta &enimmäisaikaero (s):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Sovita:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Kestoon" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "&Raitaan" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Nimeen" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Palvelin:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Kappaleen nimi/artisti - levy" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Tila" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Ei tuloksia" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Ei valittuja tuloksia" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Kappaleiden numerointi" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "&Aloittava numero:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "&Kohde:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "Kappaleiden &lukumäärä:" @@ -1509,7 +1513,7 @@ msgid "Same as &directory name" msgstr "Käytä &kansion nimeä" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Muoto:" @@ -1565,8 +1569,8 @@ msgid "Write &info using" msgstr "Kirjoita tieto k&äyttäen" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Muuta kansion nimeä" @@ -1578,29 +1582,31 @@ msgid "Preview" msgstr "Esikatselu" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Luo kansio" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "2- ja 1-tageista" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "1-tagista" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "2-tagista" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "Alkuperäinen:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "Uusi:" @@ -1628,11 +1634,11 @@ msgid "Extraction:" msgstr "Uuttaminen:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Tuo tiedostosta/leikepöydältä" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "&Tiedostosta" @@ -1652,356 +1658,364 @@ msgid "&Move to Trash" msgstr "&Siirrä roskakoriin" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Soita" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "T&iedosto" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Nimi:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Tiedostonimi 1-tagista" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Tiedostonimi 2-tagista" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "1-tagi tiedostonimestä" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "2-tagi tiedostonimestä" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "&1-tagi" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Kopioi" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Liitä" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Poista" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "&2-tagi" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Muokkaa" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Lisää" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Poista" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Kohdistus" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Tiedostonimestä" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Lataa" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Päätyökalupalkki" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Avaa kansion" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Avaa viimeaikaisen kansion" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Kumoaa muutokset kaikkiin tai valittuihin tiedostoihin" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Tallentaa muuttuneet tiedostot" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Sulkee sovelluksen" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Valitse kaikki tiedostot" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Poista kaikki valinnat" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Aseta pikanäppäimet" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Aseta työkalupalkit" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Asetusikkuna" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "Avaa &kansio..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "T&uo..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Tuo %1ista..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "Selaa &kansikuvia..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Vie..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "&Luo soittolista..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Ota tiedosto&nimimuutokset käyttöön" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Ota ta&gimuutokset käyttöön" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "Muuta &kansion nimeä..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "&Numeroi kappaleet..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "&Suodata..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Muunna ID3v2.3:sta ID3v2.&4:ksi" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Muunna ID3v2.4:sta ID3v2.&3:ksi" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "Näytä k&uva" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "&Piilota automaattisesti" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Edellinen tiedosto" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "&Seuraava tiedosto" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Tiedostonimestä" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Kehykset:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Kohdistus" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Tiedosto" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Avaa..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "Avaa &viimeaikainen" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Tallenna" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "K&umoa" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Tuo tiedostosta tai leikepöydältä" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Tuo %1ista" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Selaa kansikuvia" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Vie tiedostoon tai leikepöydälle" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "Luo soittolista" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "&Lopeta" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Muokkaa" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "Valitse &kaikki" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "&Poista valinta" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Edellinen tiedosto" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Seuraava tiedosto" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "T&yökalut" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Ota muutokset käyttöön" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Ota muutokset käyttöön" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "Muunna ID3v2.3:sta ID3v2.4:ksi" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "Muunna ID3v2.4:sta ID3v2.3:ksi" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Soita" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Asetukset" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Ottaa käyttöön tai poistaa käytöstä työkalupalkin" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "Näytä &työkalurivi" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Ottaa käyttöön tai poistaa käytöstä tilarivin" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "Näytä &tilarivi" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Näytä kuva" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Piilota automaattisesti" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Kid3:n asetukset" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "Kid3:n &asetukset..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "Kid3 &Käsikirja" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "Tietoja Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&Tietoja Kid3:sta" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "Tietoja Qt:stä" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "Tietoja &Qt:stä" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Avaa kansio..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Tallennetaan kansio..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2009,85 +2023,86 @@ "Nykyistä kansiota on muokattu.\n" "Haluatko tallentaa sen?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Varoitus" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Varoitus – Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Avaa" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Poistutaan..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Näytä/piilota tilarivi..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Luo soittolista..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Tuo" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Asetukset – Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Virhe muutettaessa nimeä:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [suodatettu]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [muutettu]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Lisää kehys" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Valitse kehyksen tunniste" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Muuta tiedoston nimeä" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Anna tiedoston uusi nimi:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "Haluatko varmasti siirtää seuraavat %1 tietuetta roskakoriin?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Haluatko varmasti siirtää tämän tietueen roskakoriin?" msgstr[1] "Haluatko varmasti siirtää seuraavat %1 tietuetta roskakoriin?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Siirrä roskakoriin" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "Kansion on oltava tyhjä.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Tiedostoja ei voitu siirtää Roskakoriin" @@ -2143,15 +2158,15 @@ msgid "To" msgstr "Korvaava" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "L&isää" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Poista" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Uusi" @@ -2167,7 +2182,7 @@ msgid "View Picture" msgstr "Katso kuvaa" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2201,27 +2216,35 @@ msgid "&Clear List" msgstr "&Tyhjennä luettelo" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Tyhjennä" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Nollaa" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "L&isää..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "Siirrä &ylemmäs" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "Siirrä &alemmas" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "&Muokkaa..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Lisää osa" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Muokkaa osaa" diff -Nru kid3-2.0.1/po/fr.po kid3-2.1/po/fr.po --- kid3-2.0.1/po/fr.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/fr.po 2012-05-11 05:46:04.000000000 +0000 @@ -7,10 +7,10 @@ # Urs Fleisch , 2006, 2007, 2008, 2009, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: fr\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:32+0100\n" "Last-Translator: \n" "Language-Team: French \n" @@ -23,371 +23,391 @@ "X-Language: fr\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Action" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Raccourci" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Encodage audio" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - Image attachée" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Commentaires" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - Commercial" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - Enregistrement de la méthode de chiffrement" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - Égalisation" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO - Codes d'événement" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB - Objet géneral encapsulé" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID - Enregistrement de la groupe d'identification" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - Liste des personnes impliquées" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - Information liée" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - Identifiant de disque" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - Table de recherche de l'emplacement MPEG" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE - Cadre de propriété" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - Cadre privé" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - Compteur d'écoutes" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - Popularimètre" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - Cadre de synchronisation" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - Taille recommandée du tampon" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD - Ajustement relative de volume" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB - Reverbe" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - Paroles/textes synchronisés" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC - Codes de vitesse synchronisés" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - Titre d'album/film/spectacle" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - BPM (battements par minute)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - Composeur" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - Type de contenu" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - Message de copyright" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Date" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - Delay de la liste de lecture" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - Encodé par" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - Auteur de texte" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - Type de fichier" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Temps" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - Description du groupe" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - Description du titre/nom de la chanson/contenu" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 - Affinage des sous-titres/description" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY - Clé initiale" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Langages" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Longueur" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Type de média" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - Titre d'album/film/spectacle original" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Nom de fichier original" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - Auteur de texte original" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - Artiste/interprète original" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - Année de sortie originale" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - Propriétaire/licencié du fichier" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - Interprète/soliste principal" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - Groupe/orchestre/accompagnement" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 - Affinage de conducteur/interprète" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - Interprété, remélangé ou modifié par" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - Partie d'un ensemble" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - Éditeur" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - Nombre de piste/position" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - Dates d'enregistrement" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - Nom de station de radio internet" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - Propriétaire de la station de radio internet" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - Taille" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC - ISRC (Code international standard d'enregistrement)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - Matériel/configuration utilisé pour l'encodage" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - Texte défini par l'utilisateur" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Année" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - Identificateur unique de fichier" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - Conditions d'utilisation" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT - Paroles/textes non synchronisés" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - Information commerciale" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - Information juridique/copyright" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - URL officiel du fichier audio" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - URL officiel d'artiste/interprète" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - URL officiel de la source audio" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - URL officiel de la station de radio internet" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - Paiement" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - Page officielle de l'éditeur" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - URL défini par l'utilisateur" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - Index de recherche" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 - Égalisation (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - Ajustement relative de volume (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - Cadre de recherche" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - Signature" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes compilation" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - Date d'encodage" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - Date de sortie originale" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - Date d'enregistrement" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - Date de sortie" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - Date de balisage" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - Liste des personnes impliquées" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - Liste de crédits des musiciens" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Humeur" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO - Préavis produit" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Ordre de tri d'artiste de l'album" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - Ordre de tri d'album" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - Ordre de tri de compositeur" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - Ordre de tri d'interprète" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - Ordre de tri du titre" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - Sous-titre" @@ -395,7 +415,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -405,9 +425,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Prêt." @@ -423,7 +443,7 @@ msgid "Request sent..." msgstr "Requête envoyée..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Donnée reçues : %1" @@ -439,80 +459,44 @@ msgid "Host not found" msgstr "Hôte non trouvé" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Année" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Longueur" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Donnée meta lue" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Non reconnu" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Reconnu" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "En suspens" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "Recherche PUID" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "Collision PUID" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "Recherche TRM" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "Collision TRM" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Recherche du fichier" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Sélection de l'utilisateur" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Vérifié" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Sauvegardé" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Supprimé" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Empreinte" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Erreur" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Supprimé" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Écrit" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "Recherche ID" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Donnée meta lue" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz album" @@ -553,62 +537,63 @@ msgid "Command" msgstr "Commande" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Échec de création du répertoire %1\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Le fichier %1 existe déjà\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 n'est pas un répertoire\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Impossible de renommer %1 en %2\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 existe déjà\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 n'est pas un fichier\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Nom noveau du répertoire est trop different\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Créer répertoire" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Renommer répertoire" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Renommer fichier" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "E&ffacer" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Fermer" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Exécuter " -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Impossible d'exécuter " @@ -637,20 +622,22 @@ msgstr "Logique non" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Donnée" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Tous les fichiers pris en charge" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Tous les fichiers (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Piste" @@ -658,9 +645,9 @@ msgid "Absolute path to file" msgstr "Nom de fichier absolu" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Nom de fichier" @@ -712,11 +699,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Compositeur" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Conducteur" @@ -740,7 +727,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Langue" @@ -748,11 +735,11 @@ msgid "Lyricist" msgstr "Auteur" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Paroles" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Média" @@ -828,13 +815,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3 ID3 Tagger" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -845,489 +832,506 @@ msgstr "dossier à ouvrir" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Télécharger la jaquette" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "&Artiste/Album" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Source" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Source:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "Remplacement de l'&URL" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Correspondance" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "URL de l'image" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "&Aide" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "Enregistrer la confi&guration" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Navigateur" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "Annu&ler" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Cliquez sur Navigateur pour démarrer" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "Ensuite glissez l'image depuis le navigateur sur la fenêtre de Kid3." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Précédent" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "&Suivant" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Trouver:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Cherche le précédent" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Cherche le suivant" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "&Marquer les champs tronqués" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "&Encodage du texte:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Utiliser le format piste/nombre &total de pistes" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Nombre de &chiffres dans le numéro de piste:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Genre comme du texte au lieu du nombre" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "&Version utilisée pour balises novelles:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "Nombre de &chiffres dans le numéro de piste:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "&Version utilisée pour balises novelles:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "&Nom du champ commentaire:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "Nom du champ d'&image:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "&Genres personnalisés" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "&Montrer seulement les genres pernonnalisés" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "Forma&t des balises" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Balises" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Balises" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Enregistrer" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "&Préserver l'horodatage des fichiers" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "&Marquer les changements" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "Format du nom de &fichier" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Fichiers" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Fichiers" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Navigateur" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "&Navigateur web:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Commandes du &menu contextuel" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 msgid "&Play on double click" msgstr "Double-cliquer pour &lire" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Commandes utilisateur" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "Commandes &utilisateur" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Proxy" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Proxy:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "&Utiliser l'authentification avec le serveur mandataire" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "&Nom d'utilisateur:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "&Mot de passe:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Réseau" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Réseau" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "&Raccourcis clavier" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Choisir une po&lice personnalisée" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "&Police..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Choisir un style personnalisé" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Inconnu" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Utiliser les boîtes de &dialogue de fichiers système natives" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Apparence" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&OK" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Le raccourcis clavier '%1' est déjà assigné à '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Manuel de Kid3" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "Depuis &presse-papier" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Importer" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Exporter" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "&Affichage" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Encodage du texte" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Texte" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Description" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Propriétaire" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "Adresse email" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Classement" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Type d'image" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Format de l'image" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Mimetype" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Conteur" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Identifiant" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Ajustement du volume" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Nombres de bits" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Changement de volume droit" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Changement de volume gauche" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Crête droite" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Crête gauche" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Format de l'horodatage" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Type de contenu" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Images (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Autre" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "Fichier icône de 32x32 pixels" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Autre fichier d'icône" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Pochette (avant)" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Pochette (arrière)" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Leaflet page" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Artiste principal/interprète principal/soliste" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Artiste/Interprète" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Groupe/Orchestre" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Auteur" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Emplacement d'enregistrement" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Pendant l'enregistrement" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Pendant la représentation" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Capture d'écran de film/vidéo" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Un poisson brillant de couleur" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Illustration" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Logo du groupe/artiste" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Logo du label/studio" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Cadre MPEG comme l'unité" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Millisecondes comme unité" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Transcription du texte" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Nom de mouvement/partie" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Évènements" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Accord" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/pop up" @@ -1335,165 +1339,165 @@ msgid "Export" msgstr "Exporter" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Format:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "En-tête:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Morceaux" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Bas de page:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "Dans un f&ichier" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "Dans le &presse-papiers" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Source:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Balise 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Balise 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Erreur de fichier" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Erreur pendant l'écriture du fichier:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filtre" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filtre:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Expression:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "&Appliquer" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Depuis f&ichier/presse-papier..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "Depuis b&alises..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&Depuis serveur:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz empreinte" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "D&estination:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Balise 1 et balise 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Revenir" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Vérifier le temps de &différence maximum permis (sec):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Correspondre à:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Longueur" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "&Piste" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Titre" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Serveur:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Piste Titre/Artiste - Album" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "État" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Pas de résultat" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Pas de résultat sélectionné" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Numéroter les pistes" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "&Nombre de début:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "&Destination:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "&Nombre de pistes:" @@ -1509,7 +1513,7 @@ msgid "Same as &directory name" msgstr "I&dentique au nom du répertoire" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Format:" @@ -1565,8 +1569,8 @@ msgid "Write &info using" msgstr "Ecrire les &infos en utilisant" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Renommer le répertoire" @@ -1578,29 +1582,31 @@ msgid "Preview" msgstr "Aperçu" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Créer répertoire" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Depuis balise 2 et balise 1" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Depuis balise 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Depuis balise 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "De:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "À:" @@ -1628,11 +1634,11 @@ msgid "Extraction:" msgstr "Extraction:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Importer depuis fichier/presse-papier" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "Depuis f&ichier" @@ -1652,356 +1658,364 @@ msgid "&Move to Trash" msgstr "Me&ttre à la corbeille" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Lire" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "F&ichier" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Nom:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Nom de fichier depuis balise 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Nom de fichier depuis balise 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Balise 1 depuis le nom de fichier" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Balise 2 depuis le nom de fichier" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Balise &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Copier" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Coller" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Supprimer" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Balise &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Édition" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Ajouter" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Supprimer" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Focus" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Depuis le nom de fichier" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Télécharger" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Barre d'outils principale" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Ouvrir un répertoire" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Ouvrir un fichier récemment ouvert" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Annuler toutes les modifications" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Sauvegarder les fichiers modifiés" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Quitter l'application" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Sélectionner tout" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Déselectionner tout" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Configurer les raccourcis" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Configurer les barres d'outils" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Boite de dialogue des préférences" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "Ouvrir ré&pertoire..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Importer..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Importer depuis %1..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "&Télécharger la jaquette..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Exporter..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "&Créer liste de lecture..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Appliquer le format du nom de &fichier" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Appliquer le forma&t des balises" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "&Renommer le répertoire..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "&Numéroter les pistes..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&iltre..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Convertir de ID3v2.3 vers ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Convertir de ID3v2.4 vers ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "Afficher l'&image" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "&Cacher automatiquement balises" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Fichier précédant" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "&Fichier suivant" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Depuis le nom de fichier" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Encadrement:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Focus" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Fichier" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Ouvrir..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "&Récemment ouvert(s)" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Enregistrer" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "Re&venir" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Importer depuis un fichier ou le presse-papier" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Importer depuis %1" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Télécharger la jaquette" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Exporter dans un fichier ou le presse-papier" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "Créer liste de lecture M3U" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "&Quitter" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Édition" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "Sélectionner &tout" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "&Désélectionner" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Fichier précédant" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Fichier suivant" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "O&utils" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Appliquer le format du nom de fichier" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Appliquer le format des balises" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "Convertir de ID3v2.3 vers ID3v2.4" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "Convertir de ID3v2.4 vers ID3v2.3" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Lecture" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Configuration" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Activer/désactiver la barre d'outils" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "Affic&her la barre d'outils" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Activer/désactiver la barre d'état" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "Afficher la barre d'ét&at" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Afficher l'image" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Cacher automatiquement balises" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Configurer Kid3" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "&Configurer Kid3..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "&Manuel de Kid3" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "A propos de Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&A propos de Kid3" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "A propos de Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "A propos de &Qt" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Ouvrir répertoire..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Sauvegarder dans le répertoire..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2009,85 +2023,86 @@ "Le répertoire courant a été modifié.\n" "Voulez vous l'enregistrer?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Avertissement" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Attention - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Ouvrir" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Quitter..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Basculer vers la barre d'état..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Création d'une liste de lecture..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Importer" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Configurer Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Erreur en renommant:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [filtré]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [modifié]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Ajouter cadre" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Sélectionnez l'ID du cadre" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Renommer le fichier" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Saisissez un nouveau nom pour le fichier:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "Voulez-vous vraiment déplacer ces %1 éléments vers la corbeille?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Voulez-vous vraiment déplacer cet élément vers la corbeille?" msgstr[1] "Voulez-vous vraiment déplacer ces %1 éléments vers la corbeille?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Mettre à la corbeille" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "Le répertoire doit être vide.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Impossible de déplacer ces fichiers dans la corbeille" @@ -2143,15 +2158,15 @@ msgid "To" msgstr "À" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Ajouter" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "Su&pprimer" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Nouveau" @@ -2167,7 +2182,7 @@ msgid "View Picture" msgstr "Voir l'image" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2201,27 +2216,35 @@ msgid "&Clear List" msgstr "E&ffacer la liste" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Effacer" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Réinitialiser" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Ajouter..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "&Monter" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "&Descendre" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "M&odifier..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Ajouter un élément" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Modifier l'élément" diff -Nru kid3-2.0.1/po/it.po kid3-2.1/po/it.po --- kid3-2.0.1/po/it.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/it.po 2012-05-11 05:46:04.000000000 +0000 @@ -5,10 +5,10 @@ # Urs Fleisch , 2008, 2009, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: it\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:33+0100\n" "Last-Translator: \n" "Language-Team: Italian \n" @@ -21,371 +21,391 @@ "X-Language: it\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Azione" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Scorciatoia" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Cifratura audio" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - Immagine allegata" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Commenti" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - Commerciale" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - Registrazione metodo di cifratura" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - Equalizzazione" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO - Codici temporali degli eventi" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB - Oggetto incapsulato di tipo generale" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID - Registrazione identificazione gruppo" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - Elenco persone coinvolte" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - Informazione collegata" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - Identificatore CD musicale" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - Tabella ricerca posizione MPEG" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE - Frame appartenenza" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - Frame privato" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - Contatore esecuzione" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - Indicatore di popolarità" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - Frame sincronizzazione posizione" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - Dimensione buffer raccomandata" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD - Regolazione volume relativo" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB - Riverbero" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - Lirica/testo sincronizzato" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC - Codici tempo sincronizzati" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - Titolo Album/Film/Show" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - BPM (battute al minuto)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - Compositore" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - Tipo contenuto" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - Messaggio di copyright" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Data" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - Ritardo playlist" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - Codificato da" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - Paroliere/Scrittore testi" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - Tipo di file" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Ora" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - Descrizione contenuto gruppo" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - Descrizione titolo/nome brano/contenuto" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 - Miglioramento sottotitolo/descrizione" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY - Chiave iniziale" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Lingua/e" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Lunghezza" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Tipo di media" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - Titolo album originale/film/show" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Nome file originale" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - Paroliere/i originale/i - Scrittore/i testo" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - Artista/i originale/i - interprete/i" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - Anno originale di pubblicazione" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - Proprietario/licenziatario file" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - Interprete/i principale/i - Solista/i" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - Band/orchestra/accompagnamento" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 - Miglioramento direttore d'orchestra/interprete" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - Interpretato, re-mixato, o comunque modificato da" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - Parte di una serie" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - Editore" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - Numero traccia/Posizione nella serie" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - Date registrazione" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - Nome stazione radio Internet" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - Proprietario stazione radio Internet" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - Dimensione" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC - ISRC (Codice registrazione internazionale standard)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - Software/Hardware e impostazioni utilizzati per la codifica" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - Informazione di testo definita dall'utente" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Anno" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - Identificatore unico di file" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - Condizioni di utilizzo" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT - Lirica non sincronizzata/trascrizione testo" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - Informazioni commerciali" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - Informazioni di copyright/legali" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - Pagina web ufficiale del file audio" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - Pagina web ufficiale dell'artista/interprete" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - Pagina web ufficiale della sorgente audio" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - Home page ufficiale della stazione radio internet" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - Pagamento" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - Pagina web ufficiale dell'editore" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - Collegamento URL definito dall'utente" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - Indice punto di ricerca audio" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 - Equalizzazione (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - Regolazione volume relativo (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - Frame ricerca" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - Frame firma" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes compilation" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - Tempo di codifica" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - Data originale di pubblicazione" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - Tempo di registrazione" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - Data di pubblicazione" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - Tempo creazione tag" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - Elenco persone coinvolte" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - Elenco ringraziamenti musicisti" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Mood" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO - Indicatore copyright produttore" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Ordina per artista album" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - Ordinamento per album" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - Ordinamento per compositore" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - Ordinamento per interprete" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - Ordinamento per titolo" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - Imposta sottotitolo" @@ -393,7 +413,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -403,9 +423,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Pronto." @@ -421,7 +441,7 @@ msgid "Request sent..." msgstr "Richiesta inviata..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Dati ricevuti: %1" @@ -437,80 +457,44 @@ msgid "Host not found" msgstr "Host non trovato" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Anno" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Lunghezza" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Informazioni aggiuntive lette" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Non riconosciuto" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Riconosciuto" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "In attesa" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "Ricerca PUID" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "Conflitto PUID" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "Ricerca TRM" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "Conflitto TRM" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Ricerca file" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Selezione utente" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Verificato" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Salvato" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Eliminato" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Fingerprint" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Errore" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Rimosso" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Scritto" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "Ricerca ID" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Informazioni aggiuntive lette" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz Release" @@ -551,62 +535,63 @@ msgid "Command" msgstr "Comando" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Creazione cartella %1 fallita\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Il file %1 esiste già\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 non è una cartella\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Impossibile rinominare %1 in %2 \n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 esiste già\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 non un file\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Il nuovo nome della cartella è troppo diverso\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Crea cartella" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Rinomina cartella" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Rinomina file" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "A&zzera" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Chiudi" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Esegui " -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Non eseguire " @@ -635,20 +620,22 @@ msgstr "Negazione logica" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Dati" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Tutti i file supportati" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Tutti i file (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Traccia" @@ -656,9 +643,9 @@ msgid "Absolute path to file" msgstr "Nome di file assoluto" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Nome file" @@ -710,11 +697,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Compositore" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Direttore d'orchestra" @@ -738,7 +725,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Lingua" @@ -746,11 +733,11 @@ msgid "Lyricist" msgstr "Paroliere" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Testi" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Media" @@ -826,13 +813,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3 ID3 Tagger" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -843,489 +830,506 @@ msgstr "cartella da aprire" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Cerca la copertina" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "&Artista/Album" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Origine" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Origine:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "&Estrazione dell'URL" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Corrispondenza" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "URL dell'immagine" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "Ai&uto" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "&Salva impostazioni" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Sfoglia" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "&Annulla" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Fai click sul pulsante Sfoglia per avviare" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "Poi trascina l'immagine dal browser su Kid3." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Indietro" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "&Avanti" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Trova:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Trova precedente" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Trova successivo" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "E&videnzia i campi troncati" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "Codifica del t&esto:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Usa formato &traccia/numero totale delle tracce" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "&Numero di cifre in campo della traccia:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Genere come testo invece dei numeri" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "&Versione usata per i nuovi tag:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "&Numero di cifre in campo della traccia:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "&Versione usata per i nuovi tag:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "Commento &nome campo:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "&Immagine nome campo:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "&Generi personalizzati" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "&Mostra solo generi personalizzati" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "Formato &tag" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Tag" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Tag" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Salva" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "M&antieni file data/ora" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "E&videnzia le modifiche" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "Formato nome&file" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "File" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&File" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Browser" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "&Browser web:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Comandi &menu contestuale" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 msgid "&Play on double click" msgstr "&Riproduci con un doppio clic" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Azioni utente" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "Azioni &utente" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Proxy" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Proxy:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "&Usa autenticazione con il proxy" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "Ute&nte proxy:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "Pass&word proxy:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Rete" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Rete" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "&Scorciatoie da tastiera" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Usare un carattere persona&lizzato" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "&Carattere..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Usare uno &stile personalizzato" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Sconosciuto" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Usa finestre di &dialogo file native" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Aspetto" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&OK" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "La scorciatoia '%1' è già usata per il comando '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Manuale di Kid3" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "Dagli a&ppunti" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Importa" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Esporta" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "Visuali&zza" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Codifica del testo" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Testo" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Descrizione" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Proprietario" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "E-mail" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Giudizio" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Tipo immagine" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Formato immagine" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Tipo MIME" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Contatore" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Identificatore" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Regolazione volume" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Numero di Bit" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Cambia volume destro" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Cambia volume sinistro" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Picco volume destro" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Picco volume sinistro" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Formato data/ora" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Tipo di contenuto" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Immagini (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Altro" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "Icona file PNG da 32x32 pixel" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Altra icona file" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Copertina (fronte)" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Copertina (retro)" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Pagina dépliant" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Artista principale/interprete principale/solista" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Artista/interprete" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Band/Orchestra" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Paroliere/scrittore testi" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Luogo d'incisione" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Durante la registrazione" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Durante l'esecuzione" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Cattura schermo/film" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Un pesce dai colori vivaci" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Illustrazione" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Logo Gruppo/artista" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Logo Editore/Studio" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Frame MPEG come unità" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Millisecondi come unità" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Trascrizione testo" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Nome movimento/parte" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Eventi" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Accordo" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/pop up" @@ -1333,165 +1337,165 @@ msgid "Export" msgstr "Esporta" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Formato:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Intestazione:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Tracce:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Piè di pagina:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "In F&ile" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "Negli Ap&punti" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "Ori&gine:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Tag 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Tag 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Errore del file" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Errore durante la scrittura del file:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filtro" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filtro:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Espressione:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "A&pplica" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Da f&ile/appunti..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "Da T&ag..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "Dal Ser&ver:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz Fingerprint" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "D&estinazione:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Tag 1 e Tag 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Ripristina" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Controlla &differenza tempo max ammissibile (sec):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Trova corrispondenza con:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Lunghezza" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "T&raccia" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Titolo" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Server:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Titolo traccia/artista - album" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Stato" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Nessun risultato" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Nessun risultato selezionato" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Numero tracce" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "Numero &inizio:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "&Destinazione:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "&Numero delle tracce:" @@ -1507,7 +1511,7 @@ msgid "Same as &directory name" msgstr "Stesso nome &della cartella" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Formato:" @@ -1563,8 +1567,8 @@ msgid "Write &info using" msgstr "Scrivi le &informazioni usando" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Rinomina cartella" @@ -1576,29 +1580,31 @@ msgid "Preview" msgstr "Anteprima" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Crea cartella" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Da Tag 2 e Tag 1" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Da Tag 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Da Tag 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "Da:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "A:" @@ -1626,11 +1632,11 @@ msgid "Extraction:" msgstr "Estrazione:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Importa da file/appunti" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "Da f&ile" @@ -1650,356 +1656,364 @@ msgid "&Move to Trash" msgstr "Cesti&na" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Riproduci" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "F&ile" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Nome:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Nome file da Tag 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Nome file da Tag 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Tag 1 dal Nome file" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Tag 2 dal Nome file" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Tag &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Copia" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Incolla" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Rimuovi" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Tag &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Modifica" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Aggiungi" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Elimina" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Punto focale" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Dal Nome file" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Scarica" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Barra degli strumenti principale" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Apre una cartella" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Apre una cartella usata di recente" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Annulla le modifiche eseguite su tutti i file o quelli selezionati" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Salva i file modificati" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Esce dall'applicazione" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Seleziona tutti i file" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Deseleziona tutti i file" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Configura le scorciatoie" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Configura la barra degli strumenti" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Preferenze" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "A&pri cartella..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Importa..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Importa da %1..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "&Preleva copertina..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Esporta..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "&Crea Playlist..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Applica formato Nome &file" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Applica formato &Tag" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "&Rinomina cartella..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "&Numero tracce..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&iltro..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Converti ID3v2.3 in ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Converti ID3v2.4 in ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "Mostra &immagine" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "&Nascondi automaticamente" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "File &precedente" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "File &successivo" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Dal Nome file" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Frame:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Punto focale" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&File" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Apri..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "Apri &recenti" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Salva" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "Ri&pristina" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Importa da file o dagli appunti" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Importa da %1" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Preleva copertina" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Esporta in un file o negli appunti" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "Crea Playlist M3U" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "&Esci" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Modifica" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "Seleziona &tutto" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "Dese&leziona" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Seleziona file precedente" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Seleziona file successivo" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "S&trumenti" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Applica formato Nome file" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Applica formato Tag" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "Converti ID3v2.3 in ID3v2.4" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "Converti ID3v2.4 in ID3v2.3" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Riproduci" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "Imp&ostazioni" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Attiva/disattiva la barra degli strumenti" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "Mostra la barra degli &strumenti" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Attiva/disattiva la barra di stato" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "Mostra la barra di st&ato" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Mostra immagine" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Nascondi automaticamente" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Configura Kid3" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "&Configura Kid3..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "&Manuale di Kid3" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "Informazioni su Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&Informazioni su Kid3" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "Informazioni su Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "Informazioni su &Qt" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Apertura cartella in corso..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Salvataggio cartella in corso..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2007,85 +2021,86 @@ "La cartella in uso è stata modificata.\n" "Volete salvarla?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Avvertimento" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Attenzione - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Apri" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Uscita in corso..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Cambiamento barra di stato in corso..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Creazione playlist in corso..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Importa" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Configura - Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Errore durante la rinomina:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [filtrato]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [modificato]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Aggiungi frame" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Seleziona l'ID del frame" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Rinomina file" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Digita nuovo nome file:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "Vuoi veramente spostare nel cestino questi %1 elementi?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Vuoi veramente spostare nel cestino questo elemento?" msgstr[1] "Vuoi veramente spostare nel cestino questi %1 elementi?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Cestina" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "La cartella deve essere vuota.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Impossibile spostare questi file nel cestino" @@ -2141,15 +2156,15 @@ msgid "To" msgstr "A" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Aggiungi" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Rimuovi" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Nuovi" @@ -2165,7 +2180,7 @@ msgid "View Picture" msgstr "Visualizza immagine" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2199,27 +2214,35 @@ msgid "&Clear List" msgstr "&Pulisci la lista" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Pulisci" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Azzera" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Aggiungi..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "Sposta in &alto" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "Sposta in &basso" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "&Modifica..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Aggiungi elemento" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Modifica elemento" diff -Nru kid3-2.0.1/po/kid3.pot kid3-2.1/po/kid3.pot --- kid3-2.0.1/po/kid3.pot 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/kid3.pot 2012-05-11 05:46:04.000000000 +0000 @@ -6,10 +6,10 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,371 +19,391 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "" @@ -391,7 +411,7 @@ msgid "Amazon" msgstr "" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "" @@ -401,9 +421,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "" @@ -419,7 +439,7 @@ msgid "Request sent..." msgstr "" -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "" @@ -435,80 +455,44 @@ msgid "Host not found" msgstr "" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" msgstr "" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" msgstr "" -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" msgstr "" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "" @@ -549,62 +533,63 @@ msgid "Command" msgstr "" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "" -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "" @@ -633,20 +618,22 @@ msgstr "" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "" @@ -654,9 +641,9 @@ msgid "Absolute path to file" msgstr "" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "" @@ -708,11 +695,11 @@ msgid "BPM" msgstr "" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "" @@ -736,7 +723,7 @@ msgid "ISRC" msgstr "" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "" @@ -744,11 +731,11 @@ msgid "Lyricist" msgstr "" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "" @@ -824,12 +811,12 @@ msgid "Kid3 ID3 Tagger" msgstr "" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" msgstr "" #: gui/app/main.cpp:58 @@ -841,489 +828,506 @@ msgstr "" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "" -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "" -#: gui/dialogs/configdialog.cpp:206 -msgid "&Genre as text instead of numeric string" -msgstr "" - -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" msgstr "" -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" +#: gui/dialogs/configdialog.cpp:206 +msgid "&Genre as text instead of numeric string" msgstr "" -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 msgid "&Play on double click" msgstr "" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "" -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "" + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "" @@ -1331,165 +1335,165 @@ msgid "Export" msgstr "" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "" -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "" -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "" @@ -1505,7 +1509,7 @@ msgid "Same as &directory name" msgstr "" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "" @@ -1561,8 +1565,8 @@ msgid "Write &info using" msgstr "" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "" @@ -1574,29 +1578,31 @@ msgid "Preview" msgstr "" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "" @@ -1624,11 +1630,11 @@ msgid "Extraction:" msgstr "" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "" @@ -1648,440 +1654,449 @@ msgid "&Move to Trash" msgstr "" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" msgstr "" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "" -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "" msgstr[1] "" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "" @@ -2137,15 +2152,15 @@ msgid "To" msgstr "" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "" @@ -2161,7 +2176,7 @@ msgid "View Picture" msgstr "" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2192,27 +2207,35 @@ msgid "&Clear List" msgstr "" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "" -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "" -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "" diff -Nru kid3-2.0.1/po/nl.po kid3-2.1/po/nl.po --- kid3-2.0.1/po/nl.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/nl.po 2012-05-11 05:46:04.000000000 +0000 @@ -6,10 +6,10 @@ # Kenny Verstraete , 2008, 2011. msgid "" msgstr "" -"Project-Id-Version: nl\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:36+0100\n" "Last-Translator: \n" "Language-Team: Dutch \n" @@ -22,371 +22,391 @@ "X-Language: nl\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Actie" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Sneltoets" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Audio encryptie" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Opmerkingen" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Datum" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Tijd" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Talen" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Lengte" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Media type" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Originele bestandsnaam" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Jaar" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Stemming" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Sorteervolgorde van albumartiest" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - Sorteervolgorde van componist" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "" @@ -394,7 +414,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -404,9 +424,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Gereed." @@ -422,7 +442,7 @@ msgid "Request sent..." msgstr "Verzoek verzonden..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Gegevens ontvangen: %1" @@ -438,80 +458,44 @@ msgid "Host not found" msgstr "Host niet gevonden" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Jaar" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Lengte" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Metadata lezen" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Niet herkend" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Herkend" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "In behandeling" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "PUID-zoekactie" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "PUID Collision" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "TRM-zoekactie" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "TRM Collision" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Bestand-zoekactie" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Gebruikersselectie" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Geverifieerd" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Opgeslagen" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Verwijderd" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Fingerprint" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Fout" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Verwijderd" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Geschreven" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ID-zoekactie" + +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Metadata lezen" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz Release" @@ -552,62 +536,63 @@ msgid "Command" msgstr "Commando" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Aanmaken map %1 is mislukt\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Bestand %1 bestaat reeds\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 is geen map\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Hernoemen %1 naar %2 mislukt \n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 bestaat reeds\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 is geen bestand\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "De nieuwe mapnaam is te verschillend\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Map aanmaken" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Map hernoemen" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Bestand hernoemen" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "&Wissen" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "Sl&uiten" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Uitvoeren " -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Kon bewerking niet uitvoeren " @@ -636,20 +621,22 @@ msgstr "Booleaanse NEE" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Gegevens" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Alle ondersteunde bestanden" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Alle bestanden (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Track" @@ -657,9 +644,9 @@ msgid "Absolute path to file" msgstr "Absoluut pad naar bestand" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Bestandsnaam" @@ -711,11 +698,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Componist" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Dirigent" @@ -739,7 +726,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Taal" @@ -747,11 +734,11 @@ msgid "Lyricist" msgstr "Tekstschrijver" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Liedtekst" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Medium" @@ -827,13 +814,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3 ID3 Tagger" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -844,489 +831,506 @@ msgstr "Map te openen" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Hoes ophalen" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "&Artiest/Album" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Bron" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Bron:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "&URL vervanging" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Komt overeen" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "Afbeelding URL" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "&Help" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "Instellingen ops&laan" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Browser" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "&Annuleren" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Klik op de knop Browser om te starten" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "Vervolgens slepen afbeelding van de browser aan Kid3." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Terug" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "&Verder" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Zoeken:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Vorige zoeken" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Volgende zoeken" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "&Markeer afgebroken velden" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "Tekst-&encodering:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Gebruik &track/totaal aantal tracks structuur" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Tracknummer &aantal cijfers:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Genre als tekst in plaats van nummer" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "Gebruikte &versie voor nieuwe Tags:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "Tracknummer &aantal cijfers:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "Gebruikte &versie voor nieuwe Tags:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "&Naam commentaarveld:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "Naam &afbeeldingsveld:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "Aangepaste &Genres" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "Toon alleen aangepa&ste genres" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "&Tagstructuur" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Tags" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Tags" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Opslaan" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "Be&hou timestamp van bestanden" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "&Markeer wijzigingen" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "&Bestandsnaamstructuur" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Bestanden" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Bestanden" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Browser" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "Web &browser:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Context &Menu commando's" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 msgid "&Play on double click" msgstr "&Afspelen bij dubbelklik" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Gebruikersacties" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "&Gebrukersacties" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Proxy" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Proxy:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "&Gebruik authenticatie voor proxy" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "Proxy-gebruikers&naam:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "Proxy-&wachtwoord:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Netwerk" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Netwerk" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "&Sneltoetsen" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Gebruik aangepast programma&lettertype" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "&Programmalettertype..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Aangepaste &stijl gebruiken" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Onbekend" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Eigen systeembestands&dialogen gebruiken" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Uiterlijk" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&OK" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "De sneltoets ‘%1’ is al toegekend aan '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Kid3 Handboek" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "Van Klem&bord" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Importeren" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Exporteren" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "Beel&d" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Tekst-Codering" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Tekst" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL-adres" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Beschrijving" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Eigenaar" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "E-mail" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Waardering" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Afbeeldingstype" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Afbeeldingsformaat" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Mime bestandstype" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Teller" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Identifier" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Volume aanpassing" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Aantal Bits" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Volume Wijzigen Rechts" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Volume Wijzigen Links" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Piekvolume Rechts" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Piekvolume Links" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Opmaak Tijdsaanduiding" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Inhoudstype" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Afbeeldingen (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Ander" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "32x32 pixels PNG bestandsicoon" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Ander bestandsicoon" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Hoes voor" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Hoes achter" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Booklet pagina" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Hoofd artiest/hoofd uitvoerende" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Artiest/uitvoerder" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Band/Orchest" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "tekstschrijver" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Opnamelocatie" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Tijdens opname" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Tijdens uitvoering" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Film/schermafdruk" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "A bright coloured fish" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Illustratie" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Artiest logotype" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Uitgever" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "MPEG frames als eenheid" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Milliseconden als eenheid" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Tekst" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Deel" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Gebeurtenissen" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Koorde" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/pop up" @@ -1334,165 +1338,165 @@ msgid "Export" msgstr "Exporteren" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Structuur:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Koptekst:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Tracks:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Voetnoot:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "Naar &Bestand" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "Naar &Klembord" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Bron:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Tag 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Tag 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Bestandsfout" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Er is een fout opgetreden tijdens het opslaan van het bestand:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filter" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filter:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Uitdrukking:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "Toe&passen" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Van Bestand/Klem&bord..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "Van T&ags..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&Van Server:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz Fingerprint" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "B&estemming:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Tag 1 en Tag 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Ongedaan maken" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Maximum tij&dverschil (sec):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Overeenkomt met:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Lengte" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "Numme&r" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Titel" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Server:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Nummer Titel/Artiest - Album" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Status" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Geen resultaat" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Geen resultaat geselecteerd" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Tracks nummeren" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "&Start nummer:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "&Bestemming:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "&Totaal aantal tracks:" @@ -1508,7 +1512,7 @@ msgid "Same as &directory name" msgstr "Gelijk aan &de mapnaam" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "Structuur:" @@ -1564,8 +1568,8 @@ msgid "Write &info using" msgstr "Bewaar &info gebruik makend van" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Map Hernoemen" @@ -1577,29 +1581,31 @@ msgid "Preview" msgstr "Voorbeeld" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Map aanmaken" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Van Tag 2 en Tag 1" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Van Tag 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Van Tag 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "Van:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "Aan:" @@ -1627,11 +1633,11 @@ msgid "Extraction:" msgstr "Extractie:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Importeer van bestand/klembord" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "Van &Bestand" @@ -1651,356 +1657,364 @@ msgid "&Move to Trash" msgstr "Naar p&rullenbak verplaatsen" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "Afs&pelen" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "B&estand" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Naam:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Bestandsnaam van Tag 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Bestandsnaam van Tag 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Tag 1 van bestandsnaam" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Tag 2 van bestandsnaam" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Tag &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Kopiëren" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Plakken" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Verwijderen" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Tag &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Bewerken" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Toevoegen" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Verwijderen" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Focus" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Van bestandsnaam" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Download" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Hoofdwerkbalk" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Opent een map" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Opent een recent geopende map" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Maakt de wijzigingen van alle of de geselcteerde bestanden ongedaan" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Slaat de gewijzigde bestanden op" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Sluit de toepassing" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Selecteer alle bestanden" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Deselecteer alle bestanden" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Sneltoetsen instellen" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Werkbalken instellen" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Voorkeuren" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "Map o&penen..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Importeren..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Importeren van %1..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "&Hoes ophalen..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Exporteren..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "&Afspeellijst aanmaken..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "&Bestandsnaamstructuur Toepassen" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Tagstructuur &Toepassen" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "Map He&rnoemen..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "Tracks &Nummeren..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&ilter..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Converteer ID3v2.3 naar ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Converteer ID3v2.4 naar ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "&Afbeelding tonen" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "Automatisch &verbergen" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "Vor&ig bestand" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "Volge&nd bestand" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Van bestandsnaam" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Frames:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Focus" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Bestand" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Openen..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "&Recent geopend" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "Op&slaan" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "On&gedaan maken" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Importeer van bestand of klembord" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Importeer van %1" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Hoes ophalen" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Exporteer naar bestand of klembord" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "M3U afspeellijst aanmaken" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "A&fsluiten" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "Be&werken" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "&Alles selecteren" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "Dese&lecteren" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Vorig bestand selecteren" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Volgend bestand selecteren" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "H&ulpmiddelen" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Bestandsnaamstructuur Toepassen" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Tagstructuur toepassen" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "ID3v2.3 naar ID3v2.4 omzetten" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "ID3v2.4 naar ID3v2.3 omzetten" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Afspelen" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Instellingen" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Activeert/deactiveert de werkbalk" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "&Werkbalk tonen" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Activeert/deactiveert de statusbalk" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "&Statusbalk tonen" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Afbeelding tonen" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Automatisch verbergen" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Kid3 instellen" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "Kid3 in&stellen..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "Kid3 &Handboek" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "Over Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&Over Kid3" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "Over Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "Over &Qt" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Map openen..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Map opslaan..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2008,72 +2022,73 @@ "De huidige map is gewijzigd.\n" "Wenst u de wijzigingen op te slaan?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Waarschuwing" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Waarschuwing - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Openen" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Bezig met afsluiten..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "De statusbalk omschakelen..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Afspeellijst Aanmaken..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Importeren" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Kid3 instellen" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Fout tijdens hernoemen:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [gefiltert]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [gewijzigd]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Frame toevoegen" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Selecteer de frameidentiteit" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Bestand hernoemen" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Geef nieuwe bestand naam op:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "" "Bent u er zeker van dat u %1 items naar de prullenbak wilt verplaatsen?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "" @@ -2081,15 +2096,15 @@ msgstr[1] "" "Bent u er zeker van dat u %1 items naar de prullenbak wilt verplaatsen?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Naar prullenbak verplaatsen" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "De map moedt leeg zijn.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Deze bestanden konden niet naar de prullenbak worden verplaatst" @@ -2145,15 +2160,15 @@ msgid "To" msgstr "Naar" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Toevoegen" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Verwijderen" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Nieuwe" @@ -2169,7 +2184,7 @@ msgid "View Picture" msgstr "Afbeelding bekijken" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2203,27 +2218,35 @@ msgid "&Clear List" msgstr "Lijst ops&chonen" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Wissen" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Herstellen" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Toevoegen..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "&Omhoog" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "Om&laag" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "B&ewerken..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Item toevoegen" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Item bewerken" diff -Nru kid3-2.0.1/po/pl.po kid3-2.1/po/pl.po --- kid3-2.0.1/po/pl.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/pl.po 2012-05-11 05:46:04.000000000 +0000 @@ -7,10 +7,10 @@ # Urs Fleisch , 2008, 2009, 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: pl\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:37+0100\n" "Last-Translator: \n" "Language-Team: Polish \n" @@ -24,371 +24,391 @@ "X-Language: pl\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Zdarzenie" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Skrót" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Szyfrowanie audio" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - Załączony obrazek" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Komentarze" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - Lista ludzi zaangażowanych" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - Połączona informacja" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - Identyfikator muzycznego CD" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - Pole prywatne" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - Licznik odtworzeń" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - Miernik popularności" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - Polecany rozmiar bufora" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - Zsynchronizowane słowa/tekst" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - Tytuł albumu/filmu/pokazu" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - BPM (uderzeń na minutę)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - Kompozytor" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - Typ zawartości" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - Informacja o prawach autorskich" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Data" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - Zakodowane przez" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - Tekściarz/autor tekstu" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - Typ pliku" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Czas" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - Opis zespołu zawartości" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - Tytuł/Tytuł utworu/Opis zawartości" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Język(i)" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Długość" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Typ mediów" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - Tytuł oryginalnego albumu/filmu/przedstawienia" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Oryginalna nazwa pliku" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - Oryginalny tekściarz(e)/autor(rzy) tekstu" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - Oryginalny artysta/wykonawca" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - Oryginalny rok wypuszczenia" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - Właściciel pliku/licencji" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - Główny wykonawca/Solista" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - Zespół/orkiestra/akompaniament" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - Interpretacja, remix lub jakakolwiek modyfikacja przez" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - Część zestawu" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - Wydawca" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - Numer ścieżki/Pozycja w zestawie" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - Daty nagrania" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - Nazwa internetowej stacji radiowej" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - Właściciel internetowej stacji radiowej" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - Rozmiar" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - Oprogramowanie/sprzęt i ustawienia użyte do zakodowania" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - Informacja tekstowa zdefiniowana przez użytkownika" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Rok" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - Unikalny identyfikator pliku" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - Warunki użytkowania" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - Informacja o legalności i prawach autorskich" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - Oficjalna strona internetowa pliku audio" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - Oficjalna strona internetowa artysty/wykonawcy" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - Oficjalna strona internetowa źródła audio" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - Oficjalna strona internetowa radia internetowego" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - Płatność" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - Oficjalna strona internetowa wydawcy" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - Odnośnik URL zdefiniowany przez użytkownika" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - Składanka iTunes" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - Czas zakodowania" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - Oryginalny czas wypuszczenia" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - Czas/data nagrania" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - Czas wypuszczenia" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - Czas zapisania znaczników" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - Lista ludzi zaangażowanych" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Nastrój" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Nazwa wykonawcy albumu (posortowane)" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - Porządek sortowania albumów" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - Porządek sortowania kompozytor" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - Porządek sortowania wykonawców" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - Porządek sortowania tytułów" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "" @@ -396,7 +416,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -406,9 +426,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Gotowe." @@ -424,7 +444,7 @@ msgid "Request sent..." msgstr "Wysłano zapytanie..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Otrzymano dane: %1" @@ -440,80 +460,44 @@ msgid "Host not found" msgstr "Komputer nie został znaleziony" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Rok" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Długość" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Odczytywanie metadanych" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Nie rozpoznano" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Rozpoznano" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "Oczekiwanie" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "Poszukiwanie PUID" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "Kolizja PUID" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "Wyszukiwanie TRM" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "Kolizja TRM" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Wyszukiwanie pliku" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Wybór użytkownika" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Zweryfikowano" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Zapisano" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Usunięto" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Fingerprint" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Błąd" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Usunięty" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Zapisano" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "Poszukiwanie ID" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Odczytywanie metadanych" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz Release" @@ -554,62 +538,63 @@ msgid "Command" msgstr "Polecenie" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Nie można utworzyć katalogu %1\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Plik %1 już istnieje\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 nie jest katalogiem\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Nie udało się zmienić nazwy %1 na %2\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 już istnieje\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 nie jest plikiem\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Nowe nazwa katalogu jest też różne\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Utwórz katalog" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Zmień nazwę katalogu" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Zmień nazwę pliku" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "&Wyczyść" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "Z&amknij" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Wykonaj" -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Nie można wykonać" @@ -638,20 +623,22 @@ msgstr "Logiczna NOT" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Dane" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Wszystkie obsługiwane pliki" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Wszystkie pliki (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Ścieżka" @@ -659,9 +646,9 @@ msgid "Absolute path to file" msgstr "Bezwzględna ścieżka" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Nazwa pliku" @@ -713,11 +700,11 @@ msgid "BPM" msgstr "Uderzenia na minutę" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Kompozytor" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Dyrygent" @@ -741,7 +728,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Język" @@ -749,11 +736,11 @@ msgid "Lyricist" msgstr "Tekściarz" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Tekst" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Media (np. strona z nadrukiem na CD)" @@ -829,13 +816,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3 - Edytor znaczników ID3" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -846,490 +833,507 @@ msgstr "katalog do otwarcia" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Pobierz okładkę" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "Wykonawca/&Album" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Źródło" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Źródło:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "&URL zamiania" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Dopasowanie" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "Obrazek URL" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "Pomo&c" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "&Zapisz ustawienia" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Przeglądarka" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "&Anuluj" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "Kliknij przycisk Przeglądarka aby uruchomić" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "Obrazek można przeciągnąć do Kid3." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Wstecz" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "&Do przodu" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Znajdź:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Znajdź poprzednie" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Znajdź następne" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "&Oznacz obcięte pola" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "Kodowanie t&ekstu:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Używaj &formatu ścieżka/całkowita liczba ścieżek" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Numer ścieżki &liczba cyfr:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Gatunek jako tekst" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "Wersja używana dla &nowych znaczników:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "Numer ścieżki &liczba cyfr:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "Wersja używana dla &nowych znaczników:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "&Nazwa pola komentarza:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "Nazwa pola &obrazu:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "Własne &gatunki" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "&Pokazuj tylko własne gatunki" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "&Format znacznika" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Znaczniki" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Znaczniki" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Zapisz" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "&Zachowaj znacznik czasu pliku" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "&Oznacz zmiany" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "&Format nazwy pliku" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Pliki" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Pliki" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Przeglądarka" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "&Przeglądarka WWW:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Polecenia &menu kontekstowego" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 #, fuzzy msgid "&Play on double click" msgstr "&Odtwarzaj na podwójne kliknięcie" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Działania użytkownika" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "&Działania użytkownika" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Pośrednik (proxy)" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Pośrednik (proxy):" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "&Użyj uwierzytelniania dla proxy" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "&Użytkownik proxy:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "&Hasło dla proxy:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Sieć" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Sieć" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "Skróty &klawiszowe" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Użyj własnej &czcionki" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "Czcionka &programu..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Używaj własnego programu i &stylu" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Nieznany" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "&Użyj natywnych okien systemu" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Wygląd" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&OK" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Skrót klawiaturowy '%1' jest już przypisany do '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Podręcznik programu Kid3" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "Ze &schowka" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Importuj" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Eksportuj" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "&Widok" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Kodowanie tekstu" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Tekst" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Opis" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Właściciel" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "E-mail" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Ocena" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Typ obrazu" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Format obrazu" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Typ MIME" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Licznik" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Identyfikator" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Zmiana głośności" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Liczba bitów" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Format znacznika czasu" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Typ zawartości" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Obrazki (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Inny" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "Ikona pliku PNG 32x32 pikseli" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Inna ikona pliku" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Okładka (przód)" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Okładka (tył)" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Strona ulotki" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Główny artysta/wykonawca/solista" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Artysta/wykonawca" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Zespół/orkiestra" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Tekściarz/autor tekstu" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Miejsce nagrania" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Podczas nagrywania" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Podczas występu" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Zrzut ekranu z filmu/video" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Jaskrawo pokolorowana ryba" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Ilustracja" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Logo zespołu/artysty" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Logo wydawcy/studia" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Ramki MPEG jako jednostka" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Milisekundy jako jednostka" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Transkrypcja tekstu" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Nazwa części/odcinka" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Wydarzenia" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Akord" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/podnoszą" @@ -1337,165 +1341,165 @@ msgid "Export" msgstr "Eksportuj" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Format:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Nagłówek:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Utwory:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Nagłówek:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "Do p&liku" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "Do &schowka" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Źródło:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Znacznik 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Znacznik 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Błąd otwarcia pliku" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Błąd podczas zapisu pliku:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filtr" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filtr:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Wyrażenie:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "&Zastosuj" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Ze pl&ik/schowka..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "Ze zn&acznika..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "Z se&rwera:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz Fingerprint" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "C&el:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Znacznik 1 i znacznik 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Odwróć" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Sprawdź dopuszczalną &różnicę czasu (sek.):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Dopasuj według:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Długości" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "Ś&cieżki" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Tytułu" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Serwer:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Tytuł ścieżki/Artysta - Album" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Stan" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Brak wyników" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Nie wybrano rezultatu" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Numeruj ścieżki" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "Liczba &początkowa:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "&Cel:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "&Liczba utworów:" @@ -1511,7 +1515,7 @@ msgid "Same as &directory name" msgstr "Taka jak nazwa &katalogu" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Format:" @@ -1567,8 +1571,8 @@ msgid "Write &info using" msgstr "Dodatkowa &informacja z maski" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Zmień nazwę katalogu" @@ -1580,29 +1584,31 @@ msgid "Preview" msgstr "Podgląd" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Utwórz katalog" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Ze znacznika 1 i znacznika 2" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Ze znacznika 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Ze znacznika 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "Z:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "Do:" @@ -1630,11 +1636,11 @@ msgid "Extraction:" msgstr "Ekstrakcja:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Importuj plik/schowka" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "Wczytaj z p&liku" @@ -1654,356 +1660,364 @@ msgid "&Move to Trash" msgstr "Przenieś do &kosza" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Odtwarzaj" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "Pl&ik" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Nazwa:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Nazwa pliku ze znacznika 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Nazwa pliku ze znacznika 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Znacznik 1 wczytaj z nazwy pliku" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Znacznik 2 wczytaj z nazwy pliku" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Znacznik &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Kopiuj" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Wklej" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Usuń" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Znacznik &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Edycja" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Dodaj" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Usuń" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Ognisko" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Wczytaj z nazwy pliku" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Pobieranie" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Główny pasek narzędzi" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Otwiera katalog" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Otwiera poprzednio używany katalog" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Przywraca do poprzedniego stanu zmiany we wszystkich wybranych plikach" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Zapisuje zmienione pliki" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Kończy program" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Wybierz wszystkie pliki" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Odznacz wszystkie pliki" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Konfiguracja skrótów" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Konfiguracja pasków narzędzi" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Okno opcji" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "&Otwórz katalog..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Importuj..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Importuj z %1..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "&Pobierz okładkę..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Eksportuj..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "Stwórz &listę odtwarzania..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Zastosuj formatowanie &nazwy pliku" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Zastosuj formatowanie &znacznika" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "Zmień &nazwę katalogu..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "&Numeruj ścieżki..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&iltr..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Konwertuj ID3v2.3 do ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Konwertuj ID3v2.4 do ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "Pokaż &obrazek" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "Automatyczne &ukrywanie" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Poprzedni plik" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "&Następny plik" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Wczytaj z nazwy pliku" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Ramki:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Ognisko" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Plik" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Otwórz..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "Otwórz poprz&edni" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Zapisz" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "Od&wróć" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Importuj plik ze schowka" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Importuj z %1" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Pobierz okładkę" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Eksportuj do pliku lub schowka" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "Utwórz listę odtwarzania M3U" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "Za&kończ" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Edycja" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "Zaznacz &wszystko" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "O&dznacz" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Zaznacz poprzedni plik" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Zaznacz następny plik" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "&Narzędzia" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Zastosuj formatowanie nazwy pliku" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Zastosuj formatowanie znacznika" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "Konwertuj ID3v2.3 do ID3v2.4" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "Konwertuj ID3v2.4 do ID3v2.3" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Odtwarzaj" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Ustawienia" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Włącza/wyłącza pasek narzędzi" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "Wyświetlaj pasek &narzędzi" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Włącza/wyłącza pasek stanu" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "Wyświetlaj pasek s&tanu" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Pokaż obrazek" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Automatyczne ukrywanie" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Konfiguracja Kid3" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "&Konfiguracja Kid3..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "&Podręcznik programu Kid3" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "O programie Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&O programie Kid3" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "Informacje o Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "Informacje o &Qt" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Otwieranie katalogu..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Zapisywanie katalogu..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2011,87 +2025,88 @@ "Bieżący katalog został zmodyfikowany.\n" "Czy chcesz go zapisać?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Ostrzeżenie" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Ostrzeżenie - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Otwórz" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Kończenie pracy..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Przełączanie paska statusu..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Tworzenie listy odtwarzania..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Importuj" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Konfiguracja - Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Błąd podczas zmieniania nazwy:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [filtrowane]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [zmodyfikowane]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Dodaj ramkę" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Wybierz identyfikator ramki" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Zmień nazwę pliku" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Podaj nową nazwę pliku:" # Czy na pewno chcesz przenieść te %1 plików do kosza? -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "Czy na pewno chcesz usunąć te %1 pozycji?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Czy na pewno chcesz przenieść ten plik do kosza?" msgstr[1] "Czy na pewno chcesz przenieść te %1 pliki do kosza?" msgstr[2] "Czy na pewno chcesz przenieść te %1 plików do kosza?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Przenieś do kosza" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "Katalog musi być pusty.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Nie można przenieść tych plików do Kosza" @@ -2147,15 +2162,15 @@ msgid "To" msgstr "Do" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Dodaj" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Usuń" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Nowy" @@ -2171,7 +2186,7 @@ msgid "View Picture" msgstr "Pokaż obrazek" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2205,27 +2220,35 @@ msgid "&Clear List" msgstr "Wy&czyść listę" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Wyczyść" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Wróć" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Dodaj..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "&Przesuń w górę" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "&Przesuń niżej" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "&Edycja..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Dodaj element" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Edytuj element" diff -Nru kid3-2.0.1/po/po2ts.pl kid3-2.1/po/po2ts.pl --- kid3-2.0.1/po/po2ts.pl 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/po2ts.pl 2012-05-11 05:46:04.000000000 +0000 @@ -79,7 +79,8 @@ return %trans; } -# Set the translations in a .ts file replacing & by &, < by < and > by >. +# Set the translations in a .ts file replacing & by &, < by <, +# > by > and ' by '. sub setTsTranslations($$%) { my $infn = shift; @@ -111,12 +112,14 @@ $source =~ s/&/&/g; $source =~ s/<//g; + $source =~ s/'/'/g; $source =~ s/\n/\\n/g; if (exists $trans{$source}) { $translation = $trans{$source}; $translation =~ s/&/&/g; $translation =~ s//>/g; + $translation =~ s/'/'/g; $translation =~ s/\\"/"/g; $translation =~ s/\\n/\n/g; s/ type="unfinished"//; @@ -146,7 +149,7 @@ { my ($lupdate_cmd, $podir, $srcdir) = @_; my @pofiles = glob "$podir/*.po"; - my @languages = map { /^.*\W(\w+)\.po$/ } @pofiles; + my @languages = map { /^.*\/([\w@]+)\.po$/ } @pofiles; my $tmpdir = ".tsdir"; mkdir $tmpdir unless -d $tmpdir; find(\&wanted, $srcdir); diff -Nru kid3-2.0.1/po/ru.po kid3-2.1/po/ru.po --- kid3-2.0.1/po/ru.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/ru.po 2012-05-11 05:46:04.000000000 +0000 @@ -7,10 +7,10 @@ # "Egor S. Orlov" , 2003, 2011. msgid "" msgstr "" -"Project-Id-Version: ru\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:41+0100\n" "Last-Translator: \n" "Language-Team: Russian \n" @@ -24,371 +24,391 @@ "X-Language: ru\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Действие" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Комбинация клавиш" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Аудио-кодирование" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - Прикрепленная картинка" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Комментарии" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - Реклама" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - Encryption method registration" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - Equalization" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO - Event timing codes" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB - General encapsulated object" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID - Group identification registration" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - Involved people list" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - Linked information" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - Music CD identifier" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - MPEG location lookup table" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE - Ownership frame" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - Private frame" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - Play counter" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - Popularimeter" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - Position synchronisation frame" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - Recommended buffer size" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD - Relative volume adjustment" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB - Reverb" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - Synchronized lyric/text" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC - Synchronized tempo codes" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - Album/Movie/Show title" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - BPM (beats per minute)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - Composer" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - Content type" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - Copyright message" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Date" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - Playlist delay" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - Encoded by" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - Lyricist/Text writer" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - File type" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Time" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - Content group description" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - Title/songname/content description" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 - Subtitle/Description refinement" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY - Initial key" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Язык(и)" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Длина" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Тип носителя" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - Original album/movie/show title" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Original filename" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - Original lyricist(s)/text writer(s)" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - Original artist(s)/performer(s)" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - Original release year" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - File owner/licensee" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - Lead performer(s)/Soloist(s)" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - Band/orchestra/accompaniment" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 - Conductor/performer refinement" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - Interpreted, remixed, or otherwise modified by" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - Part of a set" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - Publisher" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - Track number/Position in set" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - Recording dates" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - Internet radio station name" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - Internet radio station owner" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - Size" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC - ISRC (international standard recording code)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - Software/Hardware and settings used for encoding" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - User defined text information" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Year" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - Unique file identifier" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - Terms of use" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT - Unsynchronized lyric/text transcription" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - Commercial information" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - Copyright/Legal information" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - Official audio file webpage" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - Official artist/performer webpage" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - Official audio source webpage" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - Official internet radio station homepage" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - Payment" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - Official publisher webpage" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - User defined URL link" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - Audio seek point index" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 - Equalisation (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - Relative volume adjustment (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - Seek frame" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - Signature frame" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes сборник" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - Encoding time" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - Original release time" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - Recording time" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - Release time" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - Tagging time" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - Involved people list" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - Musician credits list" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Mood" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO - Produced notice" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Порядок сортировки исполнителей альбомов" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - Album sort order" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - порядок композитор рода" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - Performer sort order" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - Title sort order" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - Set subtitle" @@ -396,7 +416,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -406,9 +426,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Готово." @@ -424,7 +444,7 @@ msgid "Request sent..." msgstr "Передано..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Полученные сведения: %1" @@ -440,80 +460,44 @@ msgid "Host not found" msgstr "Сервер не найден" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Год" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Длительность" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Чтение метаданных" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Непризнанный" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Признанный" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "В ожидании" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "Поиск PUID" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "Столкновение PUID" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "Поиск TRM" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "Столкновение TRM" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Поиск файла" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Выбор" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Проверено" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Сохранено" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Удалено" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Отпечатка пальцев" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Ошибка" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Удалён" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Записан" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "Поиск ID" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Чтение метаданных" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz альбом" @@ -554,62 +538,63 @@ msgid "Command" msgstr "Команда" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "Сбой попытки создания требуемого каталога %1\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Файл %1 уже существует\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 - это не каталог\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "Ошибка переименование из %1 в %2\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 уже существует\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 не является файлом\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Новое название каталога слишком отлично\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Создать Каталог" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Переименовать Каталог" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Переименовать файл" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "О&чистить" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Закрыть" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Выполнить " -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Не удалось запустить " @@ -638,20 +623,22 @@ msgstr "Логического отрицания" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Дата" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Все поддерживаемые файлы" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Все файлы (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Дорожка" @@ -659,9 +646,9 @@ msgid "Absolute path to file" msgstr "Абсолютный путь" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Имя файла" @@ -713,11 +700,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Композитор" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Дирижер" @@ -741,7 +728,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Язык" @@ -749,11 +736,11 @@ msgid "Lyricist" msgstr "Автор" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Lyrics" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Медиа" @@ -829,13 +816,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3 Редактор тэгов ID3" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -846,490 +833,507 @@ msgstr "каталог для открытия" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Найти обложки" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "Исполнитель/&Альбом" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Источник" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Источник:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "Замена &URL" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Состязание" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "Картинка URL" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "Помо&щь" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "&Сохранить настройки" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Браузер" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "О&тмена" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "" -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Дорожка" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "&Вперёд" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "&Найти:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Найти предыдущее" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Найти следующее" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "&Отметить обрезанные структуры" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "Кодировка т&екста:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Формат использования &число/количество дорожек" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Номер дорожки &количество цифр:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "&Жанр как текст" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "&Версия, используемая для нового тегов:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "Номер дорожки &количество цифр:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "&Версия, используемая для нового тегов:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "&Имя структур коментэри:" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "Имя структур &картинки:" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "Выборочная &жанры" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "&Показывать только выборочная жанры" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "&Формат тэга" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Теги" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "&Теги" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Сохранить" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "&Сохранять время изменения файлов" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "&Отмечать изменения" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "&Формат имени файла" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Файлы" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Файлы" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Браузер" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "Веб-&браузер:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Элементы контекстного &меню" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 #, fuzzy msgid "&Play on double click" msgstr "&Играть на двойной клик" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Команды пользователя" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "&Команды пользователя" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Прокси" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Прокси:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "&Использовать авторизацию на прокси" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "&Имя пользователя прокси:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "П&ароль прокси:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Сеть" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Сеть" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "&Клавиши быстрого доступа" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Использовать выбранный &шрифт приложения" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "Шрифт &приложения..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "Использовать выбранный &стиль приложения" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Неизвестен" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Использовать встроенные файловые &диалоги" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Внешний вид" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&ОК" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Клавиатурная комбинация '%1' уже назначена для '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Руководство Kid3" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "Из &Буфера Обмена" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Импорт" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Экспорт" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "&Вид" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Кодировка Текста" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Текст" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Описание" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Владелец" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "Почта" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Рейтинг" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Тип Картинки" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Формат Картинки" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Тип MIME" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Счетчик" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Идентификатор" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Корректировка Громкости" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Количество Бит" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Изменить громкость Справа" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Изменить громкость Слева" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Максимальная громкость Справа" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Максимальная громкость Слева" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Формат отметки о времени" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "Тип Содержимого" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Изображения (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Другое" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "Иконка PNG-файла 32x32 точки" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Другая Иконка файла" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Оболочка (Спереди)" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Оболочка (Сзади)" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Лист Брошюры" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Ведущий Исполнитель/Солист" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Исполнитель" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Группа/Оркестр" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Автор текста" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Место записи" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Длительность записи" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Длительность исполнения" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Movie/video screen capture" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "A bright coloured fish" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "Иллюстрация" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Логотип группы/испольнителя" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Логотип студии записи" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Измерять в MPEG-кадрах" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "Измерять в милисекундах" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Запись текста" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Movement/part name" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "События" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Аккорд" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/pop up" @@ -1337,165 +1341,165 @@ msgid "Export" msgstr "Экспорт" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Формат:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Заголовок:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Дорожки:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Сноска:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "В фа&йл" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "В &Буфера Обмена" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Источник:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Тег 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Тег 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Ошибка файла" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Ошибка при записи файла:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Фильтр" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Фильтр:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&Выражение:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "&Применить" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "Из файл или &буфер обмена..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "Из т&ег..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&Из сервер:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz \"отпечатка пальцев\"" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "М&есто назначения:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Тег 1 и тег 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Отменить" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Проверить максимальную допустимую &разницу во времени (секунды):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Состязание с:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "&Длительность" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "&Дорожка" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "&Название" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "&Сервер:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Число Название/Исполнитель - Альбом" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Состояние" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Не удалось найти" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Никакой отобранный результат" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Пронумеровать дорожки по порядку" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "&Число начала:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "М&есто назначения:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "&Общее Количество дорожек:" @@ -1511,7 +1515,7 @@ msgid "Same as &directory name" msgstr "Совпадает с именем &каталога" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Формат:" @@ -1567,8 +1571,8 @@ msgid "Write &info using" msgstr "Записать &информацию используя" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Переименовать Каталог" @@ -1580,29 +1584,31 @@ msgid "Preview" msgstr "Просмотр" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Создать Каталог" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Из тег 2 и тег 1" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Из тег 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Из тег 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "От:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "На:" @@ -1630,11 +1636,11 @@ msgid "Extraction:" msgstr "Добыча:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Импортировать файл или буфер обмена" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "Из имени фа&йла" @@ -1654,356 +1660,364 @@ msgid "&Move to Trash" msgstr "&Выбросить в корзину" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "&Играть" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "Ф&айлы" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "Имя:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Имя файла из тег 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Имя файла из тег 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Тег 1 из имени файла" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Тег 1 из имени файла" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Тег &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Копировать" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Вставить" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Удалить" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Тег &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Правка" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Добавить" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Удалить" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Фокус" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Из имени файла" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "Закачка" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Основная панель инструментов" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Открыть каталог" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Открыть недавний каталог" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Отменить изменения всех выделенных файлов" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Сохранить измененные файлы" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Завершить приложение" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Выделить все" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Отменить выбор" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Настройка быстрых клавиш" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Настроить инструменты" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Настройка параметров" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "Открыть &каталог..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "&Импорт..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "Импорт из %1..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "&Найти обложки..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Экспорт..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "&Cоздать список песен..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "Применить Формат имени &файла" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "Применить Формат &тэга" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "&Переименовать Каталог..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "&Пронумеровать дорожки по порядку..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "Ф&ильтр..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "Преобразуйте ID3v2.3 в ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "Преобразуйте ID3v2.4 в ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "Показывать &картину" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Предыдущий файл" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "&Следующий файл" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Из имени файла" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Фреймы:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Фокус" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Файл" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Открыть..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "Открыть &недавние" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Сохранить" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "&Отменить" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Импортировать файл или буфер обмена" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "Импорт из %1" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Найти обложки" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Экспорт в файл или Буфера Обмена" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "Создать список M3U" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "В&ыход" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "&Правка" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "Выделить &все" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "Отме&нить выбор" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Предыдущий файл" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Следующий файл" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "&Сервис" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Применить Формат имени файла" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Применить формат тэга" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "Преобразуйте ID3v2.3 в ID3v2.4" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "Преобразуйте ID3v2.4 в ID3v2.3" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Играть" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "&Настройка" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Включить/выключить панель инструментов" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "Отобразить панель &инструментов" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Включить/выключить строку состояния" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "Показать строку &состояния" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Показывать картину" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Настроить Kid3" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "&Настроить Kid3..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "&Руководство \"Kid3\"" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "О Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "&О Kid3" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "О Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "О &Qt" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Открытие каталога..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Сохранение каталога..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2011,86 +2025,87 @@ "Текущий каталог был изменен.\n" "Хотите сохранить его?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Предупреждение" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Предупреждение - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Открыть" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Выход..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Переключение строки состояния..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Создание списка песен..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Импорт" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Настройка - Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "Ошибка переименование:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [фильтровано]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [изменено]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Добавить Фрейм" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Выбрать ID фрейма" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Переименовать файл" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Введите новое имя файла:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "Вы действительно хотите переместить %1 элементов в корзину?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Переместить в корзину?" msgstr[1] "Вы действительно хотите переместить %1 элементов в корзину?" msgstr[2] "Вы действительно хотите переместить %1 элементов в корзину?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Выбросить в корзину" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "Каталог должен быть пустым.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Не удалось переместить элементы в корзину" @@ -2146,15 +2161,15 @@ msgid "To" msgstr "к" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Добавить" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "&Удалить" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Новая" @@ -2170,7 +2185,7 @@ msgid "View Picture" msgstr "Просмотр Картинки" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2204,27 +2219,35 @@ msgid "&Clear List" msgstr "&Очистить список" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Очистить" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Сброс" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Добавить..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "Переместить вв&ерх" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "Переместить &вниз" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "&Изменить..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Добавить элемент" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Изменить элемент" diff -Nru kid3-2.0.1/po/sr@ijekavianlatin.po kid3-2.1/po/sr@ijekavianlatin.po --- kid3-2.0.1/po/sr@ijekavianlatin.po 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/po/sr@ijekavianlatin.po 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,2267 @@ +# Kid3 Serbian Ijekavian Latin Translation. +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. Free Software Foundation, Inc. +# +# Urs Fleisch , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# Mladen Pejaković , 2012. +msgid "" +msgstr "" +"Project-Id-Version: Kid3 2.1\n" +"Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?group_id=70849&atid=529221\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" +"PO-Revision-Date: 2011-04-26 23:41+0200\n" +"Last-Translator: Mladen Pejaković \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Language: sr\n" +"X-Source-Language: C\n" + +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Radnja" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Prečica" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 +msgid "AENC - Audio encryption" +msgstr "AENC - audio šifrovanje" + +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 +msgid "APIC - Attached picture" +msgstr "APIC - priložena slika" + +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 +msgid "COMM - Comments" +msgstr "COMM - komentari" + +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 +msgid "COMR - Commercial" +msgstr "COMR - komercijalno" + +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 +msgid "ENCR - Encryption method registration" +msgstr "ENCR - registracija metode šifrovanja" + +#: core/formats/mp3file.cpp:1252 +msgid "EQUA - Equalization" +msgstr "EQUA - jednačenje" + +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 +msgid "ETCO - Event timing codes" +msgstr "" + +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 +msgid "GEOB - General encapsulated object" +msgstr "GEOB - opšti ugniježđeni objekat" + +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 +msgid "GRID - Group identification registration" +msgstr "GRID - registracija identifikacije grupe" + +#: core/formats/mp3file.cpp:1256 +msgid "IPLS - Involved people list" +msgstr "IPLS - spisak uključenih ljudi" + +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 +msgid "LINK - Linked information" +msgstr "LINK - povezana informacija" + +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 +msgid "MCDI - Music CD identifier" +msgstr "MCDI - identifikator muzičkog CD-a" + +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 +msgid "MLLT - MPEG location lookup table" +msgstr "" + +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 +msgid "OWNE - Ownership frame" +msgstr "OWNE - vlasnički okvir" + +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 +msgid "PRIV - Private frame" +msgstr "PRIV - privatni okvir" + +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 +msgid "PCNT - Play counter" +msgstr "PCNT - brojač reprodukcije" + +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 +msgid "POPM - Popularimeter" +msgstr "POPM - mjerač popularnosti" + +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 +msgid "POSS - Position synchronisation frame" +msgstr "POSS - kadar sinhronizacije pozicije" + +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 +msgid "RBUF - Recommended buffer size" +msgstr "RBUF - preporučena veličina bafera" + +#: core/formats/mp3file.cpp:1267 +msgid "RVAD - Relative volume adjustment" +msgstr "RVAD - podešavanje relativne jačine zvuka" + +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 +msgid "RVRB - Reverb" +msgstr "RVRB - reverberacija" + +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 +msgid "SYLT - Synchronized lyric/text" +msgstr "" + +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 +msgid "SYTC - Synchronized tempo codes" +msgstr "" + +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 +msgid "TALB - Album/Movie/Show title" +msgstr "TALB - naslov albuma/filma/emisije" + +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 +msgid "TBPM - BPM (beats per minute)" +msgstr "TBPM - BPM (otkucaja u minuti)" + +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 +msgid "TCOM - Composer" +msgstr "TCOM - kompozitor" + +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 +msgid "TCON - Content type" +msgstr "TCON - tip sadržaja" + +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 +msgid "TCOP - Copyright message" +msgstr "TCOP - poruka autorskog prava" + +#: core/formats/mp3file.cpp:1278 +msgid "TDAT - Date" +msgstr "TDAT - datum" + +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 +msgid "TDLY - Playlist delay" +msgstr "TDLY - kašnjenje liste numera" + +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 +msgid "TENC - Encoded by" +msgstr "TENC - koder" + +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 +msgid "TEXT - Lyricist/Text writer" +msgstr "TEXT - pjesnik/tekstopisac" + +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 +msgid "TFLT - File type" +msgstr "TFLT - tip fajla" + +#: core/formats/mp3file.cpp:1289 +msgid "TIME - Time" +msgstr "TIME - vrijeme" + +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 +msgid "TIT1 - Content group description" +msgstr "TIT1 - opis grupe sadržaja" + +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 +msgid "TIT2 - Title/songname/content description" +msgstr "TIT2 - naslov/ime pjesme/opis sadržaja" + +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 +msgid "TIT3 - Subtitle/Description refinement" +msgstr "" + +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 +msgid "TKEY - Initial key" +msgstr "TKEY - početni ključ" + +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 +msgid "TLAN - Language(s)" +msgstr "TLAN - jezik (jezici)" + +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 +msgid "TLEN - Length" +msgstr "TLEN - trajanje" + +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 +msgid "TMED - Media type" +msgstr "TMED - tip medija" + +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 +msgid "TOAL - Original album/movie/show title" +msgstr "TOAL - izvorni naslov albuma/filma/emisije" + +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 +msgid "TOFN - Original filename" +msgstr "TOFN - izvorno ime" + +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 +msgid "TOLY - Original lyricist(s)/text writer(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 +msgid "TOPE - Original artist(s)/performer(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1303 +msgid "TORY - Original release year" +msgstr "TORY - izvorna godina izdavanja" + +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 +msgid "TOWN - File owner/licensee" +msgstr "" + +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 +msgid "TPE1 - Lead performer(s)/Soloist(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 +msgid "TPE2 - Band/orchestra/accompaniment" +msgstr "" + +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 +msgid "TPE3 - Conductor/performer refinement" +msgstr "" + +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 +msgid "TPE4 - Interpreted, remixed, or otherwise modified by" +msgstr "" + +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 +msgid "TPOS - Part of a set" +msgstr "" + +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 +msgid "TPUB - Publisher" +msgstr "TPUB - izdavač" + +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 +msgid "TRCK - Track number/Position in set" +msgstr "" + +#: core/formats/mp3file.cpp:1313 +msgid "TRDA - Recording dates" +msgstr "TRDA - datumi snimanja" + +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 +msgid "TRSN - Internet radio station name" +msgstr "TRSN - ime internet radio stanice" + +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 +msgid "TRSO - Internet radio station owner" +msgstr "TRSO - vlasnik internet radio stanice" + +#: core/formats/mp3file.cpp:1316 +msgid "TSIZ - Size" +msgstr "TSIZ - veličina" + +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 +msgid "TSRC - ISRC (international standard recording code)" +msgstr "TSRC - ISRC (međunarodni standardni kôd snimanja)" + +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 +msgid "TSSE - Software/Hardware and settings used for encoding" +msgstr "" + +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 +msgid "TXXX - User defined text information" +msgstr "TXXX - korisnički definisana tekstualna informacija" + +#: core/formats/mp3file.cpp:1324 +msgid "TYER - Year" +msgstr "TYER - godina" + +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 +msgid "UFID - Unique file identifier" +msgstr "UFID - jedinstveni identifikator fajla" + +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 +msgid "USER - Terms of use" +msgstr "USER - uslovi korišćenja" + +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 +msgid "USLT - Unsynchronized lyric/text transcription" +msgstr "" + +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 +msgid "WCOM - Commercial information" +msgstr "WCOM - podaci o komercijalizovanju" + +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 +msgid "WCOP - Copyright/Legal information" +msgstr "WCOP - autorsko pravo/pravne informacije" + +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 +msgid "WOAF - Official audio file webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 +msgid "WOAR - Official artist/performer webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 +msgid "WOAS - Official audio source webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 +msgid "WORS - Official internet radio station homepage" +msgstr "" + +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 +msgid "WPAY - Payment" +msgstr "WPAY - plaćanje" + +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 +msgid "WPUB - Official publisher webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 +msgid "WXXX - User defined URL link" +msgstr "WXXX - korisnički definisana URL veza" + +#: core/formats/taglibfile.cpp:1669 +msgid "ASPI - Audio seek point index" +msgstr "" + +#: core/formats/taglibfile.cpp:1673 +msgid "EQU2 - Equalisation (2)" +msgstr "EQU2 - jednačenje (2)" + +#: core/formats/taglibfile.cpp:1686 +msgid "RVA2 - Relative volume adjustment (2)" +msgstr "RVA2 - podešavanje relativne jačine zvuka (2)" + +#: core/formats/taglibfile.cpp:1688 +msgid "SEEK - Seek frame" +msgstr "SEEK - kadar traženja" + +#: core/formats/taglibfile.cpp:1689 +msgid "SIGN - Signature frame" +msgstr "SIGN - kadar potpisa" + +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "" + +#: core/formats/taglibfile.cpp:1698 +msgid "TDEN - Encoding time" +msgstr "TDEN - vrijeme kodiranja" + +#: core/formats/taglibfile.cpp:1700 +msgid "TDOR - Original release time" +msgstr "TDOR - vrijeme izdavanja originala" + +#: core/formats/taglibfile.cpp:1701 +msgid "TDRC - Recording time" +msgstr "TDRC - vrijeme snimanja" + +#: core/formats/taglibfile.cpp:1702 +msgid "TDRL - Release time" +msgstr "TDRL - vrijeme izdavanja" + +#: core/formats/taglibfile.cpp:1703 +msgid "TDTG - Tagging time" +msgstr "TDTG - vrijeme označavanja" + +#: core/formats/taglibfile.cpp:1707 +msgid "TIPL - Involved people list" +msgstr "TIPL - spisak uključenih ljudi" + +#: core/formats/taglibfile.cpp:1714 +msgid "TMCL - Musician credits list" +msgstr "" + +#: core/formats/taglibfile.cpp:1716 +msgid "TMOO - Mood" +msgstr "TMOO - raspoloženje" + +#: core/formats/taglibfile.cpp:1727 +msgid "TPRO - Produced notice" +msgstr "" + +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - redoslijed sortiranja autora albuma" + +#: core/formats/taglibfile.cpp:1733 +msgid "TSOA - Album sort order" +msgstr "TSOA - redoslijed sortiranja albuma" + +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - redoslijed sortiranja kompozitora" + +#: core/formats/taglibfile.cpp:1735 +msgid "TSOP - Performer sort order" +msgstr "TSOP - redoslijed sortiranja izvođača" + +#: core/formats/taglibfile.cpp:1736 +msgid "TSOT - Title sort order" +msgstr "TSOT - redoslijed sortiranja naslova" + +#: core/formats/taglibfile.cpp:1739 +msgid "TSST - Set subtitle" +msgstr "TSST - postavi podnaslov" + +#: core/import/amazonimporter.cpp:59 +msgid "Amazon" +msgstr "Amazon" + +#: core/import/discogsimporter.cpp:61 +msgid "Discogs" +msgstr "Diskogs" + +#: core/import/freedbimporter.cpp:60 +msgid "gnudb.org" +msgstr "gnudb.org" + +#: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 +#: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 +msgid "Ready." +msgstr "Spreman." + +#: core/import/httpclient.cpp:75 +msgid "Connecting..." +msgstr "Povezivanje..." + +#: core/import/httpclient.cpp:78 +msgid "Host found..." +msgstr "Domaćin nađen..." + +#: core/import/httpclient.cpp:81 +msgid "Request sent..." +msgstr "Zahtjev poslat..." + +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 +msgid "Data received: %1" +msgstr "Podaci primljeni: %1" + +#: core/import/httpclient.cpp:117 +msgid "Socket error: " +msgstr "Greška soketa: " + +#: core/import/httpclient.cpp:120 +msgid "Connection refused" +msgstr "Veza odbijena" + +#: core/import/httpclient.cpp:123 +msgid "Host not found" +msgstr "Domaćin nije nađen" + +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 +msgid "Year" +msgstr "Godina" + +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 +#: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 +msgid "Length" +msgstr "Trajanje" + +#: core/import/musicbrainzclient.cpp:250 +msgid "Unrecognized" +msgstr "Nije prepoznato" + +#: core/import/musicbrainzclient.cpp:262 +msgid "Recognized" +msgstr "Prepoznato" + +#: core/import/musicbrainzclient.cpp:265 +msgid "User Selection" +msgstr "Korisnikov odabir" + +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Otisak prsta" + +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 +msgid "Error" +msgstr "Greška" + +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ID pretraga" + +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Pretraga metapodataka" + +#: core/import/musicbrainzreleaseimporter.cpp:60 +msgid "MusicBrainz Release" +msgstr "MjuzikBrejnz izdanje" + +#: core/import/tracktypeimporter.cpp:59 +msgid "TrackType.org" +msgstr "TrekTajp.org" + +#: core/model/commandformatreplacer.cpp:140 +msgid "Filenames" +msgstr "Imena fajlova" + +#: core/model/commandformatreplacer.cpp:148 +msgid "URLs" +msgstr "URL-ovi" + +#: core/model/commandformatreplacer.cpp:152 +msgid "Directory name" +msgstr "Ime direktorijuma" + +#: core/model/commandformatreplacer.cpp:160 +#: gui/dialogs/browsecoverartdialog.cpp:58 +msgid "Encode as URL" +msgstr "Kodiraj kao URL" + +#: core/model/commandstablemodel.cpp:172 +msgid "Confirm" +msgstr "Potvrdi" + +#: core/model/commandstablemodel.cpp:174 +msgid "Output" +msgstr "Izlaz" + +#: core/model/commandstablemodel.cpp:176 core/model/frametablemodel.cpp:190 +msgid "Name" +msgstr "Ime" + +#: core/model/commandstablemodel.cpp:178 +msgid "Command" +msgstr "Naredba" + +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 +msgid "Create directory %1 failed\n" +msgstr "Pravljenje direktorijuma %1 nije uspjelo\n" + +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 +msgid "File %1 already exists\n" +msgstr "Fajl %1 već postoji\n" + +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 +msgid "%1 is not a directory\n" +msgstr "%1 nije direktorijum\n" + +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 +msgid "Rename %1 to %2 failed\n" +msgstr "Preimenovanje %1 u %2 nije uspjelo\n" + +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 +msgid "%1 already exists\n" +msgstr "%1 već postoji\n" + +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 +msgid "%1 is not a file\n" +msgstr "%1 nije fajl\n" + +#: core/model/dirrenamer.cpp:390 +msgid "New directory name is too different\n" +msgstr "Novo ime direktorijuma je previše različito\n" + +#: core/model/dirrenamer.cpp:440 +msgid "Create directory" +msgstr "Napravi direktorijum" + +#: core/model/dirrenamer.cpp:441 +msgid "Rename directory" +msgstr "Preimenuj direktorijum" + +#: core/model/dirrenamer.cpp:442 +msgid "Rename file" +msgstr "Preimenuj fajl" + +#: core/model/externalprocess.cpp:54 +msgid "C&lear" +msgstr "O&čisti" + +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 +#: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 +msgid "&Close" +msgstr "&Zatvori" + +#: core/model/externalprocess.cpp:116 +msgid "Execute " +msgstr "Izvrši " + +#: core/model/externalprocess.cpp:152 +msgid "Could not execute " +msgstr "Ne mogu da izvršim " + +#: core/model/filefilter.cpp:112 +msgid "True if strings are equal" +msgstr "Tačno ako su nizovi jednaki" + +#: core/model/filefilter.cpp:116 +msgid "True if string contains substring" +msgstr "Tačno ako niz sadrži podniz" + +#: core/model/filefilter.cpp:120 +msgid "True if string matches regexp" +msgstr "Tačno ako se niz poklapa sa regizom" + +#: core/model/filefilter.cpp:124 +msgid "Logical AND" +msgstr "Logičko I" + +#: core/model/filefilter.cpp:128 +msgid "Logical OR" +msgstr "Logičko ILI" + +#: core/model/filefilter.cpp:132 +msgid "Logical negation" +msgstr "Logička negacija" + +#: core/model/frametablemodel.cpp:190 gui/dialogs/editframefieldsdialog.cpp:659 +msgid "Data" +msgstr "Podaci" + +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 +msgid "All Supported Files" +msgstr "Svi podržani fajlovi" + +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "All Files (*)" +msgstr "Svi fajlovi (*)" + +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 +msgid "Track" +msgstr "Numera" + +#: core/model/trackdatamodel.cpp:197 core/tags/trackdata.cpp:183 +msgid "Absolute path to file" +msgstr "Apsolutna putanja do fajla" + +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 +msgid "Filename" +msgstr "Ime fajla" + +#: core/model/trackdatamodel.cpp:201 +msgid "Duration" +msgstr "Trajanje" + +#: core/tags/frame.cpp:67 +msgid "Title" +msgstr "Naslov" + +#: core/tags/frame.cpp:68 +msgid "Artist" +msgstr "Izvođač" + +#: core/tags/frame.cpp:69 +msgid "Album" +msgstr "Album" + +#: core/tags/frame.cpp:70 +msgid "Comment" +msgstr "Komentar" + +#: core/tags/frame.cpp:71 +msgid "Date" +msgstr "Godina" + +#: core/tags/frame.cpp:72 gui/widgets/frametable.cpp:60 +msgid "Track Number" +msgstr "Broj numere" + +#: core/tags/frame.cpp:73 +msgid "Genre" +msgstr "Žanr" + +#: core/tags/frame.cpp:75 +msgid "Album Artist" +msgstr "Izvođač albuma" + +#: core/tags/frame.cpp:76 +msgid "Arranger" +msgstr "Aranžer" + +#: core/tags/frame.cpp:77 +msgid "Author" +msgstr "Autor" + +#: core/tags/frame.cpp:78 +msgid "BPM" +msgstr "BPM" + +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 +msgid "Composer" +msgstr "Kompozitor" + +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 +msgid "Conductor" +msgstr "Dirigent" + +#: core/tags/frame.cpp:81 +msgid "Copyright" +msgstr "Autorsko pravo" + +#: core/tags/frame.cpp:82 +msgid "Disc Number" +msgstr "Broj diska" + +#: core/tags/frame.cpp:83 +msgid "Encoded-by" +msgstr "Koder" + +#: core/tags/frame.cpp:84 +msgid "Grouping" +msgstr "Grupisanje" + +#: core/tags/frame.cpp:85 +msgid "ISRC" +msgstr "ISRC" + +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 +msgid "Language" +msgstr "Jezik" + +#: core/tags/frame.cpp:87 +msgid "Lyricist" +msgstr "Tekstopisac" + +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 +msgid "Lyrics" +msgstr "Tekst" + +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 +msgid "Media" +msgstr "Medija" + +#: core/tags/frame.cpp:90 +msgid "Original Album" +msgstr "Izvorni album" + +#: core/tags/frame.cpp:91 +msgid "Original Artist" +msgstr "Izvorni izvođač" + +#: core/tags/frame.cpp:92 +msgid "Original Date" +msgstr "Izvorni datum" + +#: core/tags/frame.cpp:93 +msgid "Part" +msgstr "Dio" + +#: core/tags/frame.cpp:94 +msgid "Performer" +msgstr "Izvođač" + +#: core/tags/frame.cpp:95 +msgid "Picture" +msgstr "Slika" + +#: core/tags/frame.cpp:96 +msgid "Publisher" +msgstr "Izdavač" + +#: core/tags/frame.cpp:97 +msgid "Remixer" +msgstr "Remikser" + +#: core/tags/frame.cpp:98 +msgid "Subtitle" +msgstr "Podnaslov" + +#: core/tags/frame.cpp:99 +msgid "Website" +msgstr "Vebsajt" + +#: core/tags/trackdata.cpp:199 +msgid "Number of tracks" +msgstr "Broj numera" + +#: core/tags/trackdata.cpp:203 +msgid "Extension" +msgstr "Ekstenzija" + +#: core/tags/trackdata.cpp:215 +msgid "Bitrate" +msgstr "Bitski protok" + +#: core/tags/trackdata.cpp:219 +msgid "VBR" +msgstr "VBR" + +#: core/tags/trackdata.cpp:223 +msgid "Samplerate" +msgstr "Uzorkovanje" + +#: core/tags/trackdata.cpp:229 +msgid "Channels" +msgstr "Kanala" + +#: core/tags/trackdata.cpp:233 +msgid "Codec" +msgstr "Kodek" + +#: gui/app/main.cpp:40 +msgid "Kid3 ID3 Tagger" +msgstr "Kid3 uređivač ID3 oznaka" + +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 +msgid "Kid3" +msgstr "Kid3" + +#: gui/app/main.cpp:56 +msgid "(c) 2003-" +msgstr "© 2003-" + +#: gui/app/main.cpp:58 +msgid "Urs Fleisch" +msgstr "Urs Flajš" + +#: gui/app/main.cpp:62 +msgid "directory to open" +msgstr "direktorijum za otvaranje" + +#: gui/dialogs/browsecoverartdialog.cpp:75 +#: gui/dialogs/browsecoverartdialog.cpp:264 +msgid "Browse Cover Art" +msgstr "Pretraga omota albuma" + +#: gui/dialogs/browsecoverartdialog.cpp:86 +msgid "&Artist/Album" +msgstr "I&zvođač/album" + +#: gui/dialogs/browsecoverartdialog.cpp:100 +msgid "&Source" +msgstr "&Izvor" + +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 +msgid "Source:" +msgstr "Izvor:" + +#: gui/dialogs/browsecoverartdialog.cpp:103 +msgid "URL:" +msgstr "URL:" + +#: gui/dialogs/browsecoverartdialog.cpp:116 +msgid "&URL extraction" +msgstr "Izvlačenje &URL-a" + +#: gui/dialogs/browsecoverartdialog.cpp:120 +msgid "Match" +msgstr "Poklopi" + +#: gui/dialogs/browsecoverartdialog.cpp:120 +msgid "Picture URL" +msgstr "URL slike" + +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 +msgid "&Help" +msgstr "Po&moć" + +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 gui/dialogs/numbertracksdialog.cpp:110 +#: gui/dialogs/playlistdialog.cpp:205 gui/dialogs/rendirdialog.cpp:76 +#: gui/dialogs/serverimportdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:71 +#: gui/dialogs/textimportdialog.cpp:81 +msgid "&Save Settings" +msgstr "&Sačuvaj podešavanja" + +#: gui/dialogs/browsecoverartdialog.cpp:146 +msgid "&Browse" +msgstr "&Potraži" + +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 gui/dialogs/editframefieldsdialog.cpp:961 +#: gui/dialogs/importdialog.cpp:231 gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 +msgid "&Cancel" +msgstr "&Odustani" + +#: gui/dialogs/browsecoverartdialog.cpp:178 +msgid "Click Browse to start" +msgstr "Kliknite na „Potraži“ da biste pokrenuli" + +#: gui/dialogs/browsecoverartdialog.cpp:184 +msgid "Then drag the picture from the browser to Kid3." +msgstr "i onda prevucite sliku sa pregledača u Kid3." + +#: gui/dialogs/browserdialog.cpp:76 +msgid "&Back" +msgstr "&Nazad" + +#: gui/dialogs/browserdialog.cpp:81 +msgid "&Forward" +msgstr "Na&prijed" + +#: gui/dialogs/browserdialog.cpp:86 +msgid "&Find:" +msgstr "&Nađi:" + +#: gui/dialogs/browserdialog.cpp:100 +msgid "Find Previous" +msgstr "Nađi prethodno" + +#: gui/dialogs/browserdialog.cpp:110 +msgid "Find Next" +msgstr "Nađi sljedeće" + +#: gui/dialogs/configdialog.cpp:114 +msgid "ID3v1" +msgstr "ID3v1" + +#: gui/dialogs/configdialog.cpp:118 +msgid "&Mark truncated fields" +msgstr "Označi odsječena &polja" + +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 +msgid "Text &encoding:" +msgstr "Kodiranje &teksta:" + +#: gui/dialogs/configdialog.cpp:196 +msgid "ID3v2" +msgstr "ID3v2" + +#: gui/dialogs/configdialog.cpp:200 +msgid "Use &track/total number of tracks format" +msgstr "Koristi format &numera/ukupno numera" + +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Broj &cifara numere:" + +#: gui/dialogs/configdialog.cpp:206 +msgid "&Genre as text instead of numeric string" +msgstr "&Žanr kao tekst umjesto brojnog niza" + +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 +msgid "ISO-8859-1" +msgstr "ISO-8859-1" + +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 +msgid "UTF16" +msgstr "UTF-16" + +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 +msgid "UTF8" +msgstr "UTF-8" + +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "I&zdanje za nove oznake:" + +#: gui/dialogs/configdialog.cpp:221 +msgid "ID3v2.3.0 (id3lib)" +msgstr "ID3v2.3.0 (id3lib)" + +#: gui/dialogs/configdialog.cpp:222 +msgid "ID3v2.4.0 (TagLib)" +msgstr "ID3v2.4.0 (TagLib)" + +#: gui/dialogs/configdialog.cpp:233 +msgid "Ogg/Vorbis" +msgstr "Ogg/Vorbis" + +#: gui/dialogs/configdialog.cpp:234 +msgid "Comment field &name:" +msgstr "Ime polja ko&mentara:" + +#: gui/dialogs/configdialog.cpp:236 +msgid "&Picture field name:" +msgstr "Ime polja &slike:" + +#: gui/dialogs/configdialog.cpp:259 +msgid "Custom &Genres" +msgstr "Pose&bni žanrovi" + +#: gui/dialogs/configdialog.cpp:260 +msgid "&Show only custom genres" +msgstr "Prik&aži samo posebne žanrove" + +#: gui/dialogs/configdialog.cpp:269 +msgid "&Tag Format" +msgstr "&Format oznake" + +#: gui/dialogs/configdialog.cpp:274 +msgid "Tags" +msgstr "Oznake" + +#: gui/dialogs/configdialog.cpp:276 +msgid "&Tags" +msgstr "&Oznake" + +#: gui/dialogs/configdialog.cpp:285 +msgid "Save" +msgstr "Sačuvaj" + +#: gui/dialogs/configdialog.cpp:286 +msgid "&Preserve file timestamp" +msgstr "Očuvaj &vremensku oznaku fajla" + +#: gui/dialogs/configdialog.cpp:287 +msgid "&Mark changes" +msgstr "O&znači izmjene" + +#: gui/dialogs/configdialog.cpp:294 +msgid "&Filename Format" +msgstr "Format imena &fajla" + +#: gui/dialogs/configdialog.cpp:298 +msgid "Files" +msgstr "Fajlovi" + +#: gui/dialogs/configdialog.cpp:300 +msgid "&Files" +msgstr "&Fajlovi" + +#: gui/dialogs/configdialog.cpp:309 +msgid "Browser" +msgstr "Pregledač" + +#: gui/dialogs/configdialog.cpp:310 +msgid "Web &browser:" +msgstr "Veb &pregledač" + +#: gui/dialogs/configdialog.cpp:320 +msgid "Context &Menu Commands" +msgstr "Naredbe kontekstnog me&nija" + +#: gui/dialogs/configdialog.cpp:322 +msgid "&Play on double click" +msgstr "&Reprodukuj pri dvokliku" + +#: gui/dialogs/configdialog.cpp:335 +msgid "User Actions" +msgstr "Radnje korisnika" + +#: gui/dialogs/configdialog.cpp:337 +msgid "&User Actions" +msgstr "Radnje &korisnika" + +#: gui/dialogs/configdialog.cpp:346 +msgid "Proxy" +msgstr "Proksi" + +#: gui/dialogs/configdialog.cpp:347 +msgid "&Proxy:" +msgstr "&Proksi:" + +#: gui/dialogs/configdialog.cpp:349 +msgid "&Use authentication with proxy" +msgstr "Koristi &autentifikaciju za proksi" + +#: gui/dialogs/configdialog.cpp:350 +msgid "Proxy user &name:" +msgstr "Korisničko &ime za proksi:" + +#: gui/dialogs/configdialog.cpp:353 +msgid "Proxy pass&word:" +msgstr "Lozinka za proksi:" + +#: gui/dialogs/configdialog.cpp:377 +msgid "Network" +msgstr "Mreža" + +#: gui/dialogs/configdialog.cpp:379 +msgid "&Network" +msgstr "&Mreža" + +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "Prečice &tastature" + +#: gui/dialogs/configdialog.cpp:407 +msgid "Use custom app&lication font" +msgstr "Koristi pose&bni font za aplikaciju" + +#: gui/dialogs/configdialog.cpp:408 +msgid "A&pplication Font..." +msgstr "&Font aplikacije..." + +#: gui/dialogs/configdialog.cpp:409 +msgid "Use custom application &style" +msgstr "Koristi posebni &stil za aplikaciju" + +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 +msgid "Unknown" +msgstr "Nepoznato" + +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Koristi sistemske &dijaloge fajlova" + +#: gui/dialogs/configdialog.cpp:430 +msgid "&Appearance" +msgstr "&Izgled" + +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 gui/dialogs/numbertracksdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:213 +msgid "&OK" +msgstr "&U redu" + +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Prečica tastature '%1' je već dodijeljena '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 +msgid "Kid3 Handbook" +msgstr "Kid3 priručnik" + +#: gui/dialogs/editframefieldsdialog.cpp:523 gui/dialogs/textimportdialog.cpp:90 +msgid "From Clip&board" +msgstr "Iz klip&borda" + +#: gui/dialogs/editframefieldsdialog.cpp:524 +msgid "&Import" +msgstr "U&vezi" + +#: gui/dialogs/editframefieldsdialog.cpp:525 +msgid "&Export" +msgstr "Izv&ezi" + +#: gui/dialogs/editframefieldsdialog.cpp:526 +msgid "&View" +msgstr "&Prikaz" + +#: gui/dialogs/editframefieldsdialog.cpp:656 +msgid "Text Encoding" +msgstr "Kodiranje teksta" + +#: gui/dialogs/editframefieldsdialog.cpp:657 +msgid "Text" +msgstr "Tekst" + +#: gui/dialogs/editframefieldsdialog.cpp:658 +msgid "URL" +msgstr "URL" + +#: gui/dialogs/editframefieldsdialog.cpp:660 +msgid "Description" +msgstr "Opis" + +#: gui/dialogs/editframefieldsdialog.cpp:661 +msgid "Owner" +msgstr "Vlasnik" + +#: gui/dialogs/editframefieldsdialog.cpp:662 +msgid "Email" +msgstr "E-adresa" + +#: gui/dialogs/editframefieldsdialog.cpp:663 +msgid "Rating" +msgstr "Rejting" + +#: gui/dialogs/editframefieldsdialog.cpp:666 +msgid "Picture Type" +msgstr "Tip slike" + +#: gui/dialogs/editframefieldsdialog.cpp:667 +msgid "Image format" +msgstr "Format slike" + +#: gui/dialogs/editframefieldsdialog.cpp:668 +msgid "Mimetype" +msgstr "Mime" + +#: gui/dialogs/editframefieldsdialog.cpp:669 +msgid "Counter" +msgstr "Brojač" + +#: gui/dialogs/editframefieldsdialog.cpp:670 +msgid "Identifier" +msgstr "Identifikator" + +#: gui/dialogs/editframefieldsdialog.cpp:671 +msgid "Volume Adjustment" +msgstr "Podešavanje jačine" + +#: gui/dialogs/editframefieldsdialog.cpp:672 +msgid "Number of Bits" +msgstr "Broj bita" + +#: gui/dialogs/editframefieldsdialog.cpp:673 +msgid "Volume Change Right" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:674 +msgid "Volume Change Left" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:675 +msgid "Peak Volume Right" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:676 +msgid "Peak Volume Left" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:677 +msgid "Timestamp Format" +msgstr "Format vremenske oznake" + +#: gui/dialogs/editframefieldsdialog.cpp:678 +msgid "Content Type" +msgstr "Tip sadržaja" + +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "slike (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 +msgid "UTF16BE" +msgstr "UTF-16BE" + +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 +msgid "Other" +msgstr "Ostalo" + +#: gui/dialogs/editframefieldsdialog.cpp:873 +msgid "32x32 pixels PNG file icon" +msgstr "PNG ikona fajla 32x32 piksela" + +#: gui/dialogs/editframefieldsdialog.cpp:874 +msgid "Other file icon" +msgstr "Ostale ikone fajla" + +#: gui/dialogs/editframefieldsdialog.cpp:875 +msgid "Cover (front)" +msgstr "Omot (prednji)" + +#: gui/dialogs/editframefieldsdialog.cpp:876 +msgid "Cover (back)" +msgstr "Omot (zadnji)" + +#: gui/dialogs/editframefieldsdialog.cpp:877 +msgid "Leaflet page" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:879 +msgid "Lead artist/lead performer/soloist" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:880 +msgid "Artist/performer" +msgstr "Umjetnik/izvođač" + +#: gui/dialogs/editframefieldsdialog.cpp:882 +msgid "Band/Orchestra" +msgstr "Bend/orkestar" + +#: gui/dialogs/editframefieldsdialog.cpp:884 +msgid "Lyricist/text writer" +msgstr "Pjesnik/tekstopisac" + +#: gui/dialogs/editframefieldsdialog.cpp:885 +msgid "Recording Location" +msgstr "Mjesto snimanja" + +#: gui/dialogs/editframefieldsdialog.cpp:886 +msgid "During recording" +msgstr "Tokom snimanja" + +#: gui/dialogs/editframefieldsdialog.cpp:887 +msgid "During performance" +msgstr "Tokom izvođenja" + +#: gui/dialogs/editframefieldsdialog.cpp:888 +msgid "Movie/video screen capture" +msgstr "Snimak ekrana filma/videa" + +#: gui/dialogs/editframefieldsdialog.cpp:889 +msgid "A bright coloured fish" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:890 +msgid "Illustration" +msgstr "Ilustracija" + +#: gui/dialogs/editframefieldsdialog.cpp:891 +msgid "Band/artist logotype" +msgstr "Logotip benda/izvođača" + +#: gui/dialogs/editframefieldsdialog.cpp:892 +msgid "Publisher/Studio logotype" +msgstr "Logotip izdavača/studija" + +#: gui/dialogs/editframefieldsdialog.cpp:901 +msgid "MPEG frames as unit" +msgstr "Broj MPEG kadrova kao jedinica" + +#: gui/dialogs/editframefieldsdialog.cpp:902 +msgid "Milliseconds as unit" +msgstr "Milisekunde kao jedinica" + +#: gui/dialogs/editframefieldsdialog.cpp:912 +msgid "Text transcription" +msgstr "Transkripcija teksta" + +#: gui/dialogs/editframefieldsdialog.cpp:913 +msgid "Movement/part name" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:914 +msgid "Events" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:915 +msgid "Chord" +msgstr "Akord" + +#: gui/dialogs/editframefieldsdialog.cpp:916 +msgid "Trivia/pop up" +msgstr "" + +#: gui/dialogs/exportdialog.cpp:72 +msgid "Export" +msgstr "Izvezi" + +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 +msgid "Format:" +msgstr "Format:" + +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 +msgid "Header:" +msgstr "Zaglavlje:" + +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 +msgid "Tracks:" +msgstr "Numere:" + +#: gui/dialogs/exportdialog.cpp:92 +msgid "Footer:" +msgstr "Podnožje:" + +#: gui/dialogs/exportdialog.cpp:104 +msgid "To F&ile" +msgstr "U f&ajl" + +#: gui/dialogs/exportdialog.cpp:109 +msgid "To Clip&board" +msgstr "U klip&bord" + +#: gui/dialogs/exportdialog.cpp:118 +msgid "&Source:" +msgstr "&Izvor:" + +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 +msgid "Tag 1" +msgstr "oznaka 1" + +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 +msgid "Tag 2" +msgstr "oznaka 2" + +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 +msgid "File Error" +msgstr "Greška fajla" + +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 +msgid "Error while writing file:\n" +msgstr "Greška prilikom upisa fajla:\n" + +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 +msgid "Filter" +msgstr "Filter" + +#: gui/dialogs/filterdialog.cpp:62 +msgid "&Filter:" +msgstr "&Filter:" + +#: gui/dialogs/filterdialog.cpp:63 +msgid "&Expression:" +msgstr "&Izraz:" + +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 +#: gui/dialogs/tagimportdialog.cpp:76 +msgid "&Apply" +msgstr "&Primijeni" + +#: gui/dialogs/importdialog.cpp:138 +msgid "From F&ile/Clipboard..." +msgstr "Iz &fajla/klipborda..." + +#: gui/dialogs/importdialog.cpp:142 +msgid "From T&ags..." +msgstr "Iz o&znaka..." + +#: gui/dialogs/importdialog.cpp:146 +msgid "&From Server:" +msgstr "S&a servera:" + +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 +msgid "MusicBrainz Fingerprint" +msgstr "MjuzikBrejnz Otisak prsta" + +#: gui/dialogs/importdialog.cpp:162 +msgid "D&estination:" +msgstr "O&dredište:" + +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 +msgid "Tag 1 and Tag 2" +msgstr "oznaka 1 i oznaka 2" + +#: gui/dialogs/importdialog.cpp:179 +msgid "Revert" +msgstr "Vrati" + +#: gui/dialogs/importdialog.cpp:190 +msgid "Check maximum allowable time &difference (sec):" +msgstr "Provjeri najveću dozvoljenu &vremensku razliku (sek):" + +#: gui/dialogs/importdialog.cpp:198 +msgid "Match with:" +msgstr "Poklopi sa:" + +#: gui/dialogs/importdialog.cpp:200 +msgid "&Length" +msgstr "tra&janjem" + +#: gui/dialogs/importdialog.cpp:203 +msgid "T&rack" +msgstr "&numerom" + +#: gui/dialogs/importdialog.cpp:206 +msgid "&Title" +msgstr "nas&lovom" + +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 +msgid "&Server:" +msgstr "&Server:" + +#: gui/dialogs/musicbrainzdialog.cpp:108 +msgid "Track Title/Artist - Album" +msgstr "Numera/izvođač - album" + +#: gui/dialogs/musicbrainzdialog.cpp:109 +msgid "State" +msgstr "Stanje" + +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 +msgid "No result" +msgstr "Nema rezultata" + +#: gui/dialogs/musicbrainzdialog.cpp:332 +msgid "No result selected" +msgstr "Ništa nije izabrano" + +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 +msgid "Number Tracks" +msgstr "Numeriši" + +#: gui/dialogs/numbertracksdialog.cpp:63 +msgid "&Start number:" +msgstr "&Početni broj:" + +#: gui/dialogs/numbertracksdialog.cpp:75 +msgid "&Destination:" +msgstr "&Odredište:" + +#: gui/dialogs/numbertracksdialog.cpp:91 +msgid "&Total number of tracks:" +msgstr "&Ukupno numera:" + +#: gui/dialogs/playlistdialog.cpp:58 +msgid "Create Playlist" +msgstr "Napravi listu numera" + +#: gui/dialogs/playlistdialog.cpp:144 +msgid "Playlist File Name" +msgstr "Ime fajla liste numera" + +#: gui/dialogs/playlistdialog.cpp:145 +msgid "Same as &directory name" +msgstr "Isto kao ime &direktorijuma" + +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 +msgid "&Format:" +msgstr "&Format:" + +#: gui/dialogs/playlistdialog.cpp:156 +msgid "Cr&eate in:" +msgstr "N&apravi u:" + +#: gui/dialogs/playlistdialog.cpp:160 +msgid "Current directory" +msgstr "trenutnom direktorijumu" + +#: gui/dialogs/playlistdialog.cpp:161 +msgid "Every directory" +msgstr "svim direktorijumima" + +#: gui/dialogs/playlistdialog.cpp:162 +msgid "Top-level directory" +msgstr "najvišem direktorijumu" + +#: gui/dialogs/playlistdialog.cpp:163 +msgid "Playlist Content" +msgstr "Sadržaj liste numera" + +#: gui/dialogs/playlistdialog.cpp:164 +msgid "For&mat:" +msgstr "For&mat:" + +#: gui/dialogs/playlistdialog.cpp:167 +msgid "Incl&ude only the selected files" +msgstr "Uključi samo &označene fajlove" + +#: gui/dialogs/playlistdialog.cpp:168 +msgid "Sort by file &name" +msgstr "Sortiraj po &imenu" + +#: gui/dialogs/playlistdialog.cpp:170 +msgid "Sort by &tag field" +msgstr "Sortiraj po &polju oznake" + +#: gui/dialogs/playlistdialog.cpp:184 +msgid "Use &relative path for files in playlist" +msgstr "Koristi &relativnu putanju za fajlove na listi numera" + +#: gui/dialogs/playlistdialog.cpp:186 +msgid "Use full p&ath for files in playlist" +msgstr "Koristi punu put&anju za fajlove na listi numera" + +#: gui/dialogs/playlistdialog.cpp:187 +msgid "Write only &list of files" +msgstr "Upiši samo &spisak fajlova" + +#: gui/dialogs/playlistdialog.cpp:189 +msgid "Write &info using" +msgstr "Upiši &informacije koristeći" + +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 +msgid "Rename Directory" +msgstr "Preimenuj direktorijum" + +#: gui/dialogs/rendirdialog.cpp:67 +msgid "Format" +msgstr "Format" + +#: gui/dialogs/rendirdialog.cpp:72 +msgid "Preview" +msgstr "Pregled" + +#: gui/dialogs/rendirdialog.cpp:107 +msgid "Create Directory" +msgstr "Napravi direktorijum" + +#: gui/dialogs/rendirdialog.cpp:110 +msgid "From Tag 2 and Tag 1" +msgstr "Iz oznake 2 i oznake 1" + +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 +msgid "From Tag 1" +msgstr "Iz oznake 1" + +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 +msgid "From Tag 2" +msgstr "Iz oznake 2" + +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 +msgid "From:" +msgstr "Iz:" + +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 +msgid "To:" +msgstr "U:" + +#: gui/dialogs/serverimportdialog.cpp:63 +msgid "&Find" +msgstr "&Nađi" + +#: gui/dialogs/serverimportdialog.cpp:83 +msgid "C&GI Path:" +msgstr "C&GI putanja:" + +#: gui/dialogs/serverimportdialog.cpp:94 +msgid "&Additional Tags" +msgstr "Doda&tne oznake" + +#: gui/dialogs/serverimportdialog.cpp:95 +msgid "C&over Art" +msgstr "Omot a&lbuma" + +#: gui/dialogs/tagimportdialog.cpp:49 +msgid "Import from Tags" +msgstr "Uvezi iz oznaka" + +#: gui/dialogs/tagimportdialog.cpp:59 +msgid "Extraction:" +msgstr "Izvlačenje:" + +#: gui/dialogs/textimportdialog.cpp:58 +msgid "Import from File/Clipboard" +msgstr "Uvezi iz fajla/klipborda" + +#: gui/dialogs/textimportdialog.cpp:86 +msgid "From F&ile" +msgstr "Iz &fajla" + +#: gui/forms/filelist.cpp:136 +msgid "&Expand all" +msgstr "Raz&granaj sve" + +#: gui/forms/filelist.cpp:137 +msgid "&Collapse all" +msgstr "&Sakupi sve" + +#: gui/forms/filelist.cpp:138 +msgid "&Rename" +msgstr "P&reimenuj" + +#: gui/forms/filelist.cpp:139 +msgid "&Move to Trash" +msgstr "Premjesti u &smeće" + +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 +msgid "&Play" +msgstr "Re&produkuj" + +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 +msgid "F&ile" +msgstr "F&ajl" + +#: gui/forms/kid3form.cpp:211 +msgid "Name:" +msgstr "Ime:" + +#: gui/forms/kid3form.cpp:236 +msgid "Filename from Tag 1" +msgstr "oznake 1 u ime fajla" + +#: gui/forms/kid3form.cpp:239 +msgid "Filename from Tag 2" +msgstr "oznake 2 u ime fajla" + +#: gui/forms/kid3form.cpp:261 +msgid "Tag 1 from Filename" +msgstr "oznaku 1 iz imena fajla" + +#: gui/forms/kid3form.cpp:265 +msgid "Tag 2 from Filename" +msgstr "oznaku 2 iz imena fajla" + +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 +msgid "Tag &1" +msgstr "Oznaka &1" + +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 +msgid "Copy" +msgstr "Kopiraj" + +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 +msgid "Paste" +msgstr "Nalijepi" + +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 +msgid "Remove" +msgstr "Ukloni" + +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 +msgid "Tag &2" +msgstr "Oznaka &2" + +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 +msgid "Edit" +msgstr "Uredi" + +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 +msgid "Add" +msgstr "Dodaj" + +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 +msgid "Delete" +msgstr "Obriši" + +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Fokus" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Iz imena fajla" + +#: gui/forms/kid3mainwindow.cpp:115 +msgid "Download" +msgstr "Preuzmi" + +#: gui/forms/kid3mainwindow.cpp:193 +msgid "Main Toolbar" +msgstr "Glavna traka" + +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 +msgid "Opens a directory" +msgstr "Otvara direktorijum" + +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 +msgid "Opens a recently used directory" +msgstr "Otvara nedavno korišćen direktorijum" + +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 +msgid "Reverts the changes of all or the selected files" +msgstr "Poništava izmjene svih ili izabranih fajlova" + +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 +msgid "Saves the changed files" +msgstr "Upisuje izmjene fajlova" + +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 +msgid "Quits the application" +msgstr "Napušta aplikaciju" + +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 +msgid "Select all files" +msgstr "Izaberi sve fajlove" + +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 +msgid "Deselect all files" +msgstr "Poništi izbor svih fajlova" + +#: gui/forms/kid3mainwindow.cpp:235 +msgid "Configure Shortcuts" +msgstr "Podesi prečice" + +#: gui/forms/kid3mainwindow.cpp:236 +msgid "Configure Toolbars" +msgstr "Podesi trake alata" + +#: gui/forms/kid3mainwindow.cpp:237 +msgid "Preferences dialog" +msgstr "Dijalog podešavanja" + +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 +msgid "O&pen Directory..." +msgstr "O&tvori direktorijum..." + +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 +msgid "&Import..." +msgstr "&Uvezi..." + +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 +msgid "Import from %1..." +msgstr "Uvezi sa %1..." + +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 +msgid "&Browse Cover Art..." +msgstr "Potraži o&mot albuma..." + +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 +msgid "&Export..." +msgstr "Izv&ezi..." + +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 +msgid "&Create Playlist..." +msgstr "Napravi &listu numera..." + +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 +msgid "Apply &Filename Format" +msgstr "Primijeni format imena fa&jla" + +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 +msgid "Apply &Tag Format" +msgstr "Primijeni format &oznake" + +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 +msgid "&Rename Directory..." +msgstr "Preimenuj &direktorijum..." + +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 +msgid "&Number Tracks..." +msgstr "Nu&meriši..." + +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 +msgid "F&ilter..." +msgstr "F&ilter..." + +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 +msgid "Convert ID3v2.3 to ID3v2.&4" +msgstr "Pretvori ID3v2.3 u ID3v2.&4" + +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 +msgid "Convert ID3v2.4 to ID3v2.&3" +msgstr "Pretvori ID3v2.4 u ID3v2.&3" + +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 +msgid "Show &Picture" +msgstr "Prikaži s&liku" + +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 +msgid "Auto &Hide Tags" +msgstr "Automatski &sakrij oznake" + +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 +msgid "&Previous File" +msgstr "&Prethodni fajl" + +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 +msgid "&Next File" +msgstr "&Sljedeći fajl" + +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 +msgid "Frames:" +msgstr "Kadrovi:" + +#: gui/forms/kid3mainwindow.cpp:389 +msgid "&File" +msgstr "&Fajl" + +#: gui/forms/kid3mainwindow.cpp:395 +msgid "&Open..." +msgstr "&Otvori..." + +#: gui/forms/kid3mainwindow.cpp:409 +msgid "Open &Recent" +msgstr "Otvori &nedavno" + +#: gui/forms/kid3mainwindow.cpp:427 +msgid "&Save" +msgstr "&Sačuvaj" + +#: gui/forms/kid3mainwindow.cpp:440 +msgid "Re&vert" +msgstr "&Vrati" + +#: gui/forms/kid3mainwindow.cpp:452 +msgid "Import from file or clipboard" +msgstr "Uvezi iz fajla ili klipborda" + +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 +msgid "Import from %1" +msgstr "Uvezi sa %1" + +#: gui/forms/kid3mainwindow.cpp:495 +msgid "Browse album cover artwork" +msgstr "Potraži sliku omota albuma" + +#: gui/forms/kid3mainwindow.cpp:504 +msgid "Export to file or clipboard" +msgstr "Izvezi u fajl ili klipbord" + +#: gui/forms/kid3mainwindow.cpp:514 +msgid "Create M3U Playlist" +msgstr "Napravi M3U listu numera" + +#: gui/forms/kid3mainwindow.cpp:527 +msgid "&Quit" +msgstr "&Napusti" + +#: gui/forms/kid3mainwindow.cpp:536 +msgid "&Edit" +msgstr "&Uredi" + +#: gui/forms/kid3mainwindow.cpp:540 +msgid "Select &All" +msgstr "Izaberi s&ve" + +#: gui/forms/kid3mainwindow.cpp:551 +msgid "Dese&lect" +msgstr "Po&ništi izbor" + +#: gui/forms/kid3mainwindow.cpp:560 +msgid "Select previous file" +msgstr "Izaberi prethodni fajl" + +#: gui/forms/kid3mainwindow.cpp:572 +msgid "Select next file" +msgstr "Izaberi sljedeći fajl" + +#: gui/forms/kid3mainwindow.cpp:583 +msgid "&Tools" +msgstr "&Alati" + +#: gui/forms/kid3mainwindow.cpp:586 +msgid "Apply Filename Format" +msgstr "Primijeni format naziva fajla" + +#: gui/forms/kid3mainwindow.cpp:595 +msgid "Apply Tag Format" +msgstr "Primijeni format oznake" + +#: gui/forms/kid3mainwindow.cpp:632 +msgid "Convert ID3v2.3 to ID3v2.4" +msgstr "Pretvori ID3v2.3 u ID3v2.4" + +#: gui/forms/kid3mainwindow.cpp:643 +msgid "Convert ID3v2.4 to ID3v2.3" +msgstr "Pretvori ID3v2.4 u ID3v2.3" + +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 +msgid "Play" +msgstr "Reprodukcija" + +#: gui/forms/kid3mainwindow.cpp:665 +msgid "&Settings" +msgstr "&Podešavanje" + +#: gui/forms/kid3mainwindow.cpp:669 +msgid "Enables/disables the toolbar" +msgstr "Prikazuje/sakriva traku alata" + +#: gui/forms/kid3mainwindow.cpp:670 +msgid "Show &Toolbar" +msgstr "Prikaži traku &alata" + +#: gui/forms/kid3mainwindow.cpp:680 +msgid "Enables/disables the statusbar" +msgstr "Prikazuje/sakriva traku stanja" + +#: gui/forms/kid3mainwindow.cpp:681 +msgid "Show St&atusbar" +msgstr "Prikaži traku &stanja" + +#: gui/forms/kid3mainwindow.cpp:690 +msgid "Show Picture" +msgstr "Prikaži sliku" + +#: gui/forms/kid3mainwindow.cpp:700 +msgid "Auto Hide Tags" +msgstr "Automatski sakrij oznake" + +#: gui/forms/kid3mainwindow.cpp:710 +msgid "Configure Kid3" +msgstr "Podesi Kid3" + +#: gui/forms/kid3mainwindow.cpp:711 +msgid "&Configure Kid3..." +msgstr "&Podesi Kid3..." + +#: gui/forms/kid3mainwindow.cpp:728 +msgid "Kid3 &Handbook" +msgstr "Kid3 p&riručnik" + +#: gui/forms/kid3mainwindow.cpp:738 +msgid "About Kid3" +msgstr "O Kid3-u" + +#: gui/forms/kid3mainwindow.cpp:739 +msgid "&About Kid3" +msgstr "&O Kid3-u" + +#: gui/forms/kid3mainwindow.cpp:747 +msgid "About Qt" +msgstr "O KjuT-u" + +#: gui/forms/kid3mainwindow.cpp:748 +msgid "About &Qt" +msgstr "O KjuT-u" + +#: gui/forms/kid3mainwindow.cpp:790 +msgid "Opening directory..." +msgstr "Otvaram direktorijum..." + +#: gui/forms/kid3mainwindow.cpp:912 +msgid "Saving directory..." +msgstr "Upisujem direktorijum..." + +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 +msgid "" +"The current directory has been modified.\n" +"Do you want to save it?" +msgstr "" +"Trenutni direktorijum je izmijenjen.\n" +"Želite li da sačuvate izmjene?" + +#: gui/forms/kid3mainwindow.cpp:973 +msgid "Warning" +msgstr "Upozorenje" + +#: gui/forms/kid3mainwindow.cpp:980 +msgid "Warning - Kid3" +msgstr "Upozorenje - Kid3" + +#: gui/forms/kid3mainwindow.cpp:1059 +msgid "Open" +msgstr "Otvori" + +#: gui/forms/kid3mainwindow.cpp:1135 +msgid "Exiting..." +msgstr "Izlazim..." + +#: gui/forms/kid3mainwindow.cpp:1179 +msgid "Toggle the statusbar..." +msgstr "Prikaži/sakrij traku stanja..." + +#: gui/forms/kid3mainwindow.cpp:1261 +msgid "Creating playlist..." +msgstr "Pravim listu numera..." + +#: gui/forms/kid3mainwindow.cpp:1287 +msgid "Import" +msgstr "Uvezi" + +#: gui/forms/kid3mainwindow.cpp:1400 +msgid "Configure - Kid3" +msgstr "Podešavanje - Kid3" + +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 +msgid "Error while renaming:\n" +msgstr "Greška prilikom preimenovanja:\n" + +#: gui/forms/kid3mainwindow.cpp:1562 +msgid " [filtered]" +msgstr " [filtriran]" + +#: gui/forms/kid3mainwindow.cpp:1568 +msgid " [modified]" +msgstr " [izmijenjen]" + +#: gui/forms/kid3mainwindow.cpp:1810 +msgid "Add Frame" +msgstr "Dodaj okvir" + +#: gui/forms/kid3mainwindow.cpp:1811 +msgid "Select the frame ID" +msgstr "Izaberite ID okvira" + +#: gui/forms/kid3mainwindow.cpp:1899 +msgid "Rename File" +msgstr "Preimenuj fajl" + +#: gui/forms/kid3mainwindow.cpp:1900 +msgid "Enter new file name:" +msgstr "Unesite novo ime fajla:" + +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 +msgid "Do you really want to move these %1 items to the trash?" +msgstr "Želite li zaista da premjestite ovih %1 stavki u smeće?" + +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 +msgid "Do you really want to move this item to the trash?" +msgid_plural "Do you really want to move these %1 items to the trash?" +msgstr[0] "Želite li zaista da premjestite ovu %1 stavku u smeće?" +msgstr[1] "Želite li zaista da premjestite ove %1 stavke u smeće?" +msgstr[2] "Želite li zaista da premjestite ovih %1 stavki u smeće?" +msgstr[3] "Želite li zaista da premjestite ovu stavku u smeće?" + +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 +msgid "Move to Trash" +msgstr "Premjesti u smeće" + +#: gui/forms/kid3mainwindow.cpp:1998 +msgid "Directory must be empty.\n" +msgstr "Direktoriujm mora biti prazan.\n" + +#: gui/forms/kid3mainwindow.cpp:1999 +msgid "Could not move these files to the Trash" +msgstr "Nisam mogao da premjestim ove fajlove u smeće" + +#: gui/widgets/configtable.cpp:135 +msgid "&Insert row" +msgstr "&Ubaci red" + +#: gui/widgets/configtable.cpp:139 +msgid "&Delete row" +msgstr "&Obriši red" + +#: gui/widgets/configtable.cpp:143 +msgid "&Clear row" +msgstr "O&čisti red" + +#: gui/widgets/formatbox.cpp:47 +msgid "Format while editing" +msgstr "Formatiraj pri uređivanju" + +#: gui/widgets/formatbox.cpp:51 +msgid "Case conversion:" +msgstr "Veličina slova:" + +#: gui/widgets/formatbox.cpp:57 +msgid "No changes" +msgstr "bez izmjena" + +#: gui/widgets/formatbox.cpp:59 +msgid "All lowercase" +msgstr "sve malim" + +#: gui/widgets/formatbox.cpp:61 +msgid "All uppercase" +msgstr "sve velikim" + +#: gui/widgets/formatbox.cpp:63 +msgid "First letter uppercase" +msgstr "prvo slovo velikim" + +#: gui/widgets/formatbox.cpp:65 +msgid "All first letters uppercase" +msgstr "sva prva slova velikim" + +#: gui/widgets/formatbox.cpp:68 +msgid "String replacement:" +msgstr "Zamjena teksta:" + +#: gui/widgets/formatbox.cpp:72 +msgid "From" +msgstr "iz" + +#: gui/widgets/formatbox.cpp:72 +msgid "To" +msgstr "u" + +#: gui/widgets/formatlistedit.cpp:81 +msgid "&Add" +msgstr "&Dodaj" + +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 +msgid "&Remove" +msgstr "U&kloni" + +#: gui/widgets/formatlistedit.cpp:242 +msgid "New" +msgstr "Novo" + +#: gui/widgets/frametable.cpp:145 +msgid "&Select all" +msgstr "I&zaberi sve" + +#: gui/widgets/frametable.cpp:147 +msgid "&Deselect all" +msgstr "Po&ništi izbor" + +#: gui/widgets/imageviewer.cpp:47 +msgid "View Picture" +msgstr "Pogledaj sliku" + +#: gui/widgets/picturelabel.cpp:67 +msgid "" +"Drag album\n" +"artwork\n" +"here" +msgstr "" +"Prevuci\n" +"sliku albuma\n" +"ovdje" + +#: gui/widgets/playtoolbar.cpp:62 +msgid "Play/Pause" +msgstr "Reprodukuj/pauziraj" + +#: gui/widgets/playtoolbar.cpp:64 +msgid "Stop playback" +msgstr "Zaustavi reprodukciju" + +#: gui/widgets/playtoolbar.cpp:66 +msgid "Previous Track" +msgstr "Prethodna numera" + +#: gui/widgets/playtoolbar.cpp:68 +msgid "Next Track" +msgstr "Sljedeća numera" + +#: gui/widgets/playtoolbar.cpp:70 +msgid "Close" +msgstr "Zatvori" + +#: gui/widgets/recentfilesmenu.cpp:111 +msgid "&Clear List" +msgstr "O&čisti spisak" + +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Očisti" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Ponovo postavi" + +#: gui/widgets/stringlistedit.cpp:51 +msgid "&Add..." +msgstr "&Dodaj..." + +#: gui/widgets/stringlistedit.cpp:52 +msgid "Move &Up" +msgstr "Pomjeri &gore" + +#: gui/widgets/stringlistedit.cpp:53 +msgid "Move &Down" +msgstr "Pomjeri do&lje" + +#: gui/widgets/stringlistedit.cpp:54 +msgid "&Edit..." +msgstr "U&redi..." + +#: gui/widgets/stringlistedit.cpp:90 +msgid "Add Item" +msgstr "Dodaj stavku" + +#: gui/widgets/stringlistedit.cpp:123 +msgid "Edit Item" +msgstr "Uredi stavku" + +#: rc.cpp:1 +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mladen Pejaković" + +#: rc.cpp:2 +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pejakm@gmail.com" + +#: rc.cpp:3 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Mladen Pejaković" + +#: rc.cpp:4 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "pejakm@gmail.com" diff -Nru kid3-2.0.1/po/sr@ijekavian.po kid3-2.1/po/sr@ijekavian.po --- kid3-2.0.1/po/sr@ijekavian.po 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/po/sr@ijekavian.po 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,2267 @@ +# Kid3 Serbian Ijekavian Translation. +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. Free Software Foundation, Inc. +# +# Urs Fleisch , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# Mladen Pejaković , 2012. +msgid "" +msgstr "" +"Project-Id-Version: Kid3 2.1\n" +"Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?group_id=70849&atid=529221\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" +"PO-Revision-Date: 2011-04-26 23:41+0200\n" +"Last-Translator: Mladen Pejaković \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Language: sr\n" +"X-Source-Language: C\n" + +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Радња" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Пречица" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 +msgid "AENC - Audio encryption" +msgstr "AENC - аудио шифровање" + +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 +msgid "APIC - Attached picture" +msgstr "APIC - приложена слика" + +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 +msgid "COMM - Comments" +msgstr "COMM - коментари" + +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 +msgid "COMR - Commercial" +msgstr "COMR - комерцијално" + +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 +msgid "ENCR - Encryption method registration" +msgstr "ENCR - регистрација методе шифровања" + +#: core/formats/mp3file.cpp:1252 +msgid "EQUA - Equalization" +msgstr "EQUA - једначење" + +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 +msgid "ETCO - Event timing codes" +msgstr "" + +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 +msgid "GEOB - General encapsulated object" +msgstr "GEOB - општи угнијежђени објекат" + +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 +msgid "GRID - Group identification registration" +msgstr "GRID - регистрација идентификације групе" + +#: core/formats/mp3file.cpp:1256 +msgid "IPLS - Involved people list" +msgstr "IPLS - списак укључених људи" + +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 +msgid "LINK - Linked information" +msgstr "LINK - повезана информација" + +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 +msgid "MCDI - Music CD identifier" +msgstr "MCDI - идентификатор музичког ЦД-а" + +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 +msgid "MLLT - MPEG location lookup table" +msgstr "" + +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 +msgid "OWNE - Ownership frame" +msgstr "OWNE - власнички оквир" + +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 +msgid "PRIV - Private frame" +msgstr "PRIV - приватни оквир" + +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 +msgid "PCNT - Play counter" +msgstr "PCNT - бројач репродукције" + +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 +msgid "POPM - Popularimeter" +msgstr "POPM - мјерач популарности" + +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 +msgid "POSS - Position synchronisation frame" +msgstr "POSS - кадар синхронизације позиције" + +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 +msgid "RBUF - Recommended buffer size" +msgstr "RBUF - препоручена величина бафера" + +#: core/formats/mp3file.cpp:1267 +msgid "RVAD - Relative volume adjustment" +msgstr "RVAD - подешавање релативне јачине звука" + +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 +msgid "RVRB - Reverb" +msgstr "RVRB - реверберација" + +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 +msgid "SYLT - Synchronized lyric/text" +msgstr "" + +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 +msgid "SYTC - Synchronized tempo codes" +msgstr "" + +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 +msgid "TALB - Album/Movie/Show title" +msgstr "TALB - наслов албума/филма/емисије" + +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 +msgid "TBPM - BPM (beats per minute)" +msgstr "TBPM - БПМ (откуцаја у минути)" + +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 +msgid "TCOM - Composer" +msgstr "TCOM - композитор" + +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 +msgid "TCON - Content type" +msgstr "TCON - тип садржаја" + +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 +msgid "TCOP - Copyright message" +msgstr "TCOP - порука ауторског права" + +#: core/formats/mp3file.cpp:1278 +msgid "TDAT - Date" +msgstr "TDAT - датум" + +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 +msgid "TDLY - Playlist delay" +msgstr "TDLY - кашњење листе нумера" + +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 +msgid "TENC - Encoded by" +msgstr "TENC - кодер" + +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 +msgid "TEXT - Lyricist/Text writer" +msgstr "TEXT - пјесник/текстописац" + +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 +msgid "TFLT - File type" +msgstr "TFLT - тип фајла" + +#: core/formats/mp3file.cpp:1289 +msgid "TIME - Time" +msgstr "TIME - вријеме" + +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 +msgid "TIT1 - Content group description" +msgstr "TIT1 - опис групе садржаја" + +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 +msgid "TIT2 - Title/songname/content description" +msgstr "TIT2 - наслов/име пјесме/опис садржаја" + +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 +msgid "TIT3 - Subtitle/Description refinement" +msgstr "" + +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 +msgid "TKEY - Initial key" +msgstr "TKEY - почетни кључ" + +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 +msgid "TLAN - Language(s)" +msgstr "TLAN - језик (језици)" + +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 +msgid "TLEN - Length" +msgstr "TLEN - трајање" + +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 +msgid "TMED - Media type" +msgstr "TMED - тип медија" + +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 +msgid "TOAL - Original album/movie/show title" +msgstr "TOAL - изворни наслов албума/филма/емисије" + +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 +msgid "TOFN - Original filename" +msgstr "TOFN - изворно име" + +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 +msgid "TOLY - Original lyricist(s)/text writer(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 +msgid "TOPE - Original artist(s)/performer(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1303 +msgid "TORY - Original release year" +msgstr "TORY - изворна година издавања" + +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 +msgid "TOWN - File owner/licensee" +msgstr "" + +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 +msgid "TPE1 - Lead performer(s)/Soloist(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 +msgid "TPE2 - Band/orchestra/accompaniment" +msgstr "" + +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 +msgid "TPE3 - Conductor/performer refinement" +msgstr "" + +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 +msgid "TPE4 - Interpreted, remixed, or otherwise modified by" +msgstr "" + +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 +msgid "TPOS - Part of a set" +msgstr "" + +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 +msgid "TPUB - Publisher" +msgstr "TPUB - издавач" + +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 +msgid "TRCK - Track number/Position in set" +msgstr "" + +#: core/formats/mp3file.cpp:1313 +msgid "TRDA - Recording dates" +msgstr "TRDA - датуми снимања" + +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 +msgid "TRSN - Internet radio station name" +msgstr "TRSN - име интернет радио станице" + +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 +msgid "TRSO - Internet radio station owner" +msgstr "TRSO - власник интернет радио станице" + +#: core/formats/mp3file.cpp:1316 +msgid "TSIZ - Size" +msgstr "TSIZ - величина" + +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 +msgid "TSRC - ISRC (international standard recording code)" +msgstr "TSRC - ИСРЦ (међународни стандардни кôд снимања)" + +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 +msgid "TSSE - Software/Hardware and settings used for encoding" +msgstr "" + +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 +msgid "TXXX - User defined text information" +msgstr "TXXX - кориснички дефинисана текстуална информација" + +#: core/formats/mp3file.cpp:1324 +msgid "TYER - Year" +msgstr "TYER - година" + +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 +msgid "UFID - Unique file identifier" +msgstr "UFID - јединствени идентификатор фајла" + +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 +msgid "USER - Terms of use" +msgstr "USER - услови коришћења" + +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 +msgid "USLT - Unsynchronized lyric/text transcription" +msgstr "" + +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 +msgid "WCOM - Commercial information" +msgstr "WCOM - подаци о комерцијализовању" + +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 +msgid "WCOP - Copyright/Legal information" +msgstr "WCOP - ауторско право/правне информације" + +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 +msgid "WOAF - Official audio file webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 +msgid "WOAR - Official artist/performer webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 +msgid "WOAS - Official audio source webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 +msgid "WORS - Official internet radio station homepage" +msgstr "" + +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 +msgid "WPAY - Payment" +msgstr "WPAY - плаћање" + +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 +msgid "WPUB - Official publisher webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 +msgid "WXXX - User defined URL link" +msgstr "WXXX - кориснички дефинисана УРЛ веза" + +#: core/formats/taglibfile.cpp:1669 +msgid "ASPI - Audio seek point index" +msgstr "" + +#: core/formats/taglibfile.cpp:1673 +msgid "EQU2 - Equalisation (2)" +msgstr "EQU2 - једначење (2)" + +#: core/formats/taglibfile.cpp:1686 +msgid "RVA2 - Relative volume adjustment (2)" +msgstr "RVA2 - подешавање релативне јачине звука (2)" + +#: core/formats/taglibfile.cpp:1688 +msgid "SEEK - Seek frame" +msgstr "SEEK - кадар тражења" + +#: core/formats/taglibfile.cpp:1689 +msgid "SIGN - Signature frame" +msgstr "SIGN - кадар потписа" + +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "" + +#: core/formats/taglibfile.cpp:1698 +msgid "TDEN - Encoding time" +msgstr "TDEN - вријеме кодирања" + +#: core/formats/taglibfile.cpp:1700 +msgid "TDOR - Original release time" +msgstr "TDOR - вријеме издавања оригинала" + +#: core/formats/taglibfile.cpp:1701 +msgid "TDRC - Recording time" +msgstr "TDRC - вријеме снимања" + +#: core/formats/taglibfile.cpp:1702 +msgid "TDRL - Release time" +msgstr "TDRL - вријеме издавања" + +#: core/formats/taglibfile.cpp:1703 +msgid "TDTG - Tagging time" +msgstr "TDTG - вријеме означавања" + +#: core/formats/taglibfile.cpp:1707 +msgid "TIPL - Involved people list" +msgstr "TIPL - списак укључених људи" + +#: core/formats/taglibfile.cpp:1714 +msgid "TMCL - Musician credits list" +msgstr "" + +#: core/formats/taglibfile.cpp:1716 +msgid "TMOO - Mood" +msgstr "TMOO - расположење" + +#: core/formats/taglibfile.cpp:1727 +msgid "TPRO - Produced notice" +msgstr "" + +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - редослијед сортирања аутора албума" + +#: core/formats/taglibfile.cpp:1733 +msgid "TSOA - Album sort order" +msgstr "TSOA - редослијед сортирања албума" + +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - редослијед сортирања композитора" + +#: core/formats/taglibfile.cpp:1735 +msgid "TSOP - Performer sort order" +msgstr "TSOP - редослијед сортирања извођача" + +#: core/formats/taglibfile.cpp:1736 +msgid "TSOT - Title sort order" +msgstr "TSOT - редослијед сортирања наслова" + +#: core/formats/taglibfile.cpp:1739 +msgid "TSST - Set subtitle" +msgstr "TSST - постави поднаслов" + +#: core/import/amazonimporter.cpp:59 +msgid "Amazon" +msgstr "Амазон" + +#: core/import/discogsimporter.cpp:61 +msgid "Discogs" +msgstr "Дискогс" + +#: core/import/freedbimporter.cpp:60 +msgid "gnudb.org" +msgstr "gnudb.org" + +#: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 +#: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 +msgid "Ready." +msgstr "Спреман." + +#: core/import/httpclient.cpp:75 +msgid "Connecting..." +msgstr "Повезивање..." + +#: core/import/httpclient.cpp:78 +msgid "Host found..." +msgstr "Домаћин нађен..." + +#: core/import/httpclient.cpp:81 +msgid "Request sent..." +msgstr "Захтјев послат..." + +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 +msgid "Data received: %1" +msgstr "Подаци примљени: %1" + +#: core/import/httpclient.cpp:117 +msgid "Socket error: " +msgstr "Грешка сокета: " + +#: core/import/httpclient.cpp:120 +msgid "Connection refused" +msgstr "Веза одбијена" + +#: core/import/httpclient.cpp:123 +msgid "Host not found" +msgstr "Домаћин није нађен" + +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 +msgid "Year" +msgstr "Година" + +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 +#: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 +msgid "Length" +msgstr "Трајање" + +#: core/import/musicbrainzclient.cpp:250 +msgid "Unrecognized" +msgstr "Није препознато" + +#: core/import/musicbrainzclient.cpp:262 +msgid "Recognized" +msgstr "Препознато" + +#: core/import/musicbrainzclient.cpp:265 +msgid "User Selection" +msgstr "Корисников одабир" + +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Отисак прста" + +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 +msgid "Error" +msgstr "Грешка" + +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ИД претрага" + +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Претрага метаподатака" + +#: core/import/musicbrainzreleaseimporter.cpp:60 +msgid "MusicBrainz Release" +msgstr "МјузикБрејнз издање" + +#: core/import/tracktypeimporter.cpp:59 +msgid "TrackType.org" +msgstr "ТрекТајп.орг" + +#: core/model/commandformatreplacer.cpp:140 +msgid "Filenames" +msgstr "Имена фајлова" + +#: core/model/commandformatreplacer.cpp:148 +msgid "URLs" +msgstr "УРЛ-ови" + +#: core/model/commandformatreplacer.cpp:152 +msgid "Directory name" +msgstr "Име директоријума" + +#: core/model/commandformatreplacer.cpp:160 +#: gui/dialogs/browsecoverartdialog.cpp:58 +msgid "Encode as URL" +msgstr "Кодирај као УРЛ" + +#: core/model/commandstablemodel.cpp:172 +msgid "Confirm" +msgstr "Потврди" + +#: core/model/commandstablemodel.cpp:174 +msgid "Output" +msgstr "Излаз" + +#: core/model/commandstablemodel.cpp:176 core/model/frametablemodel.cpp:190 +msgid "Name" +msgstr "Име" + +#: core/model/commandstablemodel.cpp:178 +msgid "Command" +msgstr "Наредба" + +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 +msgid "Create directory %1 failed\n" +msgstr "Прављење директоријума %1 није успјело\n" + +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 +msgid "File %1 already exists\n" +msgstr "Фајл %1 већ постоји\n" + +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 +msgid "%1 is not a directory\n" +msgstr "%1 није директоријум\n" + +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 +msgid "Rename %1 to %2 failed\n" +msgstr "Преименовање %1 у %2 није успјело\n" + +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 +msgid "%1 already exists\n" +msgstr "%1 већ постоји\n" + +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 +msgid "%1 is not a file\n" +msgstr "%1 није фајл\n" + +#: core/model/dirrenamer.cpp:390 +msgid "New directory name is too different\n" +msgstr "Ново име директоријума је превише различито\n" + +#: core/model/dirrenamer.cpp:440 +msgid "Create directory" +msgstr "Направи директоријум" + +#: core/model/dirrenamer.cpp:441 +msgid "Rename directory" +msgstr "Преименуј директоријум" + +#: core/model/dirrenamer.cpp:442 +msgid "Rename file" +msgstr "Преименуј фајл" + +#: core/model/externalprocess.cpp:54 +msgid "C&lear" +msgstr "О&чисти" + +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 +#: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 +msgid "&Close" +msgstr "&Затвори" + +#: core/model/externalprocess.cpp:116 +msgid "Execute " +msgstr "Изврши " + +#: core/model/externalprocess.cpp:152 +msgid "Could not execute " +msgstr "Не могу да извршим " + +#: core/model/filefilter.cpp:112 +msgid "True if strings are equal" +msgstr "Тачно ако су низови једнаки" + +#: core/model/filefilter.cpp:116 +msgid "True if string contains substring" +msgstr "Тачно ако низ садржи подниз" + +#: core/model/filefilter.cpp:120 +msgid "True if string matches regexp" +msgstr "Тачно ако се низ поклапа са регизом" + +#: core/model/filefilter.cpp:124 +msgid "Logical AND" +msgstr "Логичко И" + +#: core/model/filefilter.cpp:128 +msgid "Logical OR" +msgstr "Логичко ИЛИ" + +#: core/model/filefilter.cpp:132 +msgid "Logical negation" +msgstr "Логичка негација" + +#: core/model/frametablemodel.cpp:190 gui/dialogs/editframefieldsdialog.cpp:659 +msgid "Data" +msgstr "Подаци" + +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 +msgid "All Supported Files" +msgstr "Сви подржани фајлови" + +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "All Files (*)" +msgstr "Сви фајлови (*)" + +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 +msgid "Track" +msgstr "Нумера" + +#: core/model/trackdatamodel.cpp:197 core/tags/trackdata.cpp:183 +msgid "Absolute path to file" +msgstr "Апсолутна путања до фајла" + +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 +msgid "Filename" +msgstr "Име фајла" + +#: core/model/trackdatamodel.cpp:201 +msgid "Duration" +msgstr "Трајање" + +#: core/tags/frame.cpp:67 +msgid "Title" +msgstr "Наслов" + +#: core/tags/frame.cpp:68 +msgid "Artist" +msgstr "Извођач" + +#: core/tags/frame.cpp:69 +msgid "Album" +msgstr "Албум" + +#: core/tags/frame.cpp:70 +msgid "Comment" +msgstr "Коментар" + +#: core/tags/frame.cpp:71 +msgid "Date" +msgstr "Година" + +#: core/tags/frame.cpp:72 gui/widgets/frametable.cpp:60 +msgid "Track Number" +msgstr "Број нумере" + +#: core/tags/frame.cpp:73 +msgid "Genre" +msgstr "Жанр" + +#: core/tags/frame.cpp:75 +msgid "Album Artist" +msgstr "Извођач албума" + +#: core/tags/frame.cpp:76 +msgid "Arranger" +msgstr "Аранжер" + +#: core/tags/frame.cpp:77 +msgid "Author" +msgstr "Аутор" + +#: core/tags/frame.cpp:78 +msgid "BPM" +msgstr "БПМ" + +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 +msgid "Composer" +msgstr "Композитор" + +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 +msgid "Conductor" +msgstr "Диригент" + +#: core/tags/frame.cpp:81 +msgid "Copyright" +msgstr "Ауторско право" + +#: core/tags/frame.cpp:82 +msgid "Disc Number" +msgstr "Број диска" + +#: core/tags/frame.cpp:83 +msgid "Encoded-by" +msgstr "Кодер" + +#: core/tags/frame.cpp:84 +msgid "Grouping" +msgstr "Груписање" + +#: core/tags/frame.cpp:85 +msgid "ISRC" +msgstr "ИСРЦ" + +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 +msgid "Language" +msgstr "Језик" + +#: core/tags/frame.cpp:87 +msgid "Lyricist" +msgstr "Текстописац" + +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 +msgid "Lyrics" +msgstr "Текст" + +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 +msgid "Media" +msgstr "Медија" + +#: core/tags/frame.cpp:90 +msgid "Original Album" +msgstr "Изворни албум" + +#: core/tags/frame.cpp:91 +msgid "Original Artist" +msgstr "Изворни извођач" + +#: core/tags/frame.cpp:92 +msgid "Original Date" +msgstr "Изворни датум" + +#: core/tags/frame.cpp:93 +msgid "Part" +msgstr "Дио" + +#: core/tags/frame.cpp:94 +msgid "Performer" +msgstr "Извођач" + +#: core/tags/frame.cpp:95 +msgid "Picture" +msgstr "Слика" + +#: core/tags/frame.cpp:96 +msgid "Publisher" +msgstr "Издавач" + +#: core/tags/frame.cpp:97 +msgid "Remixer" +msgstr "Ремиксер" + +#: core/tags/frame.cpp:98 +msgid "Subtitle" +msgstr "Поднаслов" + +#: core/tags/frame.cpp:99 +msgid "Website" +msgstr "Вебсајт" + +#: core/tags/trackdata.cpp:199 +msgid "Number of tracks" +msgstr "Број нумера" + +#: core/tags/trackdata.cpp:203 +msgid "Extension" +msgstr "Екстензија" + +#: core/tags/trackdata.cpp:215 +msgid "Bitrate" +msgstr "Битски проток" + +#: core/tags/trackdata.cpp:219 +msgid "VBR" +msgstr "ВБР" + +#: core/tags/trackdata.cpp:223 +msgid "Samplerate" +msgstr "Узорковање" + +#: core/tags/trackdata.cpp:229 +msgid "Channels" +msgstr "Канала" + +#: core/tags/trackdata.cpp:233 +msgid "Codec" +msgstr "Кодек" + +#: gui/app/main.cpp:40 +msgid "Kid3 ID3 Tagger" +msgstr "Кид3 уређивач ИД3 ознака" + +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 +msgid "Kid3" +msgstr "Кид3" + +#: gui/app/main.cpp:56 +msgid "(c) 2003-" +msgstr "© 2003-" + +#: gui/app/main.cpp:58 +msgid "Urs Fleisch" +msgstr "Урс Флајш" + +#: gui/app/main.cpp:62 +msgid "directory to open" +msgstr "директоријум за отварање" + +#: gui/dialogs/browsecoverartdialog.cpp:75 +#: gui/dialogs/browsecoverartdialog.cpp:264 +msgid "Browse Cover Art" +msgstr "Претрага омота албума" + +#: gui/dialogs/browsecoverartdialog.cpp:86 +msgid "&Artist/Album" +msgstr "И&звођач/албум" + +#: gui/dialogs/browsecoverartdialog.cpp:100 +msgid "&Source" +msgstr "&Извор" + +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 +msgid "Source:" +msgstr "Извор:" + +#: gui/dialogs/browsecoverartdialog.cpp:103 +msgid "URL:" +msgstr "УРЛ:" + +#: gui/dialogs/browsecoverartdialog.cpp:116 +msgid "&URL extraction" +msgstr "Извлачење &УРЛ-а" + +#: gui/dialogs/browsecoverartdialog.cpp:120 +msgid "Match" +msgstr "Поклопи" + +#: gui/dialogs/browsecoverartdialog.cpp:120 +msgid "Picture URL" +msgstr "УРЛ слике" + +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 +msgid "&Help" +msgstr "По&моћ" + +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 gui/dialogs/numbertracksdialog.cpp:110 +#: gui/dialogs/playlistdialog.cpp:205 gui/dialogs/rendirdialog.cpp:76 +#: gui/dialogs/serverimportdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:71 +#: gui/dialogs/textimportdialog.cpp:81 +msgid "&Save Settings" +msgstr "&Сачувај подешавања" + +#: gui/dialogs/browsecoverartdialog.cpp:146 +msgid "&Browse" +msgstr "&Потражи" + +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 gui/dialogs/editframefieldsdialog.cpp:961 +#: gui/dialogs/importdialog.cpp:231 gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 +msgid "&Cancel" +msgstr "&Одустани" + +#: gui/dialogs/browsecoverartdialog.cpp:178 +msgid "Click Browse to start" +msgstr "Кликните на „Потражи“ да бисте покренули" + +#: gui/dialogs/browsecoverartdialog.cpp:184 +msgid "Then drag the picture from the browser to Kid3." +msgstr "и онда превуците слику са прегледача у Кид3." + +#: gui/dialogs/browserdialog.cpp:76 +msgid "&Back" +msgstr "&Назад" + +#: gui/dialogs/browserdialog.cpp:81 +msgid "&Forward" +msgstr "На&пријед" + +#: gui/dialogs/browserdialog.cpp:86 +msgid "&Find:" +msgstr "&Нађи:" + +#: gui/dialogs/browserdialog.cpp:100 +msgid "Find Previous" +msgstr "Нађи претходно" + +#: gui/dialogs/browserdialog.cpp:110 +msgid "Find Next" +msgstr "Нађи сљедеће" + +#: gui/dialogs/configdialog.cpp:114 +msgid "ID3v1" +msgstr "ИД3в1" + +#: gui/dialogs/configdialog.cpp:118 +msgid "&Mark truncated fields" +msgstr "Означи одсјечена &поља" + +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 +msgid "Text &encoding:" +msgstr "Кодирање &текста:" + +#: gui/dialogs/configdialog.cpp:196 +msgid "ID3v2" +msgstr "ИД3в2" + +#: gui/dialogs/configdialog.cpp:200 +msgid "Use &track/total number of tracks format" +msgstr "Користи формат &нумера/укупно нумера" + +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Број &цифара нумере:" + +#: gui/dialogs/configdialog.cpp:206 +msgid "&Genre as text instead of numeric string" +msgstr "&Жанр као текст умјесто бројног низа" + +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 +msgid "ISO-8859-1" +msgstr "ISO-8859-1" + +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 +msgid "UTF16" +msgstr "UTF-16" + +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 +msgid "UTF8" +msgstr "UTF-8" + +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "И&здање за нове ознаке:" + +#: gui/dialogs/configdialog.cpp:221 +msgid "ID3v2.3.0 (id3lib)" +msgstr "ИД3в2.3.0 (id3lib)" + +#: gui/dialogs/configdialog.cpp:222 +msgid "ID3v2.4.0 (TagLib)" +msgstr "ИД3в2.4.0 (TagLib)" + +#: gui/dialogs/configdialog.cpp:233 +msgid "Ogg/Vorbis" +msgstr "Огг/Ворбис" + +#: gui/dialogs/configdialog.cpp:234 +msgid "Comment field &name:" +msgstr "Име поља ко&ментара:" + +#: gui/dialogs/configdialog.cpp:236 +msgid "&Picture field name:" +msgstr "Име поља &слике:" + +#: gui/dialogs/configdialog.cpp:259 +msgid "Custom &Genres" +msgstr "Посе&бни жанрови" + +#: gui/dialogs/configdialog.cpp:260 +msgid "&Show only custom genres" +msgstr "Прик&ажи само посебне жанрове" + +#: gui/dialogs/configdialog.cpp:269 +msgid "&Tag Format" +msgstr "&Формат ознаке" + +#: gui/dialogs/configdialog.cpp:274 +msgid "Tags" +msgstr "Ознаке" + +#: gui/dialogs/configdialog.cpp:276 +msgid "&Tags" +msgstr "&Ознаке" + +#: gui/dialogs/configdialog.cpp:285 +msgid "Save" +msgstr "Сачувај" + +#: gui/dialogs/configdialog.cpp:286 +msgid "&Preserve file timestamp" +msgstr "Очувај &временску ознаку фајла" + +#: gui/dialogs/configdialog.cpp:287 +msgid "&Mark changes" +msgstr "О&значи измјене" + +#: gui/dialogs/configdialog.cpp:294 +msgid "&Filename Format" +msgstr "Формат имена &фајла" + +#: gui/dialogs/configdialog.cpp:298 +msgid "Files" +msgstr "Фајлови" + +#: gui/dialogs/configdialog.cpp:300 +msgid "&Files" +msgstr "&Фајлови" + +#: gui/dialogs/configdialog.cpp:309 +msgid "Browser" +msgstr "Прегледач" + +#: gui/dialogs/configdialog.cpp:310 +msgid "Web &browser:" +msgstr "Веб &прегледач" + +#: gui/dialogs/configdialog.cpp:320 +msgid "Context &Menu Commands" +msgstr "Наредбе контекстног ме&нија" + +#: gui/dialogs/configdialog.cpp:322 +msgid "&Play on double click" +msgstr "&Репродукуј при двоклику" + +#: gui/dialogs/configdialog.cpp:335 +msgid "User Actions" +msgstr "Радње корисника" + +#: gui/dialogs/configdialog.cpp:337 +msgid "&User Actions" +msgstr "Радње &корисника" + +#: gui/dialogs/configdialog.cpp:346 +msgid "Proxy" +msgstr "Прокси" + +#: gui/dialogs/configdialog.cpp:347 +msgid "&Proxy:" +msgstr "&Прокси:" + +#: gui/dialogs/configdialog.cpp:349 +msgid "&Use authentication with proxy" +msgstr "Користи &аутентификацију за прокси" + +#: gui/dialogs/configdialog.cpp:350 +msgid "Proxy user &name:" +msgstr "Корисничко &име за прокси:" + +#: gui/dialogs/configdialog.cpp:353 +msgid "Proxy pass&word:" +msgstr "Лозинка за прокси:" + +#: gui/dialogs/configdialog.cpp:377 +msgid "Network" +msgstr "Мрежа" + +#: gui/dialogs/configdialog.cpp:379 +msgid "&Network" +msgstr "&Мрежа" + +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "Пречице &тастатуре" + +#: gui/dialogs/configdialog.cpp:407 +msgid "Use custom app&lication font" +msgstr "Користи посе&бни фонт за апликацију" + +#: gui/dialogs/configdialog.cpp:408 +msgid "A&pplication Font..." +msgstr "&Фонт апликације..." + +#: gui/dialogs/configdialog.cpp:409 +msgid "Use custom application &style" +msgstr "Користи посебни &стил за апликацију" + +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 +msgid "Unknown" +msgstr "Непознато" + +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Користи системске &дијалоге фајлова" + +#: gui/dialogs/configdialog.cpp:430 +msgid "&Appearance" +msgstr "&Изглед" + +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 gui/dialogs/numbertracksdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:213 +msgid "&OK" +msgstr "&У реду" + +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Пречица тастатуре '%1' је већ додијељена '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 +msgid "Kid3 Handbook" +msgstr "Кид3 приручник" + +#: gui/dialogs/editframefieldsdialog.cpp:523 gui/dialogs/textimportdialog.cpp:90 +msgid "From Clip&board" +msgstr "Из клип&борда" + +#: gui/dialogs/editframefieldsdialog.cpp:524 +msgid "&Import" +msgstr "У&вези" + +#: gui/dialogs/editframefieldsdialog.cpp:525 +msgid "&Export" +msgstr "Изв&ези" + +#: gui/dialogs/editframefieldsdialog.cpp:526 +msgid "&View" +msgstr "&Приказ" + +#: gui/dialogs/editframefieldsdialog.cpp:656 +msgid "Text Encoding" +msgstr "Кодирање текста" + +#: gui/dialogs/editframefieldsdialog.cpp:657 +msgid "Text" +msgstr "Текст" + +#: gui/dialogs/editframefieldsdialog.cpp:658 +msgid "URL" +msgstr "УРЛ" + +#: gui/dialogs/editframefieldsdialog.cpp:660 +msgid "Description" +msgstr "Опис" + +#: gui/dialogs/editframefieldsdialog.cpp:661 +msgid "Owner" +msgstr "Власник" + +#: gui/dialogs/editframefieldsdialog.cpp:662 +msgid "Email" +msgstr "Е-адреса" + +#: gui/dialogs/editframefieldsdialog.cpp:663 +msgid "Rating" +msgstr "Рејтинг" + +#: gui/dialogs/editframefieldsdialog.cpp:666 +msgid "Picture Type" +msgstr "Тип слике" + +#: gui/dialogs/editframefieldsdialog.cpp:667 +msgid "Image format" +msgstr "Формат слике" + +#: gui/dialogs/editframefieldsdialog.cpp:668 +msgid "Mimetype" +msgstr "Миме" + +#: gui/dialogs/editframefieldsdialog.cpp:669 +msgid "Counter" +msgstr "Бројач" + +#: gui/dialogs/editframefieldsdialog.cpp:670 +msgid "Identifier" +msgstr "Идентификатор" + +#: gui/dialogs/editframefieldsdialog.cpp:671 +msgid "Volume Adjustment" +msgstr "Подешавање јачине" + +#: gui/dialogs/editframefieldsdialog.cpp:672 +msgid "Number of Bits" +msgstr "Број бита" + +#: gui/dialogs/editframefieldsdialog.cpp:673 +msgid "Volume Change Right" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:674 +msgid "Volume Change Left" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:675 +msgid "Peak Volume Right" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:676 +msgid "Peak Volume Left" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:677 +msgid "Timestamp Format" +msgstr "Формат временске ознаке" + +#: gui/dialogs/editframefieldsdialog.cpp:678 +msgid "Content Type" +msgstr "Тип садржаја" + +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "слике (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 +msgid "UTF16BE" +msgstr "UTF-16BE" + +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 +msgid "Other" +msgstr "Остало" + +#: gui/dialogs/editframefieldsdialog.cpp:873 +msgid "32x32 pixels PNG file icon" +msgstr "ПНГ икона фајла 32x32 пиксела" + +#: gui/dialogs/editframefieldsdialog.cpp:874 +msgid "Other file icon" +msgstr "Остале иконе фајла" + +#: gui/dialogs/editframefieldsdialog.cpp:875 +msgid "Cover (front)" +msgstr "Омот (предњи)" + +#: gui/dialogs/editframefieldsdialog.cpp:876 +msgid "Cover (back)" +msgstr "Омот (задњи)" + +#: gui/dialogs/editframefieldsdialog.cpp:877 +msgid "Leaflet page" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:879 +msgid "Lead artist/lead performer/soloist" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:880 +msgid "Artist/performer" +msgstr "Умјетник/извођач" + +#: gui/dialogs/editframefieldsdialog.cpp:882 +msgid "Band/Orchestra" +msgstr "Бенд/оркестар" + +#: gui/dialogs/editframefieldsdialog.cpp:884 +msgid "Lyricist/text writer" +msgstr "Пјесник/текстописац" + +#: gui/dialogs/editframefieldsdialog.cpp:885 +msgid "Recording Location" +msgstr "Мјесто снимања" + +#: gui/dialogs/editframefieldsdialog.cpp:886 +msgid "During recording" +msgstr "Током снимања" + +#: gui/dialogs/editframefieldsdialog.cpp:887 +msgid "During performance" +msgstr "Током извођења" + +#: gui/dialogs/editframefieldsdialog.cpp:888 +msgid "Movie/video screen capture" +msgstr "Снимак екрана филма/видеа" + +#: gui/dialogs/editframefieldsdialog.cpp:889 +msgid "A bright coloured fish" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:890 +msgid "Illustration" +msgstr "Илустрација" + +#: gui/dialogs/editframefieldsdialog.cpp:891 +msgid "Band/artist logotype" +msgstr "Логотип бенда/извођача" + +#: gui/dialogs/editframefieldsdialog.cpp:892 +msgid "Publisher/Studio logotype" +msgstr "Логотип издавача/студија" + +#: gui/dialogs/editframefieldsdialog.cpp:901 +msgid "MPEG frames as unit" +msgstr "Број МПЕГ кадрова као јединица" + +#: gui/dialogs/editframefieldsdialog.cpp:902 +msgid "Milliseconds as unit" +msgstr "Милисекунде као јединица" + +#: gui/dialogs/editframefieldsdialog.cpp:912 +msgid "Text transcription" +msgstr "Транскрипција текста" + +#: gui/dialogs/editframefieldsdialog.cpp:913 +msgid "Movement/part name" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:914 +msgid "Events" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:915 +msgid "Chord" +msgstr "Акорд" + +#: gui/dialogs/editframefieldsdialog.cpp:916 +msgid "Trivia/pop up" +msgstr "" + +#: gui/dialogs/exportdialog.cpp:72 +msgid "Export" +msgstr "Извези" + +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 +msgid "Format:" +msgstr "Формат:" + +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 +msgid "Header:" +msgstr "Заглавље:" + +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 +msgid "Tracks:" +msgstr "Нумере:" + +#: gui/dialogs/exportdialog.cpp:92 +msgid "Footer:" +msgstr "Подножје:" + +#: gui/dialogs/exportdialog.cpp:104 +msgid "To F&ile" +msgstr "У ф&ајл" + +#: gui/dialogs/exportdialog.cpp:109 +msgid "To Clip&board" +msgstr "У клип&борд" + +#: gui/dialogs/exportdialog.cpp:118 +msgid "&Source:" +msgstr "&Извор:" + +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 +msgid "Tag 1" +msgstr "ознака 1" + +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 +msgid "Tag 2" +msgstr "ознака 2" + +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 +msgid "File Error" +msgstr "Грешка фајла" + +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 +msgid "Error while writing file:\n" +msgstr "Грешка приликом уписа фајла:\n" + +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 +msgid "Filter" +msgstr "Филтер" + +#: gui/dialogs/filterdialog.cpp:62 +msgid "&Filter:" +msgstr "&Филтер:" + +#: gui/dialogs/filterdialog.cpp:63 +msgid "&Expression:" +msgstr "&Израз:" + +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 +#: gui/dialogs/tagimportdialog.cpp:76 +msgid "&Apply" +msgstr "&Примијени" + +#: gui/dialogs/importdialog.cpp:138 +msgid "From F&ile/Clipboard..." +msgstr "Из &фајла/клипборда..." + +#: gui/dialogs/importdialog.cpp:142 +msgid "From T&ags..." +msgstr "Из о&знака..." + +#: gui/dialogs/importdialog.cpp:146 +msgid "&From Server:" +msgstr "С&а сервера:" + +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 +msgid "MusicBrainz Fingerprint" +msgstr "МјузикБрејнз Отисак прста" + +#: gui/dialogs/importdialog.cpp:162 +msgid "D&estination:" +msgstr "О&дредиште:" + +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 +msgid "Tag 1 and Tag 2" +msgstr "ознака 1 и ознака 2" + +#: gui/dialogs/importdialog.cpp:179 +msgid "Revert" +msgstr "Врати" + +#: gui/dialogs/importdialog.cpp:190 +msgid "Check maximum allowable time &difference (sec):" +msgstr "Провјери највећу дозвољену &временску разлику (сек):" + +#: gui/dialogs/importdialog.cpp:198 +msgid "Match with:" +msgstr "Поклопи са:" + +#: gui/dialogs/importdialog.cpp:200 +msgid "&Length" +msgstr "тра&јањем" + +#: gui/dialogs/importdialog.cpp:203 +msgid "T&rack" +msgstr "&нумером" + +#: gui/dialogs/importdialog.cpp:206 +msgid "&Title" +msgstr "нас&ловом" + +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 +msgid "&Server:" +msgstr "&Сервер:" + +#: gui/dialogs/musicbrainzdialog.cpp:108 +msgid "Track Title/Artist - Album" +msgstr "Нумера/извођач - албум" + +#: gui/dialogs/musicbrainzdialog.cpp:109 +msgid "State" +msgstr "Стање" + +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 +msgid "No result" +msgstr "Нема резултата" + +#: gui/dialogs/musicbrainzdialog.cpp:332 +msgid "No result selected" +msgstr "Ништа није изабрано" + +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 +msgid "Number Tracks" +msgstr "Нумериши" + +#: gui/dialogs/numbertracksdialog.cpp:63 +msgid "&Start number:" +msgstr "&Почетни број:" + +#: gui/dialogs/numbertracksdialog.cpp:75 +msgid "&Destination:" +msgstr "&Одредиште:" + +#: gui/dialogs/numbertracksdialog.cpp:91 +msgid "&Total number of tracks:" +msgstr "&Укупно нумера:" + +#: gui/dialogs/playlistdialog.cpp:58 +msgid "Create Playlist" +msgstr "Направи листу нумера" + +#: gui/dialogs/playlistdialog.cpp:144 +msgid "Playlist File Name" +msgstr "Име фајла листе нумера" + +#: gui/dialogs/playlistdialog.cpp:145 +msgid "Same as &directory name" +msgstr "Исто као име &директоријума" + +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 +msgid "&Format:" +msgstr "&Формат:" + +#: gui/dialogs/playlistdialog.cpp:156 +msgid "Cr&eate in:" +msgstr "Н&аправи у:" + +#: gui/dialogs/playlistdialog.cpp:160 +msgid "Current directory" +msgstr "тренутном директоријуму" + +#: gui/dialogs/playlistdialog.cpp:161 +msgid "Every directory" +msgstr "свим директоријумима" + +#: gui/dialogs/playlistdialog.cpp:162 +msgid "Top-level directory" +msgstr "највишем директоријуму" + +#: gui/dialogs/playlistdialog.cpp:163 +msgid "Playlist Content" +msgstr "Садржај листе нумера" + +#: gui/dialogs/playlistdialog.cpp:164 +msgid "For&mat:" +msgstr "Фор&мат:" + +#: gui/dialogs/playlistdialog.cpp:167 +msgid "Incl&ude only the selected files" +msgstr "Укључи само &означене фајлове" + +#: gui/dialogs/playlistdialog.cpp:168 +msgid "Sort by file &name" +msgstr "Сортирај по &имену" + +#: gui/dialogs/playlistdialog.cpp:170 +msgid "Sort by &tag field" +msgstr "Сортирај по &пољу ознаке" + +#: gui/dialogs/playlistdialog.cpp:184 +msgid "Use &relative path for files in playlist" +msgstr "Користи &релативну путању за фајлове на листи нумера" + +#: gui/dialogs/playlistdialog.cpp:186 +msgid "Use full p&ath for files in playlist" +msgstr "Користи пуну пут&ању за фајлове на листи нумера" + +#: gui/dialogs/playlistdialog.cpp:187 +msgid "Write only &list of files" +msgstr "Упиши само &списак фајлова" + +#: gui/dialogs/playlistdialog.cpp:189 +msgid "Write &info using" +msgstr "Упиши &информације користећи" + +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 +msgid "Rename Directory" +msgstr "Преименуј директоријум" + +#: gui/dialogs/rendirdialog.cpp:67 +msgid "Format" +msgstr "Формат" + +#: gui/dialogs/rendirdialog.cpp:72 +msgid "Preview" +msgstr "Преглед" + +#: gui/dialogs/rendirdialog.cpp:107 +msgid "Create Directory" +msgstr "Направи директоријум" + +#: gui/dialogs/rendirdialog.cpp:110 +msgid "From Tag 2 and Tag 1" +msgstr "Из ознаке 2 и ознаке 1" + +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 +msgid "From Tag 1" +msgstr "Из ознаке 1" + +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 +msgid "From Tag 2" +msgstr "Из ознаке 2" + +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 +msgid "From:" +msgstr "Из:" + +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 +msgid "To:" +msgstr "У:" + +#: gui/dialogs/serverimportdialog.cpp:63 +msgid "&Find" +msgstr "&Нађи" + +#: gui/dialogs/serverimportdialog.cpp:83 +msgid "C&GI Path:" +msgstr "Ц&ГИ путања:" + +#: gui/dialogs/serverimportdialog.cpp:94 +msgid "&Additional Tags" +msgstr "Дода&тне ознаке" + +#: gui/dialogs/serverimportdialog.cpp:95 +msgid "C&over Art" +msgstr "Омот а&лбума" + +#: gui/dialogs/tagimportdialog.cpp:49 +msgid "Import from Tags" +msgstr "Увези из ознака" + +#: gui/dialogs/tagimportdialog.cpp:59 +msgid "Extraction:" +msgstr "Извлачење:" + +#: gui/dialogs/textimportdialog.cpp:58 +msgid "Import from File/Clipboard" +msgstr "Увези из фајла/клипборда" + +#: gui/dialogs/textimportdialog.cpp:86 +msgid "From F&ile" +msgstr "Из &фајла" + +#: gui/forms/filelist.cpp:136 +msgid "&Expand all" +msgstr "Раз&гранај све" + +#: gui/forms/filelist.cpp:137 +msgid "&Collapse all" +msgstr "&Сакупи све" + +#: gui/forms/filelist.cpp:138 +msgid "&Rename" +msgstr "П&реименуј" + +#: gui/forms/filelist.cpp:139 +msgid "&Move to Trash" +msgstr "Премјести у &смеће" + +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 +msgid "&Play" +msgstr "Ре&продукуј" + +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 +msgid "F&ile" +msgstr "Ф&ајл" + +#: gui/forms/kid3form.cpp:211 +msgid "Name:" +msgstr "Име:" + +#: gui/forms/kid3form.cpp:236 +msgid "Filename from Tag 1" +msgstr "ознаке 1 у име фајла" + +#: gui/forms/kid3form.cpp:239 +msgid "Filename from Tag 2" +msgstr "ознаке 2 у име фајла" + +#: gui/forms/kid3form.cpp:261 +msgid "Tag 1 from Filename" +msgstr "ознаку 1 из имена фајла" + +#: gui/forms/kid3form.cpp:265 +msgid "Tag 2 from Filename" +msgstr "ознаку 2 из имена фајла" + +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 +msgid "Tag &1" +msgstr "Ознака &1" + +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 +msgid "Copy" +msgstr "Копирај" + +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 +msgid "Paste" +msgstr "Налијепи" + +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 +msgid "Remove" +msgstr "Уклони" + +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 +msgid "Tag &2" +msgstr "Ознака &2" + +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 +msgid "Edit" +msgstr "Уреди" + +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 +msgid "Add" +msgstr "Додај" + +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 +msgid "Delete" +msgstr "Обриши" + +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Фокус" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Из имена фајла" + +#: gui/forms/kid3mainwindow.cpp:115 +msgid "Download" +msgstr "Преузми" + +#: gui/forms/kid3mainwindow.cpp:193 +msgid "Main Toolbar" +msgstr "Главна трака" + +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 +msgid "Opens a directory" +msgstr "Отвара директоријум" + +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 +msgid "Opens a recently used directory" +msgstr "Отвара недавно коришћен директоријум" + +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 +msgid "Reverts the changes of all or the selected files" +msgstr "Поништава измјене свих или изабраних фајлова" + +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 +msgid "Saves the changed files" +msgstr "Уписује измјене фајлова" + +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 +msgid "Quits the application" +msgstr "Напушта апликацију" + +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 +msgid "Select all files" +msgstr "Изабери све фајлове" + +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 +msgid "Deselect all files" +msgstr "Поништи избор свих фајлова" + +#: gui/forms/kid3mainwindow.cpp:235 +msgid "Configure Shortcuts" +msgstr "Подеси пречице" + +#: gui/forms/kid3mainwindow.cpp:236 +msgid "Configure Toolbars" +msgstr "Подеси траке алата" + +#: gui/forms/kid3mainwindow.cpp:237 +msgid "Preferences dialog" +msgstr "Дијалог подешавања" + +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 +msgid "O&pen Directory..." +msgstr "О&твори директоријум..." + +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 +msgid "&Import..." +msgstr "&Увези..." + +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 +msgid "Import from %1..." +msgstr "Увези са %1..." + +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 +msgid "&Browse Cover Art..." +msgstr "Потражи о&мот албума..." + +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 +msgid "&Export..." +msgstr "Изв&ези..." + +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 +msgid "&Create Playlist..." +msgstr "Направи &листу нумера..." + +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 +msgid "Apply &Filename Format" +msgstr "Примијени формат имена фа&јла" + +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 +msgid "Apply &Tag Format" +msgstr "Примијени формат &ознаке" + +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 +msgid "&Rename Directory..." +msgstr "Преименуј &директоријум..." + +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 +msgid "&Number Tracks..." +msgstr "Ну&мериши..." + +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 +msgid "F&ilter..." +msgstr "Ф&илтер..." + +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 +msgid "Convert ID3v2.3 to ID3v2.&4" +msgstr "Претвори ИД3в2.3 у ИД3в2.&4" + +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 +msgid "Convert ID3v2.4 to ID3v2.&3" +msgstr "Претвори ИД3в2.4 у ИД3в2.&3" + +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 +msgid "Show &Picture" +msgstr "Прикажи с&лику" + +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 +msgid "Auto &Hide Tags" +msgstr "Аутоматски &сакриј ознаке" + +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 +msgid "&Previous File" +msgstr "&Претходни фајл" + +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 +msgid "&Next File" +msgstr "&Сљедећи фајл" + +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 +msgid "Frames:" +msgstr "Кадрови:" + +#: gui/forms/kid3mainwindow.cpp:389 +msgid "&File" +msgstr "&Фајл" + +#: gui/forms/kid3mainwindow.cpp:395 +msgid "&Open..." +msgstr "&Отвори..." + +#: gui/forms/kid3mainwindow.cpp:409 +msgid "Open &Recent" +msgstr "Отвори &недавно" + +#: gui/forms/kid3mainwindow.cpp:427 +msgid "&Save" +msgstr "&Сачувај" + +#: gui/forms/kid3mainwindow.cpp:440 +msgid "Re&vert" +msgstr "&Врати" + +#: gui/forms/kid3mainwindow.cpp:452 +msgid "Import from file or clipboard" +msgstr "Увези из фајла или клипборда" + +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 +msgid "Import from %1" +msgstr "Увези са %1" + +#: gui/forms/kid3mainwindow.cpp:495 +msgid "Browse album cover artwork" +msgstr "Потражи слику омота албума" + +#: gui/forms/kid3mainwindow.cpp:504 +msgid "Export to file or clipboard" +msgstr "Извези у фајл или клипборд" + +#: gui/forms/kid3mainwindow.cpp:514 +msgid "Create M3U Playlist" +msgstr "Направи М3У листу нумера" + +#: gui/forms/kid3mainwindow.cpp:527 +msgid "&Quit" +msgstr "&Напусти" + +#: gui/forms/kid3mainwindow.cpp:536 +msgid "&Edit" +msgstr "&Уреди" + +#: gui/forms/kid3mainwindow.cpp:540 +msgid "Select &All" +msgstr "Изабери с&ве" + +#: gui/forms/kid3mainwindow.cpp:551 +msgid "Dese&lect" +msgstr "По&ништи избор" + +#: gui/forms/kid3mainwindow.cpp:560 +msgid "Select previous file" +msgstr "Изабери претходни фајл" + +#: gui/forms/kid3mainwindow.cpp:572 +msgid "Select next file" +msgstr "Изабери сљедећи фајл" + +#: gui/forms/kid3mainwindow.cpp:583 +msgid "&Tools" +msgstr "&Алати" + +#: gui/forms/kid3mainwindow.cpp:586 +msgid "Apply Filename Format" +msgstr "Примијени формат назива фајла" + +#: gui/forms/kid3mainwindow.cpp:595 +msgid "Apply Tag Format" +msgstr "Примијени формат ознаке" + +#: gui/forms/kid3mainwindow.cpp:632 +msgid "Convert ID3v2.3 to ID3v2.4" +msgstr "Претвори ИД3в2.3 у ИД3в2.4" + +#: gui/forms/kid3mainwindow.cpp:643 +msgid "Convert ID3v2.4 to ID3v2.3" +msgstr "Претвори ИД3в2.4 у ИД3в2.3" + +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 +msgid "Play" +msgstr "Репродукција" + +#: gui/forms/kid3mainwindow.cpp:665 +msgid "&Settings" +msgstr "&Подешавање" + +#: gui/forms/kid3mainwindow.cpp:669 +msgid "Enables/disables the toolbar" +msgstr "Приказује/сакрива траку алата" + +#: gui/forms/kid3mainwindow.cpp:670 +msgid "Show &Toolbar" +msgstr "Прикажи траку &алата" + +#: gui/forms/kid3mainwindow.cpp:680 +msgid "Enables/disables the statusbar" +msgstr "Приказује/сакрива траку стања" + +#: gui/forms/kid3mainwindow.cpp:681 +msgid "Show St&atusbar" +msgstr "Прикажи траку &стања" + +#: gui/forms/kid3mainwindow.cpp:690 +msgid "Show Picture" +msgstr "Прикажи слику" + +#: gui/forms/kid3mainwindow.cpp:700 +msgid "Auto Hide Tags" +msgstr "Аутоматски сакриј ознаке" + +#: gui/forms/kid3mainwindow.cpp:710 +msgid "Configure Kid3" +msgstr "Подеси Кид3" + +#: gui/forms/kid3mainwindow.cpp:711 +msgid "&Configure Kid3..." +msgstr "&Подеси Кид3..." + +#: gui/forms/kid3mainwindow.cpp:728 +msgid "Kid3 &Handbook" +msgstr "Кид3 п&риручник" + +#: gui/forms/kid3mainwindow.cpp:738 +msgid "About Kid3" +msgstr "О Кид3-у" + +#: gui/forms/kid3mainwindow.cpp:739 +msgid "&About Kid3" +msgstr "&О Кид3-у" + +#: gui/forms/kid3mainwindow.cpp:747 +msgid "About Qt" +msgstr "О КјуТ-у" + +#: gui/forms/kid3mainwindow.cpp:748 +msgid "About &Qt" +msgstr "О КјуТ-у" + +#: gui/forms/kid3mainwindow.cpp:790 +msgid "Opening directory..." +msgstr "Отварам директоријум..." + +#: gui/forms/kid3mainwindow.cpp:912 +msgid "Saving directory..." +msgstr "Уписујем директоријум..." + +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 +msgid "" +"The current directory has been modified.\n" +"Do you want to save it?" +msgstr "" +"Тренутни директоријум је измијењен.\n" +"Желите ли да сачувате измјене?" + +#: gui/forms/kid3mainwindow.cpp:973 +msgid "Warning" +msgstr "Упозорење" + +#: gui/forms/kid3mainwindow.cpp:980 +msgid "Warning - Kid3" +msgstr "Упозорење - Кид3" + +#: gui/forms/kid3mainwindow.cpp:1059 +msgid "Open" +msgstr "Отвори" + +#: gui/forms/kid3mainwindow.cpp:1135 +msgid "Exiting..." +msgstr "Излазим..." + +#: gui/forms/kid3mainwindow.cpp:1179 +msgid "Toggle the statusbar..." +msgstr "Прикажи/сакриј траку стања..." + +#: gui/forms/kid3mainwindow.cpp:1261 +msgid "Creating playlist..." +msgstr "Правим листу нумера..." + +#: gui/forms/kid3mainwindow.cpp:1287 +msgid "Import" +msgstr "Увези" + +#: gui/forms/kid3mainwindow.cpp:1400 +msgid "Configure - Kid3" +msgstr "Подешавање - Кид3" + +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 +msgid "Error while renaming:\n" +msgstr "Грешка приликом преименовања:\n" + +#: gui/forms/kid3mainwindow.cpp:1562 +msgid " [filtered]" +msgstr " [филтриран]" + +#: gui/forms/kid3mainwindow.cpp:1568 +msgid " [modified]" +msgstr " [измијењен]" + +#: gui/forms/kid3mainwindow.cpp:1810 +msgid "Add Frame" +msgstr "Додај оквир" + +#: gui/forms/kid3mainwindow.cpp:1811 +msgid "Select the frame ID" +msgstr "Изаберите ИД оквира" + +#: gui/forms/kid3mainwindow.cpp:1899 +msgid "Rename File" +msgstr "Преименуј фајл" + +#: gui/forms/kid3mainwindow.cpp:1900 +msgid "Enter new file name:" +msgstr "Унесите ново име фајла:" + +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 +msgid "Do you really want to move these %1 items to the trash?" +msgstr "Желите ли заиста да премјестите ових %1 ставки у смеће?" + +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 +msgid "Do you really want to move this item to the trash?" +msgid_plural "Do you really want to move these %1 items to the trash?" +msgstr[0] "Желите ли заиста да премјестите ову %1 ставку у смеће?" +msgstr[1] "Желите ли заиста да премјестите ове %1 ставке у смеће?" +msgstr[2] "Желите ли заиста да премјестите ових %1 ставки у смеће?" +msgstr[3] "Желите ли заиста да премјестите ову ставку у смеће?" + +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 +msgid "Move to Trash" +msgstr "Премјести у смеће" + +#: gui/forms/kid3mainwindow.cpp:1998 +msgid "Directory must be empty.\n" +msgstr "Директориујм мора бити празан.\n" + +#: gui/forms/kid3mainwindow.cpp:1999 +msgid "Could not move these files to the Trash" +msgstr "Нисам могао да премјестим ове фајлове у смеће" + +#: gui/widgets/configtable.cpp:135 +msgid "&Insert row" +msgstr "&Убаци ред" + +#: gui/widgets/configtable.cpp:139 +msgid "&Delete row" +msgstr "&Обриши ред" + +#: gui/widgets/configtable.cpp:143 +msgid "&Clear row" +msgstr "О&чисти ред" + +#: gui/widgets/formatbox.cpp:47 +msgid "Format while editing" +msgstr "Форматирај при уређивању" + +#: gui/widgets/formatbox.cpp:51 +msgid "Case conversion:" +msgstr "Величина слова:" + +#: gui/widgets/formatbox.cpp:57 +msgid "No changes" +msgstr "без измјена" + +#: gui/widgets/formatbox.cpp:59 +msgid "All lowercase" +msgstr "све малим" + +#: gui/widgets/formatbox.cpp:61 +msgid "All uppercase" +msgstr "све великим" + +#: gui/widgets/formatbox.cpp:63 +msgid "First letter uppercase" +msgstr "прво слово великим" + +#: gui/widgets/formatbox.cpp:65 +msgid "All first letters uppercase" +msgstr "сва прва слова великим" + +#: gui/widgets/formatbox.cpp:68 +msgid "String replacement:" +msgstr "Замјена текста:" + +#: gui/widgets/formatbox.cpp:72 +msgid "From" +msgstr "из" + +#: gui/widgets/formatbox.cpp:72 +msgid "To" +msgstr "у" + +#: gui/widgets/formatlistedit.cpp:81 +msgid "&Add" +msgstr "&Додај" + +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 +msgid "&Remove" +msgstr "У&клони" + +#: gui/widgets/formatlistedit.cpp:242 +msgid "New" +msgstr "Ново" + +#: gui/widgets/frametable.cpp:145 +msgid "&Select all" +msgstr "И&забери све" + +#: gui/widgets/frametable.cpp:147 +msgid "&Deselect all" +msgstr "По&ништи избор" + +#: gui/widgets/imageviewer.cpp:47 +msgid "View Picture" +msgstr "Погледај слику" + +#: gui/widgets/picturelabel.cpp:67 +msgid "" +"Drag album\n" +"artwork\n" +"here" +msgstr "" +"Превуци\n" +"слику албума\n" +"овдје" + +#: gui/widgets/playtoolbar.cpp:62 +msgid "Play/Pause" +msgstr "Репродукуј/паузирај" + +#: gui/widgets/playtoolbar.cpp:64 +msgid "Stop playback" +msgstr "Заустави репродукцију" + +#: gui/widgets/playtoolbar.cpp:66 +msgid "Previous Track" +msgstr "Претходна нумера" + +#: gui/widgets/playtoolbar.cpp:68 +msgid "Next Track" +msgstr "Сљедећа нумера" + +#: gui/widgets/playtoolbar.cpp:70 +msgid "Close" +msgstr "Затвори" + +#: gui/widgets/recentfilesmenu.cpp:111 +msgid "&Clear List" +msgstr "О&чисти списак" + +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Очисти" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Поново постави" + +#: gui/widgets/stringlistedit.cpp:51 +msgid "&Add..." +msgstr "&Додај..." + +#: gui/widgets/stringlistedit.cpp:52 +msgid "Move &Up" +msgstr "Помјери &горе" + +#: gui/widgets/stringlistedit.cpp:53 +msgid "Move &Down" +msgstr "Помјери до&ље" + +#: gui/widgets/stringlistedit.cpp:54 +msgid "&Edit..." +msgstr "У&реди..." + +#: gui/widgets/stringlistedit.cpp:90 +msgid "Add Item" +msgstr "Додај ставку" + +#: gui/widgets/stringlistedit.cpp:123 +msgid "Edit Item" +msgstr "Уреди ставку" + +#: rc.cpp:1 +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Младен Пејаковић" + +#: rc.cpp:2 +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pejakm@gmail.com" + +#: rc.cpp:3 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Младен Пејаковић" + +#: rc.cpp:4 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "pejakm@gmail.com" diff -Nru kid3-2.0.1/po/sr@latin.po kid3-2.1/po/sr@latin.po --- kid3-2.0.1/po/sr@latin.po 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/po/sr@latin.po 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,2267 @@ +# Kid3 Serbian Latin Translation. +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. Free Software Foundation, Inc. +# +# Urs Fleisch , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# Mladen Pejaković , 2012. +msgid "" +msgstr "" +"Project-Id-Version: Kid3 2.1\n" +"Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?group_id=70849&atid=529221\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" +"PO-Revision-Date: 2011-04-26 23:41+0200\n" +"Last-Translator: Mladen Pejaković \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Language: sr\n" +"X-Source-Language: C\n" + +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Radnja" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Prečica" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 +msgid "AENC - Audio encryption" +msgstr "AENC - audio šifrovanje" + +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 +msgid "APIC - Attached picture" +msgstr "APIC - priložena slika" + +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 +msgid "COMM - Comments" +msgstr "COMM - komentari" + +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 +msgid "COMR - Commercial" +msgstr "COMR - komercijalno" + +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 +msgid "ENCR - Encryption method registration" +msgstr "ENCR - registracija metode šifrovanja" + +#: core/formats/mp3file.cpp:1252 +msgid "EQUA - Equalization" +msgstr "EQUA - jednačenje" + +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 +msgid "ETCO - Event timing codes" +msgstr "" + +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 +msgid "GEOB - General encapsulated object" +msgstr "GEOB - opšti ugnežđeni objekat" + +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 +msgid "GRID - Group identification registration" +msgstr "GRID - registracija identifikacije grupe" + +#: core/formats/mp3file.cpp:1256 +msgid "IPLS - Involved people list" +msgstr "IPLS - spisak uključenih ljudi" + +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 +msgid "LINK - Linked information" +msgstr "LINK - povezana informacija" + +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 +msgid "MCDI - Music CD identifier" +msgstr "MCDI - identifikator muzičkog CD-a" + +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 +msgid "MLLT - MPEG location lookup table" +msgstr "" + +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 +msgid "OWNE - Ownership frame" +msgstr "OWNE - vlasnički okvir" + +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 +msgid "PRIV - Private frame" +msgstr "PRIV - privatni okvir" + +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 +msgid "PCNT - Play counter" +msgstr "PCNT - brojač reprodukcije" + +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 +msgid "POPM - Popularimeter" +msgstr "POPM - merač popularnosti" + +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 +msgid "POSS - Position synchronisation frame" +msgstr "POSS - kadar sinhronizacije pozicije" + +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 +msgid "RBUF - Recommended buffer size" +msgstr "RBUF - preporučena veličina bafera" + +#: core/formats/mp3file.cpp:1267 +msgid "RVAD - Relative volume adjustment" +msgstr "RVAD - podešavanje relativne jačine zvuka" + +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 +msgid "RVRB - Reverb" +msgstr "RVRB - reverberacija" + +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 +msgid "SYLT - Synchronized lyric/text" +msgstr "" + +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 +msgid "SYTC - Synchronized tempo codes" +msgstr "" + +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 +msgid "TALB - Album/Movie/Show title" +msgstr "TALB - naslov albuma/filma/emisije" + +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 +msgid "TBPM - BPM (beats per minute)" +msgstr "TBPM - BPM (otkucaja u minuti)" + +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 +msgid "TCOM - Composer" +msgstr "TCOM - kompozitor" + +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 +msgid "TCON - Content type" +msgstr "TCON - tip sadržaja" + +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 +msgid "TCOP - Copyright message" +msgstr "TCOP - poruka autorskog prava" + +#: core/formats/mp3file.cpp:1278 +msgid "TDAT - Date" +msgstr "TDAT - datum" + +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 +msgid "TDLY - Playlist delay" +msgstr "TDLY - kašnjenje liste numera" + +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 +msgid "TENC - Encoded by" +msgstr "TENC - koder" + +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 +msgid "TEXT - Lyricist/Text writer" +msgstr "TEXT - pesnik/tekstopisac" + +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 +msgid "TFLT - File type" +msgstr "TFLT - tip fajla" + +#: core/formats/mp3file.cpp:1289 +msgid "TIME - Time" +msgstr "TIME - vreme" + +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 +msgid "TIT1 - Content group description" +msgstr "TIT1 - opis grupe sadržaja" + +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 +msgid "TIT2 - Title/songname/content description" +msgstr "TIT2 - naslov/ime pesme/opis sadržaja" + +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 +msgid "TIT3 - Subtitle/Description refinement" +msgstr "" + +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 +msgid "TKEY - Initial key" +msgstr "TKEY - početni ključ" + +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 +msgid "TLAN - Language(s)" +msgstr "TLAN - jezik (jezici)" + +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 +msgid "TLEN - Length" +msgstr "TLEN - trajanje" + +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 +msgid "TMED - Media type" +msgstr "TMED - tip medija" + +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 +msgid "TOAL - Original album/movie/show title" +msgstr "TOAL - izvorni naslov albuma/filma/emisije" + +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 +msgid "TOFN - Original filename" +msgstr "TOFN - izvorno ime" + +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 +msgid "TOLY - Original lyricist(s)/text writer(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 +msgid "TOPE - Original artist(s)/performer(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1303 +msgid "TORY - Original release year" +msgstr "TORY - izvorna godina izdavanja" + +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 +msgid "TOWN - File owner/licensee" +msgstr "" + +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 +msgid "TPE1 - Lead performer(s)/Soloist(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 +msgid "TPE2 - Band/orchestra/accompaniment" +msgstr "" + +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 +msgid "TPE3 - Conductor/performer refinement" +msgstr "" + +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 +msgid "TPE4 - Interpreted, remixed, or otherwise modified by" +msgstr "" + +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 +msgid "TPOS - Part of a set" +msgstr "" + +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 +msgid "TPUB - Publisher" +msgstr "TPUB - izdavač" + +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 +msgid "TRCK - Track number/Position in set" +msgstr "" + +#: core/formats/mp3file.cpp:1313 +msgid "TRDA - Recording dates" +msgstr "TRDA - datumi snimanja" + +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 +msgid "TRSN - Internet radio station name" +msgstr "TRSN - ime internet radio stanice" + +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 +msgid "TRSO - Internet radio station owner" +msgstr "TRSO - vlasnik internet radio stanice" + +#: core/formats/mp3file.cpp:1316 +msgid "TSIZ - Size" +msgstr "TSIZ - veličina" + +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 +msgid "TSRC - ISRC (international standard recording code)" +msgstr "TSRC - ISRC (međunarodni standardni kôd snimanja)" + +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 +msgid "TSSE - Software/Hardware and settings used for encoding" +msgstr "" + +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 +msgid "TXXX - User defined text information" +msgstr "TXXX - korisnički definisana tekstualna informacija" + +#: core/formats/mp3file.cpp:1324 +msgid "TYER - Year" +msgstr "TYER - godina" + +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 +msgid "UFID - Unique file identifier" +msgstr "UFID - jedinstveni identifikator fajla" + +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 +msgid "USER - Terms of use" +msgstr "USER - uslovi korišćenja" + +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 +msgid "USLT - Unsynchronized lyric/text transcription" +msgstr "" + +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 +msgid "WCOM - Commercial information" +msgstr "WCOM - podaci o komercijalizovanju" + +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 +msgid "WCOP - Copyright/Legal information" +msgstr "WCOP - autorsko pravo/pravne informacije" + +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 +msgid "WOAF - Official audio file webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 +msgid "WOAR - Official artist/performer webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 +msgid "WOAS - Official audio source webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 +msgid "WORS - Official internet radio station homepage" +msgstr "" + +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 +msgid "WPAY - Payment" +msgstr "WPAY - plaćanje" + +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 +msgid "WPUB - Official publisher webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 +msgid "WXXX - User defined URL link" +msgstr "WXXX - korisnički definisana URL veza" + +#: core/formats/taglibfile.cpp:1669 +msgid "ASPI - Audio seek point index" +msgstr "" + +#: core/formats/taglibfile.cpp:1673 +msgid "EQU2 - Equalisation (2)" +msgstr "EQU2 - jednačenje (2)" + +#: core/formats/taglibfile.cpp:1686 +msgid "RVA2 - Relative volume adjustment (2)" +msgstr "RVA2 - podešavanje relativne jačine zvuka (2)" + +#: core/formats/taglibfile.cpp:1688 +msgid "SEEK - Seek frame" +msgstr "SEEK - kadar traženja" + +#: core/formats/taglibfile.cpp:1689 +msgid "SIGN - Signature frame" +msgstr "SIGN - kadar potpisa" + +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "" + +#: core/formats/taglibfile.cpp:1698 +msgid "TDEN - Encoding time" +msgstr "TDEN - vreme kodiranja" + +#: core/formats/taglibfile.cpp:1700 +msgid "TDOR - Original release time" +msgstr "TDOR - vreme izdavanja originala" + +#: core/formats/taglibfile.cpp:1701 +msgid "TDRC - Recording time" +msgstr "TDRC - vreme snimanja" + +#: core/formats/taglibfile.cpp:1702 +msgid "TDRL - Release time" +msgstr "TDRL - vreme izdavanja" + +#: core/formats/taglibfile.cpp:1703 +msgid "TDTG - Tagging time" +msgstr "TDTG - vreme označavanja" + +#: core/formats/taglibfile.cpp:1707 +msgid "TIPL - Involved people list" +msgstr "TIPL - spisak uključenih ljudi" + +#: core/formats/taglibfile.cpp:1714 +msgid "TMCL - Musician credits list" +msgstr "" + +#: core/formats/taglibfile.cpp:1716 +msgid "TMOO - Mood" +msgstr "TMOO - raspoloženje" + +#: core/formats/taglibfile.cpp:1727 +msgid "TPRO - Produced notice" +msgstr "" + +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - redosled sortiranja autora albuma" + +#: core/formats/taglibfile.cpp:1733 +msgid "TSOA - Album sort order" +msgstr "TSOA - redosled sortiranja albuma" + +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - redosled sortiranja kompozitora" + +#: core/formats/taglibfile.cpp:1735 +msgid "TSOP - Performer sort order" +msgstr "TSOP - redosled sortiranja izvođača" + +#: core/formats/taglibfile.cpp:1736 +msgid "TSOT - Title sort order" +msgstr "TSOT - redosled sortiranja naslova" + +#: core/formats/taglibfile.cpp:1739 +msgid "TSST - Set subtitle" +msgstr "TSST - postavi podnaslov" + +#: core/import/amazonimporter.cpp:59 +msgid "Amazon" +msgstr "Amazon" + +#: core/import/discogsimporter.cpp:61 +msgid "Discogs" +msgstr "Diskogs" + +#: core/import/freedbimporter.cpp:60 +msgid "gnudb.org" +msgstr "gnudb.org" + +#: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 +#: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 +msgid "Ready." +msgstr "Spreman." + +#: core/import/httpclient.cpp:75 +msgid "Connecting..." +msgstr "Povezivanje..." + +#: core/import/httpclient.cpp:78 +msgid "Host found..." +msgstr "Domaćin nađen..." + +#: core/import/httpclient.cpp:81 +msgid "Request sent..." +msgstr "Zahtev poslat..." + +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 +msgid "Data received: %1" +msgstr "Podaci primljeni: %1" + +#: core/import/httpclient.cpp:117 +msgid "Socket error: " +msgstr "Greška soketa: " + +#: core/import/httpclient.cpp:120 +msgid "Connection refused" +msgstr "Veza odbijena" + +#: core/import/httpclient.cpp:123 +msgid "Host not found" +msgstr "Domaćin nije nađen" + +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 +msgid "Year" +msgstr "Godina" + +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 +#: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 +msgid "Length" +msgstr "Trajanje" + +#: core/import/musicbrainzclient.cpp:250 +msgid "Unrecognized" +msgstr "Nije prepoznato" + +#: core/import/musicbrainzclient.cpp:262 +msgid "Recognized" +msgstr "Prepoznato" + +#: core/import/musicbrainzclient.cpp:265 +msgid "User Selection" +msgstr "Korisnikov odabir" + +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Otisak prsta" + +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 +msgid "Error" +msgstr "Greška" + +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ID pretraga" + +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Pretraga metapodataka" + +#: core/import/musicbrainzreleaseimporter.cpp:60 +msgid "MusicBrainz Release" +msgstr "MjuzikBrejnz izdanje" + +#: core/import/tracktypeimporter.cpp:59 +msgid "TrackType.org" +msgstr "TrekTajp.org" + +#: core/model/commandformatreplacer.cpp:140 +msgid "Filenames" +msgstr "Imena fajlova" + +#: core/model/commandformatreplacer.cpp:148 +msgid "URLs" +msgstr "URL-ovi" + +#: core/model/commandformatreplacer.cpp:152 +msgid "Directory name" +msgstr "Ime direktorijuma" + +#: core/model/commandformatreplacer.cpp:160 +#: gui/dialogs/browsecoverartdialog.cpp:58 +msgid "Encode as URL" +msgstr "Kodiraj kao URL" + +#: core/model/commandstablemodel.cpp:172 +msgid "Confirm" +msgstr "Potvrdi" + +#: core/model/commandstablemodel.cpp:174 +msgid "Output" +msgstr "Izlaz" + +#: core/model/commandstablemodel.cpp:176 core/model/frametablemodel.cpp:190 +msgid "Name" +msgstr "Ime" + +#: core/model/commandstablemodel.cpp:178 +msgid "Command" +msgstr "Naredba" + +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 +msgid "Create directory %1 failed\n" +msgstr "Pravljenje direktorijuma %1 nije uspelo\n" + +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 +msgid "File %1 already exists\n" +msgstr "Fajl %1 već postoji\n" + +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 +msgid "%1 is not a directory\n" +msgstr "%1 nije direktorijum\n" + +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 +msgid "Rename %1 to %2 failed\n" +msgstr "Preimenovanje %1 u %2 nije uspelo\n" + +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 +msgid "%1 already exists\n" +msgstr "%1 već postoji\n" + +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 +msgid "%1 is not a file\n" +msgstr "%1 nije fajl\n" + +#: core/model/dirrenamer.cpp:390 +msgid "New directory name is too different\n" +msgstr "Novo ime direktorijuma je previše različito\n" + +#: core/model/dirrenamer.cpp:440 +msgid "Create directory" +msgstr "Napravi direktorijum" + +#: core/model/dirrenamer.cpp:441 +msgid "Rename directory" +msgstr "Preimenuj direktorijum" + +#: core/model/dirrenamer.cpp:442 +msgid "Rename file" +msgstr "Preimenuj fajl" + +#: core/model/externalprocess.cpp:54 +msgid "C&lear" +msgstr "O&čisti" + +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 +#: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 +msgid "&Close" +msgstr "&Zatvori" + +#: core/model/externalprocess.cpp:116 +msgid "Execute " +msgstr "Izvrši " + +#: core/model/externalprocess.cpp:152 +msgid "Could not execute " +msgstr "Ne mogu da izvršim " + +#: core/model/filefilter.cpp:112 +msgid "True if strings are equal" +msgstr "Tačno ako su nizovi jednaki" + +#: core/model/filefilter.cpp:116 +msgid "True if string contains substring" +msgstr "Tačno ako niz sadrži podniz" + +#: core/model/filefilter.cpp:120 +msgid "True if string matches regexp" +msgstr "Tačno ako se niz poklapa sa regizom" + +#: core/model/filefilter.cpp:124 +msgid "Logical AND" +msgstr "Logičko I" + +#: core/model/filefilter.cpp:128 +msgid "Logical OR" +msgstr "Logičko ILI" + +#: core/model/filefilter.cpp:132 +msgid "Logical negation" +msgstr "Logička negacija" + +#: core/model/frametablemodel.cpp:190 gui/dialogs/editframefieldsdialog.cpp:659 +msgid "Data" +msgstr "Podaci" + +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 +msgid "All Supported Files" +msgstr "Svi podržani fajlovi" + +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "All Files (*)" +msgstr "Svi fajlovi (*)" + +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 +msgid "Track" +msgstr "Numera" + +#: core/model/trackdatamodel.cpp:197 core/tags/trackdata.cpp:183 +msgid "Absolute path to file" +msgstr "Apsolutna putanja do fajla" + +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 +msgid "Filename" +msgstr "Ime fajla" + +#: core/model/trackdatamodel.cpp:201 +msgid "Duration" +msgstr "Trajanje" + +#: core/tags/frame.cpp:67 +msgid "Title" +msgstr "Naslov" + +#: core/tags/frame.cpp:68 +msgid "Artist" +msgstr "Izvođač" + +#: core/tags/frame.cpp:69 +msgid "Album" +msgstr "Album" + +#: core/tags/frame.cpp:70 +msgid "Comment" +msgstr "Komentar" + +#: core/tags/frame.cpp:71 +msgid "Date" +msgstr "Godina" + +#: core/tags/frame.cpp:72 gui/widgets/frametable.cpp:60 +msgid "Track Number" +msgstr "Broj numere" + +#: core/tags/frame.cpp:73 +msgid "Genre" +msgstr "Žanr" + +#: core/tags/frame.cpp:75 +msgid "Album Artist" +msgstr "Izvođač albuma" + +#: core/tags/frame.cpp:76 +msgid "Arranger" +msgstr "Aranžer" + +#: core/tags/frame.cpp:77 +msgid "Author" +msgstr "Autor" + +#: core/tags/frame.cpp:78 +msgid "BPM" +msgstr "BPM" + +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 +msgid "Composer" +msgstr "Kompozitor" + +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 +msgid "Conductor" +msgstr "Dirigent" + +#: core/tags/frame.cpp:81 +msgid "Copyright" +msgstr "Autorsko pravo" + +#: core/tags/frame.cpp:82 +msgid "Disc Number" +msgstr "Broj diska" + +#: core/tags/frame.cpp:83 +msgid "Encoded-by" +msgstr "Koder" + +#: core/tags/frame.cpp:84 +msgid "Grouping" +msgstr "Grupisanje" + +#: core/tags/frame.cpp:85 +msgid "ISRC" +msgstr "ISRC" + +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 +msgid "Language" +msgstr "Jezik" + +#: core/tags/frame.cpp:87 +msgid "Lyricist" +msgstr "Tekstopisac" + +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 +msgid "Lyrics" +msgstr "Tekst" + +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 +msgid "Media" +msgstr "Medija" + +#: core/tags/frame.cpp:90 +msgid "Original Album" +msgstr "Izvorni album" + +#: core/tags/frame.cpp:91 +msgid "Original Artist" +msgstr "Izvorni izvođač" + +#: core/tags/frame.cpp:92 +msgid "Original Date" +msgstr "Izvorni datum" + +#: core/tags/frame.cpp:93 +msgid "Part" +msgstr "Dio" + +#: core/tags/frame.cpp:94 +msgid "Performer" +msgstr "Izvođač" + +#: core/tags/frame.cpp:95 +msgid "Picture" +msgstr "Slika" + +#: core/tags/frame.cpp:96 +msgid "Publisher" +msgstr "Izdavač" + +#: core/tags/frame.cpp:97 +msgid "Remixer" +msgstr "Remikser" + +#: core/tags/frame.cpp:98 +msgid "Subtitle" +msgstr "Podnaslov" + +#: core/tags/frame.cpp:99 +msgid "Website" +msgstr "Vebsajt" + +#: core/tags/trackdata.cpp:199 +msgid "Number of tracks" +msgstr "Broj numera" + +#: core/tags/trackdata.cpp:203 +msgid "Extension" +msgstr "Ekstenzija" + +#: core/tags/trackdata.cpp:215 +msgid "Bitrate" +msgstr "Bitski protok" + +#: core/tags/trackdata.cpp:219 +msgid "VBR" +msgstr "VBR" + +#: core/tags/trackdata.cpp:223 +msgid "Samplerate" +msgstr "Uzorkovanje" + +#: core/tags/trackdata.cpp:229 +msgid "Channels" +msgstr "Kanala" + +#: core/tags/trackdata.cpp:233 +msgid "Codec" +msgstr "Kodek" + +#: gui/app/main.cpp:40 +msgid "Kid3 ID3 Tagger" +msgstr "Kid3 uređivač ID3 oznaka" + +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 +msgid "Kid3" +msgstr "Kid3" + +#: gui/app/main.cpp:56 +msgid "(c) 2003-" +msgstr "© 2003-" + +#: gui/app/main.cpp:58 +msgid "Urs Fleisch" +msgstr "Urs Flajš" + +#: gui/app/main.cpp:62 +msgid "directory to open" +msgstr "direktorijum za otvaranje" + +#: gui/dialogs/browsecoverartdialog.cpp:75 +#: gui/dialogs/browsecoverartdialog.cpp:264 +msgid "Browse Cover Art" +msgstr "Pretraga omota albuma" + +#: gui/dialogs/browsecoverartdialog.cpp:86 +msgid "&Artist/Album" +msgstr "I&zvođač/album" + +#: gui/dialogs/browsecoverartdialog.cpp:100 +msgid "&Source" +msgstr "&Izvor" + +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 +msgid "Source:" +msgstr "Izvor:" + +#: gui/dialogs/browsecoverartdialog.cpp:103 +msgid "URL:" +msgstr "URL:" + +#: gui/dialogs/browsecoverartdialog.cpp:116 +msgid "&URL extraction" +msgstr "Izvlačenje &URL-a" + +#: gui/dialogs/browsecoverartdialog.cpp:120 +msgid "Match" +msgstr "Poklopi" + +#: gui/dialogs/browsecoverartdialog.cpp:120 +msgid "Picture URL" +msgstr "URL slike" + +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 +msgid "&Help" +msgstr "Po&moć" + +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 gui/dialogs/numbertracksdialog.cpp:110 +#: gui/dialogs/playlistdialog.cpp:205 gui/dialogs/rendirdialog.cpp:76 +#: gui/dialogs/serverimportdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:71 +#: gui/dialogs/textimportdialog.cpp:81 +msgid "&Save Settings" +msgstr "&Sačuvaj podešavanja" + +#: gui/dialogs/browsecoverartdialog.cpp:146 +msgid "&Browse" +msgstr "&Potraži" + +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 gui/dialogs/editframefieldsdialog.cpp:961 +#: gui/dialogs/importdialog.cpp:231 gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 +msgid "&Cancel" +msgstr "&Odustani" + +#: gui/dialogs/browsecoverartdialog.cpp:178 +msgid "Click Browse to start" +msgstr "Kliknite na „Potraži“ da biste pokrenuli" + +#: gui/dialogs/browsecoverartdialog.cpp:184 +msgid "Then drag the picture from the browser to Kid3." +msgstr "i onda prevucite sliku sa pregledača u Kid3." + +#: gui/dialogs/browserdialog.cpp:76 +msgid "&Back" +msgstr "&Nazad" + +#: gui/dialogs/browserdialog.cpp:81 +msgid "&Forward" +msgstr "Na&pred" + +#: gui/dialogs/browserdialog.cpp:86 +msgid "&Find:" +msgstr "&Nađi:" + +#: gui/dialogs/browserdialog.cpp:100 +msgid "Find Previous" +msgstr "Nađi prethodno" + +#: gui/dialogs/browserdialog.cpp:110 +msgid "Find Next" +msgstr "Nađi sledeće" + +#: gui/dialogs/configdialog.cpp:114 +msgid "ID3v1" +msgstr "ID3v1" + +#: gui/dialogs/configdialog.cpp:118 +msgid "&Mark truncated fields" +msgstr "Označi odsečena &polja" + +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 +msgid "Text &encoding:" +msgstr "Kodiranje &teksta:" + +#: gui/dialogs/configdialog.cpp:196 +msgid "ID3v2" +msgstr "ID3v2" + +#: gui/dialogs/configdialog.cpp:200 +msgid "Use &track/total number of tracks format" +msgstr "Koristi format &numera/ukupno numera" + +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Broj &cifara numere:" + +#: gui/dialogs/configdialog.cpp:206 +msgid "&Genre as text instead of numeric string" +msgstr "&Žanr kao tekst umesto brojnog niza" + +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 +msgid "ISO-8859-1" +msgstr "ISO-8859-1" + +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 +msgid "UTF16" +msgstr "UTF-16" + +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 +msgid "UTF8" +msgstr "UTF-8" + +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "I&zdanje za nove oznake:" + +#: gui/dialogs/configdialog.cpp:221 +msgid "ID3v2.3.0 (id3lib)" +msgstr "ID3v2.3.0 (id3lib)" + +#: gui/dialogs/configdialog.cpp:222 +msgid "ID3v2.4.0 (TagLib)" +msgstr "ID3v2.4.0 (TagLib)" + +#: gui/dialogs/configdialog.cpp:233 +msgid "Ogg/Vorbis" +msgstr "Ogg/Vorbis" + +#: gui/dialogs/configdialog.cpp:234 +msgid "Comment field &name:" +msgstr "Ime polja ko&mentara:" + +#: gui/dialogs/configdialog.cpp:236 +msgid "&Picture field name:" +msgstr "Ime polja &slike:" + +#: gui/dialogs/configdialog.cpp:259 +msgid "Custom &Genres" +msgstr "Pose&bni žanrovi" + +#: gui/dialogs/configdialog.cpp:260 +msgid "&Show only custom genres" +msgstr "Prik&aži samo posebne žanrove" + +#: gui/dialogs/configdialog.cpp:269 +msgid "&Tag Format" +msgstr "&Format oznake" + +#: gui/dialogs/configdialog.cpp:274 +msgid "Tags" +msgstr "Oznake" + +#: gui/dialogs/configdialog.cpp:276 +msgid "&Tags" +msgstr "&Oznake" + +#: gui/dialogs/configdialog.cpp:285 +msgid "Save" +msgstr "Sačuvaj" + +#: gui/dialogs/configdialog.cpp:286 +msgid "&Preserve file timestamp" +msgstr "Očuvaj &vremensku oznaku fajla" + +#: gui/dialogs/configdialog.cpp:287 +msgid "&Mark changes" +msgstr "O&znači izmene" + +#: gui/dialogs/configdialog.cpp:294 +msgid "&Filename Format" +msgstr "Format imena &fajla" + +#: gui/dialogs/configdialog.cpp:298 +msgid "Files" +msgstr "Fajlovi" + +#: gui/dialogs/configdialog.cpp:300 +msgid "&Files" +msgstr "&Fajlovi" + +#: gui/dialogs/configdialog.cpp:309 +msgid "Browser" +msgstr "Pregledač" + +#: gui/dialogs/configdialog.cpp:310 +msgid "Web &browser:" +msgstr "Veb &pregledač" + +#: gui/dialogs/configdialog.cpp:320 +msgid "Context &Menu Commands" +msgstr "Naredbe kontekstnog me&nija" + +#: gui/dialogs/configdialog.cpp:322 +msgid "&Play on double click" +msgstr "&Reprodukuj pri dvokliku" + +#: gui/dialogs/configdialog.cpp:335 +msgid "User Actions" +msgstr "Radnje korisnika" + +#: gui/dialogs/configdialog.cpp:337 +msgid "&User Actions" +msgstr "Radnje &korisnika" + +#: gui/dialogs/configdialog.cpp:346 +msgid "Proxy" +msgstr "Proksi" + +#: gui/dialogs/configdialog.cpp:347 +msgid "&Proxy:" +msgstr "&Proksi:" + +#: gui/dialogs/configdialog.cpp:349 +msgid "&Use authentication with proxy" +msgstr "Koristi &autentifikaciju za proksi" + +#: gui/dialogs/configdialog.cpp:350 +msgid "Proxy user &name:" +msgstr "Korisničko &ime za proksi:" + +#: gui/dialogs/configdialog.cpp:353 +msgid "Proxy pass&word:" +msgstr "Lozinka za proksi:" + +#: gui/dialogs/configdialog.cpp:377 +msgid "Network" +msgstr "Mreža" + +#: gui/dialogs/configdialog.cpp:379 +msgid "&Network" +msgstr "&Mreža" + +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "Prečice &tastature" + +#: gui/dialogs/configdialog.cpp:407 +msgid "Use custom app&lication font" +msgstr "Koristi pose&bni font za aplikaciju" + +#: gui/dialogs/configdialog.cpp:408 +msgid "A&pplication Font..." +msgstr "&Font aplikacije..." + +#: gui/dialogs/configdialog.cpp:409 +msgid "Use custom application &style" +msgstr "Koristi posebni &stil za aplikaciju" + +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 +msgid "Unknown" +msgstr "Nepoznato" + +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Koristi sistemske &dijaloge fajlova" + +#: gui/dialogs/configdialog.cpp:430 +msgid "&Appearance" +msgstr "&Izgled" + +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 gui/dialogs/numbertracksdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:213 +msgid "&OK" +msgstr "&U redu" + +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Prečica tastature '%1' je već dodeljena '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 +msgid "Kid3 Handbook" +msgstr "Kid3 priručnik" + +#: gui/dialogs/editframefieldsdialog.cpp:523 gui/dialogs/textimportdialog.cpp:90 +msgid "From Clip&board" +msgstr "Iz klip&borda" + +#: gui/dialogs/editframefieldsdialog.cpp:524 +msgid "&Import" +msgstr "U&vezi" + +#: gui/dialogs/editframefieldsdialog.cpp:525 +msgid "&Export" +msgstr "Izv&ezi" + +#: gui/dialogs/editframefieldsdialog.cpp:526 +msgid "&View" +msgstr "&Prikaz" + +#: gui/dialogs/editframefieldsdialog.cpp:656 +msgid "Text Encoding" +msgstr "Kodiranje teksta" + +#: gui/dialogs/editframefieldsdialog.cpp:657 +msgid "Text" +msgstr "Tekst" + +#: gui/dialogs/editframefieldsdialog.cpp:658 +msgid "URL" +msgstr "URL" + +#: gui/dialogs/editframefieldsdialog.cpp:660 +msgid "Description" +msgstr "Opis" + +#: gui/dialogs/editframefieldsdialog.cpp:661 +msgid "Owner" +msgstr "Vlasnik" + +#: gui/dialogs/editframefieldsdialog.cpp:662 +msgid "Email" +msgstr "E-adresa" + +#: gui/dialogs/editframefieldsdialog.cpp:663 +msgid "Rating" +msgstr "Rejting" + +#: gui/dialogs/editframefieldsdialog.cpp:666 +msgid "Picture Type" +msgstr "Tip slike" + +#: gui/dialogs/editframefieldsdialog.cpp:667 +msgid "Image format" +msgstr "Format slike" + +#: gui/dialogs/editframefieldsdialog.cpp:668 +msgid "Mimetype" +msgstr "Mime" + +#: gui/dialogs/editframefieldsdialog.cpp:669 +msgid "Counter" +msgstr "Brojač" + +#: gui/dialogs/editframefieldsdialog.cpp:670 +msgid "Identifier" +msgstr "Identifikator" + +#: gui/dialogs/editframefieldsdialog.cpp:671 +msgid "Volume Adjustment" +msgstr "Podešavanje jačine" + +#: gui/dialogs/editframefieldsdialog.cpp:672 +msgid "Number of Bits" +msgstr "Broj bita" + +#: gui/dialogs/editframefieldsdialog.cpp:673 +msgid "Volume Change Right" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:674 +msgid "Volume Change Left" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:675 +msgid "Peak Volume Right" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:676 +msgid "Peak Volume Left" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:677 +msgid "Timestamp Format" +msgstr "Format vremenske oznake" + +#: gui/dialogs/editframefieldsdialog.cpp:678 +msgid "Content Type" +msgstr "Tip sadržaja" + +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "slike (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 +msgid "UTF16BE" +msgstr "UTF-16BE" + +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 +msgid "Other" +msgstr "Ostalo" + +#: gui/dialogs/editframefieldsdialog.cpp:873 +msgid "32x32 pixels PNG file icon" +msgstr "PNG ikona fajla 32x32 piksela" + +#: gui/dialogs/editframefieldsdialog.cpp:874 +msgid "Other file icon" +msgstr "Ostale ikone fajla" + +#: gui/dialogs/editframefieldsdialog.cpp:875 +msgid "Cover (front)" +msgstr "Omot (prednji)" + +#: gui/dialogs/editframefieldsdialog.cpp:876 +msgid "Cover (back)" +msgstr "Omot (zadnji)" + +#: gui/dialogs/editframefieldsdialog.cpp:877 +msgid "Leaflet page" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:879 +msgid "Lead artist/lead performer/soloist" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:880 +msgid "Artist/performer" +msgstr "Umetnik/izvođač" + +#: gui/dialogs/editframefieldsdialog.cpp:882 +msgid "Band/Orchestra" +msgstr "Bend/orkestar" + +#: gui/dialogs/editframefieldsdialog.cpp:884 +msgid "Lyricist/text writer" +msgstr "Pesnik/tekstopisac" + +#: gui/dialogs/editframefieldsdialog.cpp:885 +msgid "Recording Location" +msgstr "Mesto snimanja" + +#: gui/dialogs/editframefieldsdialog.cpp:886 +msgid "During recording" +msgstr "Tokom snimanja" + +#: gui/dialogs/editframefieldsdialog.cpp:887 +msgid "During performance" +msgstr "Tokom izvođenja" + +#: gui/dialogs/editframefieldsdialog.cpp:888 +msgid "Movie/video screen capture" +msgstr "Snimak ekrana filma/videa" + +#: gui/dialogs/editframefieldsdialog.cpp:889 +msgid "A bright coloured fish" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:890 +msgid "Illustration" +msgstr "Ilustracija" + +#: gui/dialogs/editframefieldsdialog.cpp:891 +msgid "Band/artist logotype" +msgstr "Logotip benda/izvođača" + +#: gui/dialogs/editframefieldsdialog.cpp:892 +msgid "Publisher/Studio logotype" +msgstr "Logotip izdavača/studija" + +#: gui/dialogs/editframefieldsdialog.cpp:901 +msgid "MPEG frames as unit" +msgstr "Broj MPEG kadrova kao jedinica" + +#: gui/dialogs/editframefieldsdialog.cpp:902 +msgid "Milliseconds as unit" +msgstr "Milisekunde kao jedinica" + +#: gui/dialogs/editframefieldsdialog.cpp:912 +msgid "Text transcription" +msgstr "Transkripcija teksta" + +#: gui/dialogs/editframefieldsdialog.cpp:913 +msgid "Movement/part name" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:914 +msgid "Events" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:915 +msgid "Chord" +msgstr "Akord" + +#: gui/dialogs/editframefieldsdialog.cpp:916 +msgid "Trivia/pop up" +msgstr "" + +#: gui/dialogs/exportdialog.cpp:72 +msgid "Export" +msgstr "Izvezi" + +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 +msgid "Format:" +msgstr "Format:" + +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 +msgid "Header:" +msgstr "Zaglavlje:" + +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 +msgid "Tracks:" +msgstr "Numere:" + +#: gui/dialogs/exportdialog.cpp:92 +msgid "Footer:" +msgstr "Podnožje:" + +#: gui/dialogs/exportdialog.cpp:104 +msgid "To F&ile" +msgstr "U f&ajl" + +#: gui/dialogs/exportdialog.cpp:109 +msgid "To Clip&board" +msgstr "U klip&bord" + +#: gui/dialogs/exportdialog.cpp:118 +msgid "&Source:" +msgstr "&Izvor:" + +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 +msgid "Tag 1" +msgstr "oznaka 1" + +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 +msgid "Tag 2" +msgstr "oznaka 2" + +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 +msgid "File Error" +msgstr "Greška fajla" + +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 +msgid "Error while writing file:\n" +msgstr "Greška prilikom upisa fajla:\n" + +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 +msgid "Filter" +msgstr "Filter" + +#: gui/dialogs/filterdialog.cpp:62 +msgid "&Filter:" +msgstr "&Filter:" + +#: gui/dialogs/filterdialog.cpp:63 +msgid "&Expression:" +msgstr "&Izraz:" + +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 +#: gui/dialogs/tagimportdialog.cpp:76 +msgid "&Apply" +msgstr "&Primeni" + +#: gui/dialogs/importdialog.cpp:138 +msgid "From F&ile/Clipboard..." +msgstr "Iz &fajla/klipborda..." + +#: gui/dialogs/importdialog.cpp:142 +msgid "From T&ags..." +msgstr "Iz o&znaka..." + +#: gui/dialogs/importdialog.cpp:146 +msgid "&From Server:" +msgstr "S&a servera:" + +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 +msgid "MusicBrainz Fingerprint" +msgstr "MjuzikBrejnz Otisak prsta" + +#: gui/dialogs/importdialog.cpp:162 +msgid "D&estination:" +msgstr "O&dredište:" + +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 +msgid "Tag 1 and Tag 2" +msgstr "oznaka 1 i oznaka 2" + +#: gui/dialogs/importdialog.cpp:179 +msgid "Revert" +msgstr "Vrati" + +#: gui/dialogs/importdialog.cpp:190 +msgid "Check maximum allowable time &difference (sec):" +msgstr "Proveri najveću dozvoljenu &vremensku razliku (sek):" + +#: gui/dialogs/importdialog.cpp:198 +msgid "Match with:" +msgstr "Poklopi sa:" + +#: gui/dialogs/importdialog.cpp:200 +msgid "&Length" +msgstr "tra&janjem" + +#: gui/dialogs/importdialog.cpp:203 +msgid "T&rack" +msgstr "&numerom" + +#: gui/dialogs/importdialog.cpp:206 +msgid "&Title" +msgstr "nas&lovom" + +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 +msgid "&Server:" +msgstr "&Server:" + +#: gui/dialogs/musicbrainzdialog.cpp:108 +msgid "Track Title/Artist - Album" +msgstr "Numera/izvođač - album" + +#: gui/dialogs/musicbrainzdialog.cpp:109 +msgid "State" +msgstr "Stanje" + +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 +msgid "No result" +msgstr "Nema rezultata" + +#: gui/dialogs/musicbrainzdialog.cpp:332 +msgid "No result selected" +msgstr "Ništa nije izabrano" + +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 +msgid "Number Tracks" +msgstr "Numeriši" + +#: gui/dialogs/numbertracksdialog.cpp:63 +msgid "&Start number:" +msgstr "&Početni broj:" + +#: gui/dialogs/numbertracksdialog.cpp:75 +msgid "&Destination:" +msgstr "&Odredište:" + +#: gui/dialogs/numbertracksdialog.cpp:91 +msgid "&Total number of tracks:" +msgstr "&Ukupno numera:" + +#: gui/dialogs/playlistdialog.cpp:58 +msgid "Create Playlist" +msgstr "Napravi listu numera" + +#: gui/dialogs/playlistdialog.cpp:144 +msgid "Playlist File Name" +msgstr "Ime fajla liste numera" + +#: gui/dialogs/playlistdialog.cpp:145 +msgid "Same as &directory name" +msgstr "Isto kao ime &direktorijuma" + +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 +msgid "&Format:" +msgstr "&Format:" + +#: gui/dialogs/playlistdialog.cpp:156 +msgid "Cr&eate in:" +msgstr "N&apravi u:" + +#: gui/dialogs/playlistdialog.cpp:160 +msgid "Current directory" +msgstr "trenutnom direktorijumu" + +#: gui/dialogs/playlistdialog.cpp:161 +msgid "Every directory" +msgstr "svim direktorijumima" + +#: gui/dialogs/playlistdialog.cpp:162 +msgid "Top-level directory" +msgstr "najvišem direktorijumu" + +#: gui/dialogs/playlistdialog.cpp:163 +msgid "Playlist Content" +msgstr "Sadržaj liste numera" + +#: gui/dialogs/playlistdialog.cpp:164 +msgid "For&mat:" +msgstr "For&mat:" + +#: gui/dialogs/playlistdialog.cpp:167 +msgid "Incl&ude only the selected files" +msgstr "Uključi samo &označene fajlove" + +#: gui/dialogs/playlistdialog.cpp:168 +msgid "Sort by file &name" +msgstr "Sortiraj po &imenu" + +#: gui/dialogs/playlistdialog.cpp:170 +msgid "Sort by &tag field" +msgstr "Sortiraj po &polju oznake" + +#: gui/dialogs/playlistdialog.cpp:184 +msgid "Use &relative path for files in playlist" +msgstr "Koristi &relativnu putanju za fajlove na listi numera" + +#: gui/dialogs/playlistdialog.cpp:186 +msgid "Use full p&ath for files in playlist" +msgstr "Koristi punu put&anju za fajlove na listi numera" + +#: gui/dialogs/playlistdialog.cpp:187 +msgid "Write only &list of files" +msgstr "Upiši samo &spisak fajlova" + +#: gui/dialogs/playlistdialog.cpp:189 +msgid "Write &info using" +msgstr "Upiši &informacije koristeći" + +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 +msgid "Rename Directory" +msgstr "Preimenuj direktorijum" + +#: gui/dialogs/rendirdialog.cpp:67 +msgid "Format" +msgstr "Format" + +#: gui/dialogs/rendirdialog.cpp:72 +msgid "Preview" +msgstr "Pregled" + +#: gui/dialogs/rendirdialog.cpp:107 +msgid "Create Directory" +msgstr "Napravi direktorijum" + +#: gui/dialogs/rendirdialog.cpp:110 +msgid "From Tag 2 and Tag 1" +msgstr "Iz oznake 2 i oznake 1" + +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 +msgid "From Tag 1" +msgstr "Iz oznake 1" + +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 +msgid "From Tag 2" +msgstr "Iz oznake 2" + +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 +msgid "From:" +msgstr "Iz:" + +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 +msgid "To:" +msgstr "U:" + +#: gui/dialogs/serverimportdialog.cpp:63 +msgid "&Find" +msgstr "&Nađi" + +#: gui/dialogs/serverimportdialog.cpp:83 +msgid "C&GI Path:" +msgstr "C&GI putanja:" + +#: gui/dialogs/serverimportdialog.cpp:94 +msgid "&Additional Tags" +msgstr "Doda&tne oznake" + +#: gui/dialogs/serverimportdialog.cpp:95 +msgid "C&over Art" +msgstr "Omot a&lbuma" + +#: gui/dialogs/tagimportdialog.cpp:49 +msgid "Import from Tags" +msgstr "Uvezi iz oznaka" + +#: gui/dialogs/tagimportdialog.cpp:59 +msgid "Extraction:" +msgstr "Izvlačenje:" + +#: gui/dialogs/textimportdialog.cpp:58 +msgid "Import from File/Clipboard" +msgstr "Uvezi iz fajla/klipborda" + +#: gui/dialogs/textimportdialog.cpp:86 +msgid "From F&ile" +msgstr "Iz &fajla" + +#: gui/forms/filelist.cpp:136 +msgid "&Expand all" +msgstr "Raz&granaj sve" + +#: gui/forms/filelist.cpp:137 +msgid "&Collapse all" +msgstr "&Sakupi sve" + +#: gui/forms/filelist.cpp:138 +msgid "&Rename" +msgstr "P&reimenuj" + +#: gui/forms/filelist.cpp:139 +msgid "&Move to Trash" +msgstr "Premesti u &smeće" + +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 +msgid "&Play" +msgstr "Re&produkuj" + +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 +msgid "F&ile" +msgstr "F&ajl" + +#: gui/forms/kid3form.cpp:211 +msgid "Name:" +msgstr "Ime:" + +#: gui/forms/kid3form.cpp:236 +msgid "Filename from Tag 1" +msgstr "oznake 1 u ime fajla" + +#: gui/forms/kid3form.cpp:239 +msgid "Filename from Tag 2" +msgstr "oznake 2 u ime fajla" + +#: gui/forms/kid3form.cpp:261 +msgid "Tag 1 from Filename" +msgstr "oznaku 1 iz imena fajla" + +#: gui/forms/kid3form.cpp:265 +msgid "Tag 2 from Filename" +msgstr "oznaku 2 iz imena fajla" + +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 +msgid "Tag &1" +msgstr "Oznaka &1" + +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 +msgid "Copy" +msgstr "Kopiraj" + +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 +msgid "Paste" +msgstr "Nalepi" + +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 +msgid "Remove" +msgstr "Ukloni" + +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 +msgid "Tag &2" +msgstr "Oznaka &2" + +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 +msgid "Edit" +msgstr "Uredi" + +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 +msgid "Add" +msgstr "Dodaj" + +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 +msgid "Delete" +msgstr "Obriši" + +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Fokus" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Iz imena fajla" + +#: gui/forms/kid3mainwindow.cpp:115 +msgid "Download" +msgstr "Preuzmi" + +#: gui/forms/kid3mainwindow.cpp:193 +msgid "Main Toolbar" +msgstr "Glavna traka" + +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 +msgid "Opens a directory" +msgstr "Otvara direktorijum" + +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 +msgid "Opens a recently used directory" +msgstr "Otvara nedavno korišćen direktorijum" + +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 +msgid "Reverts the changes of all or the selected files" +msgstr "Poništava izmene svih ili izabranih fajlova" + +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 +msgid "Saves the changed files" +msgstr "Upisuje izmene fajlova" + +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 +msgid "Quits the application" +msgstr "Napušta aplikaciju" + +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 +msgid "Select all files" +msgstr "Izaberi sve fajlove" + +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 +msgid "Deselect all files" +msgstr "Poništi izbor svih fajlova" + +#: gui/forms/kid3mainwindow.cpp:235 +msgid "Configure Shortcuts" +msgstr "Podesi prečice" + +#: gui/forms/kid3mainwindow.cpp:236 +msgid "Configure Toolbars" +msgstr "Podesi trake alata" + +#: gui/forms/kid3mainwindow.cpp:237 +msgid "Preferences dialog" +msgstr "Dijalog podešavanja" + +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 +msgid "O&pen Directory..." +msgstr "O&tvori direktorijum..." + +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 +msgid "&Import..." +msgstr "&Uvezi..." + +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 +msgid "Import from %1..." +msgstr "Uvezi sa %1..." + +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 +msgid "&Browse Cover Art..." +msgstr "Potraži o&mot albuma..." + +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 +msgid "&Export..." +msgstr "Izv&ezi..." + +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 +msgid "&Create Playlist..." +msgstr "Napravi &listu numera..." + +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 +msgid "Apply &Filename Format" +msgstr "Primeni format imena fa&jla" + +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 +msgid "Apply &Tag Format" +msgstr "Primeni format &oznake" + +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 +msgid "&Rename Directory..." +msgstr "Preimenuj &direktorijum..." + +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 +msgid "&Number Tracks..." +msgstr "Nu&meriši..." + +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 +msgid "F&ilter..." +msgstr "F&ilter..." + +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 +msgid "Convert ID3v2.3 to ID3v2.&4" +msgstr "Pretvori ID3v2.3 u ID3v2.&4" + +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 +msgid "Convert ID3v2.4 to ID3v2.&3" +msgstr "Pretvori ID3v2.4 u ID3v2.&3" + +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 +msgid "Show &Picture" +msgstr "Prikaži s&liku" + +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 +msgid "Auto &Hide Tags" +msgstr "Automatski &sakrij oznake" + +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 +msgid "&Previous File" +msgstr "&Prethodni fajl" + +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 +msgid "&Next File" +msgstr "&Sledeći fajl" + +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 +msgid "Frames:" +msgstr "Kadrovi:" + +#: gui/forms/kid3mainwindow.cpp:389 +msgid "&File" +msgstr "&Fajl" + +#: gui/forms/kid3mainwindow.cpp:395 +msgid "&Open..." +msgstr "&Otvori..." + +#: gui/forms/kid3mainwindow.cpp:409 +msgid "Open &Recent" +msgstr "Otvori &nedavno" + +#: gui/forms/kid3mainwindow.cpp:427 +msgid "&Save" +msgstr "&Sačuvaj" + +#: gui/forms/kid3mainwindow.cpp:440 +msgid "Re&vert" +msgstr "&Vrati" + +#: gui/forms/kid3mainwindow.cpp:452 +msgid "Import from file or clipboard" +msgstr "Uvezi iz fajla ili klipborda" + +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 +msgid "Import from %1" +msgstr "Uvezi sa %1" + +#: gui/forms/kid3mainwindow.cpp:495 +msgid "Browse album cover artwork" +msgstr "Potraži sliku omota albuma" + +#: gui/forms/kid3mainwindow.cpp:504 +msgid "Export to file or clipboard" +msgstr "Izvezi u fajl ili klipbord" + +#: gui/forms/kid3mainwindow.cpp:514 +msgid "Create M3U Playlist" +msgstr "Napravi M3U listu numera" + +#: gui/forms/kid3mainwindow.cpp:527 +msgid "&Quit" +msgstr "&Napusti" + +#: gui/forms/kid3mainwindow.cpp:536 +msgid "&Edit" +msgstr "&Uredi" + +#: gui/forms/kid3mainwindow.cpp:540 +msgid "Select &All" +msgstr "Izaberi s&ve" + +#: gui/forms/kid3mainwindow.cpp:551 +msgid "Dese&lect" +msgstr "Po&ništi izbor" + +#: gui/forms/kid3mainwindow.cpp:560 +msgid "Select previous file" +msgstr "Izaberi prethodni fajl" + +#: gui/forms/kid3mainwindow.cpp:572 +msgid "Select next file" +msgstr "Izaberi sledeći fajl" + +#: gui/forms/kid3mainwindow.cpp:583 +msgid "&Tools" +msgstr "&Alatke" + +#: gui/forms/kid3mainwindow.cpp:586 +msgid "Apply Filename Format" +msgstr "Primeni format naziva fajla" + +#: gui/forms/kid3mainwindow.cpp:595 +msgid "Apply Tag Format" +msgstr "Primeni format oznake" + +#: gui/forms/kid3mainwindow.cpp:632 +msgid "Convert ID3v2.3 to ID3v2.4" +msgstr "Pretvori ID3v2.3 u ID3v2.4" + +#: gui/forms/kid3mainwindow.cpp:643 +msgid "Convert ID3v2.4 to ID3v2.3" +msgstr "Pretvori ID3v2.4 u ID3v2.3" + +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 +msgid "Play" +msgstr "Reprodukcija" + +#: gui/forms/kid3mainwindow.cpp:665 +msgid "&Settings" +msgstr "&Podešavanje" + +#: gui/forms/kid3mainwindow.cpp:669 +msgid "Enables/disables the toolbar" +msgstr "Prikazuje/sakriva traku alata" + +#: gui/forms/kid3mainwindow.cpp:670 +msgid "Show &Toolbar" +msgstr "Prikaži traku &alata" + +#: gui/forms/kid3mainwindow.cpp:680 +msgid "Enables/disables the statusbar" +msgstr "Prikazuje/sakriva traku stanja" + +#: gui/forms/kid3mainwindow.cpp:681 +msgid "Show St&atusbar" +msgstr "Prikaži traku &stanja" + +#: gui/forms/kid3mainwindow.cpp:690 +msgid "Show Picture" +msgstr "Prikaži sliku" + +#: gui/forms/kid3mainwindow.cpp:700 +msgid "Auto Hide Tags" +msgstr "Automatski sakrij oznake" + +#: gui/forms/kid3mainwindow.cpp:710 +msgid "Configure Kid3" +msgstr "Podesi Kid3" + +#: gui/forms/kid3mainwindow.cpp:711 +msgid "&Configure Kid3..." +msgstr "&Podesi Kid3..." + +#: gui/forms/kid3mainwindow.cpp:728 +msgid "Kid3 &Handbook" +msgstr "Kid3 p&riručnik" + +#: gui/forms/kid3mainwindow.cpp:738 +msgid "About Kid3" +msgstr "O Kid3-u" + +#: gui/forms/kid3mainwindow.cpp:739 +msgid "&About Kid3" +msgstr "&O Kid3-u" + +#: gui/forms/kid3mainwindow.cpp:747 +msgid "About Qt" +msgstr "O KjuT-u" + +#: gui/forms/kid3mainwindow.cpp:748 +msgid "About &Qt" +msgstr "O KjuT-u" + +#: gui/forms/kid3mainwindow.cpp:790 +msgid "Opening directory..." +msgstr "Otvaram direktorijum..." + +#: gui/forms/kid3mainwindow.cpp:912 +msgid "Saving directory..." +msgstr "Upisujem direktorijum..." + +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 +msgid "" +"The current directory has been modified.\n" +"Do you want to save it?" +msgstr "" +"Trenutni direktorijum je izmenjen.\n" +"Želite li da sačuvate izmene?" + +#: gui/forms/kid3mainwindow.cpp:973 +msgid "Warning" +msgstr "Upozorenje" + +#: gui/forms/kid3mainwindow.cpp:980 +msgid "Warning - Kid3" +msgstr "Upozorenje - Kid3" + +#: gui/forms/kid3mainwindow.cpp:1059 +msgid "Open" +msgstr "Otvori" + +#: gui/forms/kid3mainwindow.cpp:1135 +msgid "Exiting..." +msgstr "Izlazim..." + +#: gui/forms/kid3mainwindow.cpp:1179 +msgid "Toggle the statusbar..." +msgstr "Prikaži/sakrij traku stanja..." + +#: gui/forms/kid3mainwindow.cpp:1261 +msgid "Creating playlist..." +msgstr "Pravim listu numera..." + +#: gui/forms/kid3mainwindow.cpp:1287 +msgid "Import" +msgstr "Uvezi" + +#: gui/forms/kid3mainwindow.cpp:1400 +msgid "Configure - Kid3" +msgstr "Podešavanje - Kid3" + +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 +msgid "Error while renaming:\n" +msgstr "Greška prilikom preimenovanja:\n" + +#: gui/forms/kid3mainwindow.cpp:1562 +msgid " [filtered]" +msgstr " [filtriran]" + +#: gui/forms/kid3mainwindow.cpp:1568 +msgid " [modified]" +msgstr " [izmenjen]" + +#: gui/forms/kid3mainwindow.cpp:1810 +msgid "Add Frame" +msgstr "Dodaj okvir" + +#: gui/forms/kid3mainwindow.cpp:1811 +msgid "Select the frame ID" +msgstr "Izaberite ID okvira" + +#: gui/forms/kid3mainwindow.cpp:1899 +msgid "Rename File" +msgstr "Preimenuj fajl" + +#: gui/forms/kid3mainwindow.cpp:1900 +msgid "Enter new file name:" +msgstr "Unesite novo ime fajla:" + +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 +msgid "Do you really want to move these %1 items to the trash?" +msgstr "Želite li zaista da premestite ovih %1 stavki u smeće?" + +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 +msgid "Do you really want to move this item to the trash?" +msgid_plural "Do you really want to move these %1 items to the trash?" +msgstr[0] "Želite li zaista da premestite ovu %1 stavku u smeće?" +msgstr[1] "Želite li zaista da premestite ove %1 stavke u smeće?" +msgstr[2] "Želite li zaista da premestite ovih %1 stavki u smeće?" +msgstr[3] "Želite li zaista da premestite ovu stavku u smeće?" + +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 +msgid "Move to Trash" +msgstr "Premesti u smeće" + +#: gui/forms/kid3mainwindow.cpp:1998 +msgid "Directory must be empty.\n" +msgstr "Direktoriujm mora biti prazan.\n" + +#: gui/forms/kid3mainwindow.cpp:1999 +msgid "Could not move these files to the Trash" +msgstr "Nisam mogao da premestim ove fajlove u smeće" + +#: gui/widgets/configtable.cpp:135 +msgid "&Insert row" +msgstr "&Ubaci red" + +#: gui/widgets/configtable.cpp:139 +msgid "&Delete row" +msgstr "&Obriši red" + +#: gui/widgets/configtable.cpp:143 +msgid "&Clear row" +msgstr "O&čisti red" + +#: gui/widgets/formatbox.cpp:47 +msgid "Format while editing" +msgstr "Formatiraj pri uređivanju" + +#: gui/widgets/formatbox.cpp:51 +msgid "Case conversion:" +msgstr "Veličina slova:" + +#: gui/widgets/formatbox.cpp:57 +msgid "No changes" +msgstr "bez izmena" + +#: gui/widgets/formatbox.cpp:59 +msgid "All lowercase" +msgstr "sve malim" + +#: gui/widgets/formatbox.cpp:61 +msgid "All uppercase" +msgstr "sve velikim" + +#: gui/widgets/formatbox.cpp:63 +msgid "First letter uppercase" +msgstr "prvo slovo velikim" + +#: gui/widgets/formatbox.cpp:65 +msgid "All first letters uppercase" +msgstr "sva prva slova velikim" + +#: gui/widgets/formatbox.cpp:68 +msgid "String replacement:" +msgstr "Zamena teksta:" + +#: gui/widgets/formatbox.cpp:72 +msgid "From" +msgstr "iz" + +#: gui/widgets/formatbox.cpp:72 +msgid "To" +msgstr "u" + +#: gui/widgets/formatlistedit.cpp:81 +msgid "&Add" +msgstr "&Dodaj" + +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 +msgid "&Remove" +msgstr "U&kloni" + +#: gui/widgets/formatlistedit.cpp:242 +msgid "New" +msgstr "Novo" + +#: gui/widgets/frametable.cpp:145 +msgid "&Select all" +msgstr "I&zaberi sve" + +#: gui/widgets/frametable.cpp:147 +msgid "&Deselect all" +msgstr "Po&ništi izbor" + +#: gui/widgets/imageviewer.cpp:47 +msgid "View Picture" +msgstr "Pogledaj sliku" + +#: gui/widgets/picturelabel.cpp:67 +msgid "" +"Drag album\n" +"artwork\n" +"here" +msgstr "" +"Prevuci\n" +"sliku albuma\n" +"ovde" + +#: gui/widgets/playtoolbar.cpp:62 +msgid "Play/Pause" +msgstr "Reprodukuj/pauziraj" + +#: gui/widgets/playtoolbar.cpp:64 +msgid "Stop playback" +msgstr "Zaustavi reprodukciju" + +#: gui/widgets/playtoolbar.cpp:66 +msgid "Previous Track" +msgstr "Prethodna numera" + +#: gui/widgets/playtoolbar.cpp:68 +msgid "Next Track" +msgstr "Sledeća numera" + +#: gui/widgets/playtoolbar.cpp:70 +msgid "Close" +msgstr "Zatvori" + +#: gui/widgets/recentfilesmenu.cpp:111 +msgid "&Clear List" +msgstr "O&čisti spisak" + +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Očisti" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Ponovo postavi" + +#: gui/widgets/stringlistedit.cpp:51 +msgid "&Add..." +msgstr "&Dodaj..." + +#: gui/widgets/stringlistedit.cpp:52 +msgid "Move &Up" +msgstr "Pomeri &gore" + +#: gui/widgets/stringlistedit.cpp:53 +msgid "Move &Down" +msgstr "Pomeri do&le" + +#: gui/widgets/stringlistedit.cpp:54 +msgid "&Edit..." +msgstr "U&redi..." + +#: gui/widgets/stringlistedit.cpp:90 +msgid "Add Item" +msgstr "Dodaj stavku" + +#: gui/widgets/stringlistedit.cpp:123 +msgid "Edit Item" +msgstr "Uredi stavku" + +#: rc.cpp:1 +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Mladen Pejaković" + +#: rc.cpp:2 +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pejakm@gmail.com" + +#: rc.cpp:3 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Mladen Pejaković" + +#: rc.cpp:4 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "pejakm@gmail.com" diff -Nru kid3-2.0.1/po/sr.po kid3-2.1/po/sr.po --- kid3-2.0.1/po/sr.po 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/po/sr.po 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,2267 @@ +# Kid3 Serbian Translation. +# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. Free Software Foundation, Inc. +# +# Urs Fleisch , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# Mladen Pejaković , 2012. +msgid "" +msgstr "" +"Project-Id-Version: Kid3 2.1\n" +"Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?group_id=70849&atid=529221\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" +"PO-Revision-Date: 2011-04-26 23:41+0200\n" +"Last-Translator: Mladen Pejaković \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 0.3\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Language: sr\n" +"X-Source-Language: C\n" + +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Радња" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Пречица" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 +msgid "AENC - Audio encryption" +msgstr "AENC - аудио шифровање" + +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 +msgid "APIC - Attached picture" +msgstr "APIC - приложена слика" + +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 +msgid "COMM - Comments" +msgstr "COMM - коментари" + +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 +msgid "COMR - Commercial" +msgstr "COMR - комерцијално" + +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 +msgid "ENCR - Encryption method registration" +msgstr "ENCR - регистрација методе шифровања" + +#: core/formats/mp3file.cpp:1252 +msgid "EQUA - Equalization" +msgstr "EQUA - једначење" + +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 +msgid "ETCO - Event timing codes" +msgstr "" + +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 +msgid "GEOB - General encapsulated object" +msgstr "GEOB - општи угнежђени објекат" + +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 +msgid "GRID - Group identification registration" +msgstr "GRID - регистрација идентификације групе" + +#: core/formats/mp3file.cpp:1256 +msgid "IPLS - Involved people list" +msgstr "IPLS - списак укључених људи" + +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 +msgid "LINK - Linked information" +msgstr "LINK - повезана информација" + +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 +msgid "MCDI - Music CD identifier" +msgstr "MCDI - идентификатор музичког ЦД-а" + +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 +msgid "MLLT - MPEG location lookup table" +msgstr "" + +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 +msgid "OWNE - Ownership frame" +msgstr "OWNE - власнички оквир" + +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 +msgid "PRIV - Private frame" +msgstr "PRIV - приватни оквир" + +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 +msgid "PCNT - Play counter" +msgstr "PCNT - бројач репродукције" + +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 +msgid "POPM - Popularimeter" +msgstr "POPM - мерач популарности" + +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 +msgid "POSS - Position synchronisation frame" +msgstr "POSS - кадар синхронизације позиције" + +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 +msgid "RBUF - Recommended buffer size" +msgstr "RBUF - препоручена величина бафера" + +#: core/formats/mp3file.cpp:1267 +msgid "RVAD - Relative volume adjustment" +msgstr "RVAD - подешавање релативне јачине звука" + +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 +msgid "RVRB - Reverb" +msgstr "RVRB - реверберација" + +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 +msgid "SYLT - Synchronized lyric/text" +msgstr "" + +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 +msgid "SYTC - Synchronized tempo codes" +msgstr "" + +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 +msgid "TALB - Album/Movie/Show title" +msgstr "TALB - наслов албума/филма/емисије" + +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 +msgid "TBPM - BPM (beats per minute)" +msgstr "TBPM - БПМ (откуцаја у минути)" + +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 +msgid "TCOM - Composer" +msgstr "TCOM - композитор" + +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 +msgid "TCON - Content type" +msgstr "TCON - тип садржаја" + +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 +msgid "TCOP - Copyright message" +msgstr "TCOP - порука ауторског права" + +#: core/formats/mp3file.cpp:1278 +msgid "TDAT - Date" +msgstr "TDAT - датум" + +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 +msgid "TDLY - Playlist delay" +msgstr "TDLY - кашњење листе нумера" + +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 +msgid "TENC - Encoded by" +msgstr "TENC - кодер" + +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 +msgid "TEXT - Lyricist/Text writer" +msgstr "TEXT - песник/текстописац" + +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 +msgid "TFLT - File type" +msgstr "TFLT - тип фајла" + +#: core/formats/mp3file.cpp:1289 +msgid "TIME - Time" +msgstr "TIME - време" + +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 +msgid "TIT1 - Content group description" +msgstr "TIT1 - опис групе садржаја" + +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 +msgid "TIT2 - Title/songname/content description" +msgstr "TIT2 - наслов/име песме/опис садржаја" + +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 +msgid "TIT3 - Subtitle/Description refinement" +msgstr "" + +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 +msgid "TKEY - Initial key" +msgstr "TKEY - почетни кључ" + +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 +msgid "TLAN - Language(s)" +msgstr "TLAN - језик (језици)" + +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 +msgid "TLEN - Length" +msgstr "TLEN - трајање" + +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 +msgid "TMED - Media type" +msgstr "TMED - тип медија" + +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 +msgid "TOAL - Original album/movie/show title" +msgstr "TOAL - изворни наслов албума/филма/емисије" + +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 +msgid "TOFN - Original filename" +msgstr "TOFN - изворно име" + +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 +msgid "TOLY - Original lyricist(s)/text writer(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 +msgid "TOPE - Original artist(s)/performer(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1303 +msgid "TORY - Original release year" +msgstr "TORY - изворна година издавања" + +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 +msgid "TOWN - File owner/licensee" +msgstr "" + +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 +msgid "TPE1 - Lead performer(s)/Soloist(s)" +msgstr "" + +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 +msgid "TPE2 - Band/orchestra/accompaniment" +msgstr "" + +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 +msgid "TPE3 - Conductor/performer refinement" +msgstr "" + +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 +msgid "TPE4 - Interpreted, remixed, or otherwise modified by" +msgstr "" + +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 +msgid "TPOS - Part of a set" +msgstr "" + +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 +msgid "TPUB - Publisher" +msgstr "TPUB - издавач" + +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 +msgid "TRCK - Track number/Position in set" +msgstr "" + +#: core/formats/mp3file.cpp:1313 +msgid "TRDA - Recording dates" +msgstr "TRDA - датуми снимања" + +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 +msgid "TRSN - Internet radio station name" +msgstr "TRSN - име интернет радио станице" + +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 +msgid "TRSO - Internet radio station owner" +msgstr "TRSO - власник интернет радио станице" + +#: core/formats/mp3file.cpp:1316 +msgid "TSIZ - Size" +msgstr "TSIZ - величина" + +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 +msgid "TSRC - ISRC (international standard recording code)" +msgstr "TSRC - ИСРЦ (међународни стандардни кôд снимања)" + +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 +msgid "TSSE - Software/Hardware and settings used for encoding" +msgstr "" + +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 +msgid "TXXX - User defined text information" +msgstr "TXXX - кориснички дефинисана текстуална информација" + +#: core/formats/mp3file.cpp:1324 +msgid "TYER - Year" +msgstr "TYER - година" + +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 +msgid "UFID - Unique file identifier" +msgstr "UFID - јединствени идентификатор фајла" + +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 +msgid "USER - Terms of use" +msgstr "USER - услови коришћења" + +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 +msgid "USLT - Unsynchronized lyric/text transcription" +msgstr "" + +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 +msgid "WCOM - Commercial information" +msgstr "WCOM - подаци о комерцијализовању" + +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 +msgid "WCOP - Copyright/Legal information" +msgstr "WCOP - ауторско право/правне информације" + +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 +msgid "WOAF - Official audio file webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 +msgid "WOAR - Official artist/performer webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 +msgid "WOAS - Official audio source webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 +msgid "WORS - Official internet radio station homepage" +msgstr "" + +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 +msgid "WPAY - Payment" +msgstr "WPAY - плаћање" + +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 +msgid "WPUB - Official publisher webpage" +msgstr "" + +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 +msgid "WXXX - User defined URL link" +msgstr "WXXX - кориснички дефинисана УРЛ веза" + +#: core/formats/taglibfile.cpp:1669 +msgid "ASPI - Audio seek point index" +msgstr "" + +#: core/formats/taglibfile.cpp:1673 +msgid "EQU2 - Equalisation (2)" +msgstr "EQU2 - једначење (2)" + +#: core/formats/taglibfile.cpp:1686 +msgid "RVA2 - Relative volume adjustment (2)" +msgstr "RVA2 - подешавање релативне јачине звука (2)" + +#: core/formats/taglibfile.cpp:1688 +msgid "SEEK - Seek frame" +msgstr "SEEK - кадар тражења" + +#: core/formats/taglibfile.cpp:1689 +msgid "SIGN - Signature frame" +msgstr "SIGN - кадар потписа" + +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "" + +#: core/formats/taglibfile.cpp:1698 +msgid "TDEN - Encoding time" +msgstr "TDEN - време кодирања" + +#: core/formats/taglibfile.cpp:1700 +msgid "TDOR - Original release time" +msgstr "TDOR - време издавања оригинала" + +#: core/formats/taglibfile.cpp:1701 +msgid "TDRC - Recording time" +msgstr "TDRC - време снимања" + +#: core/formats/taglibfile.cpp:1702 +msgid "TDRL - Release time" +msgstr "TDRL - време издавања" + +#: core/formats/taglibfile.cpp:1703 +msgid "TDTG - Tagging time" +msgstr "TDTG - време означавања" + +#: core/formats/taglibfile.cpp:1707 +msgid "TIPL - Involved people list" +msgstr "TIPL - списак укључених људи" + +#: core/formats/taglibfile.cpp:1714 +msgid "TMCL - Musician credits list" +msgstr "" + +#: core/formats/taglibfile.cpp:1716 +msgid "TMOO - Mood" +msgstr "TMOO - расположење" + +#: core/formats/taglibfile.cpp:1727 +msgid "TPRO - Produced notice" +msgstr "" + +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - редослед сортирања аутора албума" + +#: core/formats/taglibfile.cpp:1733 +msgid "TSOA - Album sort order" +msgstr "TSOA - редослед сортирања албума" + +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - редослед сортирања композитора" + +#: core/formats/taglibfile.cpp:1735 +msgid "TSOP - Performer sort order" +msgstr "TSOP - редослед сортирања извођача" + +#: core/formats/taglibfile.cpp:1736 +msgid "TSOT - Title sort order" +msgstr "TSOT - редослед сортирања наслова" + +#: core/formats/taglibfile.cpp:1739 +msgid "TSST - Set subtitle" +msgstr "TSST - постави поднаслов" + +#: core/import/amazonimporter.cpp:59 +msgid "Amazon" +msgstr "Амазон" + +#: core/import/discogsimporter.cpp:61 +msgid "Discogs" +msgstr "Дискогс" + +#: core/import/freedbimporter.cpp:60 +msgid "gnudb.org" +msgstr "gnudb.org" + +#: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 +#: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 +msgid "Ready." +msgstr "Спреман." + +#: core/import/httpclient.cpp:75 +msgid "Connecting..." +msgstr "Повезивање..." + +#: core/import/httpclient.cpp:78 +msgid "Host found..." +msgstr "Домаћин нађен..." + +#: core/import/httpclient.cpp:81 +msgid "Request sent..." +msgstr "Захтев послат..." + +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 +msgid "Data received: %1" +msgstr "Подаци примљени: %1" + +#: core/import/httpclient.cpp:117 +msgid "Socket error: " +msgstr "Грешка сокета: " + +#: core/import/httpclient.cpp:120 +msgid "Connection refused" +msgstr "Веза одбијена" + +#: core/import/httpclient.cpp:123 +msgid "Host not found" +msgstr "Домаћин није нађен" + +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 +msgid "Year" +msgstr "Година" + +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 +#: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 +msgid "Length" +msgstr "Трајање" + +#: core/import/musicbrainzclient.cpp:250 +msgid "Unrecognized" +msgstr "Није препознато" + +#: core/import/musicbrainzclient.cpp:262 +msgid "Recognized" +msgstr "Препознато" + +#: core/import/musicbrainzclient.cpp:265 +msgid "User Selection" +msgstr "Корисников одабир" + +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Отисак прста" + +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 +msgid "Error" +msgstr "Грешка" + +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ИД претрага" + +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Претрага метаподатака" + +#: core/import/musicbrainzreleaseimporter.cpp:60 +msgid "MusicBrainz Release" +msgstr "МјузикБрејнз издање" + +#: core/import/tracktypeimporter.cpp:59 +msgid "TrackType.org" +msgstr "ТрекТајп.орг" + +#: core/model/commandformatreplacer.cpp:140 +msgid "Filenames" +msgstr "Имена фајлова" + +#: core/model/commandformatreplacer.cpp:148 +msgid "URLs" +msgstr "УРЛ-ови" + +#: core/model/commandformatreplacer.cpp:152 +msgid "Directory name" +msgstr "Име директоријума" + +#: core/model/commandformatreplacer.cpp:160 +#: gui/dialogs/browsecoverartdialog.cpp:58 +msgid "Encode as URL" +msgstr "Кодирај као УРЛ" + +#: core/model/commandstablemodel.cpp:172 +msgid "Confirm" +msgstr "Потврди" + +#: core/model/commandstablemodel.cpp:174 +msgid "Output" +msgstr "Излаз" + +#: core/model/commandstablemodel.cpp:176 core/model/frametablemodel.cpp:190 +msgid "Name" +msgstr "Име" + +#: core/model/commandstablemodel.cpp:178 +msgid "Command" +msgstr "Наредба" + +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 +msgid "Create directory %1 failed\n" +msgstr "Прављење директоријума %1 није успело\n" + +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 +msgid "File %1 already exists\n" +msgstr "Фајл %1 већ постоји\n" + +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 +msgid "%1 is not a directory\n" +msgstr "%1 није директоријум\n" + +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 +msgid "Rename %1 to %2 failed\n" +msgstr "Преименовање %1 у %2 није успело\n" + +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 +msgid "%1 already exists\n" +msgstr "%1 већ постоји\n" + +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 +msgid "%1 is not a file\n" +msgstr "%1 није фајл\n" + +#: core/model/dirrenamer.cpp:390 +msgid "New directory name is too different\n" +msgstr "Ново име директоријума је превише различито\n" + +#: core/model/dirrenamer.cpp:440 +msgid "Create directory" +msgstr "Направи директоријум" + +#: core/model/dirrenamer.cpp:441 +msgid "Rename directory" +msgstr "Преименуј директоријум" + +#: core/model/dirrenamer.cpp:442 +msgid "Rename file" +msgstr "Преименуј фајл" + +#: core/model/externalprocess.cpp:54 +msgid "C&lear" +msgstr "О&чисти" + +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 +#: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 +msgid "&Close" +msgstr "&Затвори" + +#: core/model/externalprocess.cpp:116 +msgid "Execute " +msgstr "Изврши " + +#: core/model/externalprocess.cpp:152 +msgid "Could not execute " +msgstr "Не могу да извршим " + +#: core/model/filefilter.cpp:112 +msgid "True if strings are equal" +msgstr "Тачно ако су низови једнаки" + +#: core/model/filefilter.cpp:116 +msgid "True if string contains substring" +msgstr "Тачно ако низ садржи подниз" + +#: core/model/filefilter.cpp:120 +msgid "True if string matches regexp" +msgstr "Тачно ако се низ поклапа са регизом" + +#: core/model/filefilter.cpp:124 +msgid "Logical AND" +msgstr "Логичко И" + +#: core/model/filefilter.cpp:128 +msgid "Logical OR" +msgstr "Логичко ИЛИ" + +#: core/model/filefilter.cpp:132 +msgid "Logical negation" +msgstr "Логичка негација" + +#: core/model/frametablemodel.cpp:190 gui/dialogs/editframefieldsdialog.cpp:659 +msgid "Data" +msgstr "Подаци" + +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 +msgid "All Supported Files" +msgstr "Сви подржани фајлови" + +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "All Files (*)" +msgstr "Сви фајлови (*)" + +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 +msgid "Track" +msgstr "Нумера" + +#: core/model/trackdatamodel.cpp:197 core/tags/trackdata.cpp:183 +msgid "Absolute path to file" +msgstr "Апсолутна путања до фајла" + +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 +msgid "Filename" +msgstr "Име фајла" + +#: core/model/trackdatamodel.cpp:201 +msgid "Duration" +msgstr "Трајање" + +#: core/tags/frame.cpp:67 +msgid "Title" +msgstr "Наслов" + +#: core/tags/frame.cpp:68 +msgid "Artist" +msgstr "Извођач" + +#: core/tags/frame.cpp:69 +msgid "Album" +msgstr "Албум" + +#: core/tags/frame.cpp:70 +msgid "Comment" +msgstr "Коментар" + +#: core/tags/frame.cpp:71 +msgid "Date" +msgstr "Година" + +#: core/tags/frame.cpp:72 gui/widgets/frametable.cpp:60 +msgid "Track Number" +msgstr "Број нумере" + +#: core/tags/frame.cpp:73 +msgid "Genre" +msgstr "Жанр" + +#: core/tags/frame.cpp:75 +msgid "Album Artist" +msgstr "Извођач албума" + +#: core/tags/frame.cpp:76 +msgid "Arranger" +msgstr "Аранжер" + +#: core/tags/frame.cpp:77 +msgid "Author" +msgstr "Аутор" + +#: core/tags/frame.cpp:78 +msgid "BPM" +msgstr "БПМ" + +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 +msgid "Composer" +msgstr "Композитор" + +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 +msgid "Conductor" +msgstr "Диригент" + +#: core/tags/frame.cpp:81 +msgid "Copyright" +msgstr "Ауторско право" + +#: core/tags/frame.cpp:82 +msgid "Disc Number" +msgstr "Број диска" + +#: core/tags/frame.cpp:83 +msgid "Encoded-by" +msgstr "Кодер" + +#: core/tags/frame.cpp:84 +msgid "Grouping" +msgstr "Груписање" + +#: core/tags/frame.cpp:85 +msgid "ISRC" +msgstr "ИСРЦ" + +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 +msgid "Language" +msgstr "Језик" + +#: core/tags/frame.cpp:87 +msgid "Lyricist" +msgstr "Текстописац" + +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 +msgid "Lyrics" +msgstr "Текст" + +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 +msgid "Media" +msgstr "Медија" + +#: core/tags/frame.cpp:90 +msgid "Original Album" +msgstr "Изворни албум" + +#: core/tags/frame.cpp:91 +msgid "Original Artist" +msgstr "Изворни извођач" + +#: core/tags/frame.cpp:92 +msgid "Original Date" +msgstr "Изворни датум" + +#: core/tags/frame.cpp:93 +msgid "Part" +msgstr "Дио" + +#: core/tags/frame.cpp:94 +msgid "Performer" +msgstr "Извођач" + +#: core/tags/frame.cpp:95 +msgid "Picture" +msgstr "Слика" + +#: core/tags/frame.cpp:96 +msgid "Publisher" +msgstr "Издавач" + +#: core/tags/frame.cpp:97 +msgid "Remixer" +msgstr "Ремиксер" + +#: core/tags/frame.cpp:98 +msgid "Subtitle" +msgstr "Поднаслов" + +#: core/tags/frame.cpp:99 +msgid "Website" +msgstr "Вебсајт" + +#: core/tags/trackdata.cpp:199 +msgid "Number of tracks" +msgstr "Број нумера" + +#: core/tags/trackdata.cpp:203 +msgid "Extension" +msgstr "Екстензија" + +#: core/tags/trackdata.cpp:215 +msgid "Bitrate" +msgstr "Битски проток" + +#: core/tags/trackdata.cpp:219 +msgid "VBR" +msgstr "ВБР" + +#: core/tags/trackdata.cpp:223 +msgid "Samplerate" +msgstr "Узорковање" + +#: core/tags/trackdata.cpp:229 +msgid "Channels" +msgstr "Канала" + +#: core/tags/trackdata.cpp:233 +msgid "Codec" +msgstr "Кодек" + +#: gui/app/main.cpp:40 +msgid "Kid3 ID3 Tagger" +msgstr "Кид3 уређивач ИД3 ознака" + +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 +msgid "Kid3" +msgstr "Кид3" + +#: gui/app/main.cpp:56 +msgid "(c) 2003-" +msgstr "© 2003-" + +#: gui/app/main.cpp:58 +msgid "Urs Fleisch" +msgstr "Урс Флајш" + +#: gui/app/main.cpp:62 +msgid "directory to open" +msgstr "директоријум за отварање" + +#: gui/dialogs/browsecoverartdialog.cpp:75 +#: gui/dialogs/browsecoverartdialog.cpp:264 +msgid "Browse Cover Art" +msgstr "Претрага омота албума" + +#: gui/dialogs/browsecoverartdialog.cpp:86 +msgid "&Artist/Album" +msgstr "И&звођач/албум" + +#: gui/dialogs/browsecoverartdialog.cpp:100 +msgid "&Source" +msgstr "&Извор" + +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 +msgid "Source:" +msgstr "Извор:" + +#: gui/dialogs/browsecoverartdialog.cpp:103 +msgid "URL:" +msgstr "УРЛ:" + +#: gui/dialogs/browsecoverartdialog.cpp:116 +msgid "&URL extraction" +msgstr "Извлачење &УРЛ-а" + +#: gui/dialogs/browsecoverartdialog.cpp:120 +msgid "Match" +msgstr "Поклопи" + +#: gui/dialogs/browsecoverartdialog.cpp:120 +msgid "Picture URL" +msgstr "УРЛ слике" + +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 +msgid "&Help" +msgstr "По&моћ" + +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 gui/dialogs/numbertracksdialog.cpp:110 +#: gui/dialogs/playlistdialog.cpp:205 gui/dialogs/rendirdialog.cpp:76 +#: gui/dialogs/serverimportdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:71 +#: gui/dialogs/textimportdialog.cpp:81 +msgid "&Save Settings" +msgstr "&Сачувај подешавања" + +#: gui/dialogs/browsecoverartdialog.cpp:146 +msgid "&Browse" +msgstr "&Потражи" + +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 gui/dialogs/editframefieldsdialog.cpp:961 +#: gui/dialogs/importdialog.cpp:231 gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 +msgid "&Cancel" +msgstr "&Одустани" + +#: gui/dialogs/browsecoverartdialog.cpp:178 +msgid "Click Browse to start" +msgstr "Кликните на „Потражи“ да бисте покренули" + +#: gui/dialogs/browsecoverartdialog.cpp:184 +msgid "Then drag the picture from the browser to Kid3." +msgstr "и онда превуците слику са прегледача у Кид3." + +#: gui/dialogs/browserdialog.cpp:76 +msgid "&Back" +msgstr "&Назад" + +#: gui/dialogs/browserdialog.cpp:81 +msgid "&Forward" +msgstr "На&пред" + +#: gui/dialogs/browserdialog.cpp:86 +msgid "&Find:" +msgstr "&Нађи:" + +#: gui/dialogs/browserdialog.cpp:100 +msgid "Find Previous" +msgstr "Нађи претходно" + +#: gui/dialogs/browserdialog.cpp:110 +msgid "Find Next" +msgstr "Нађи следеће" + +#: gui/dialogs/configdialog.cpp:114 +msgid "ID3v1" +msgstr "ИД3в1" + +#: gui/dialogs/configdialog.cpp:118 +msgid "&Mark truncated fields" +msgstr "Означи одсечена &поља" + +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 +msgid "Text &encoding:" +msgstr "Кодирање &текста:" + +#: gui/dialogs/configdialog.cpp:196 +msgid "ID3v2" +msgstr "ИД3в2" + +#: gui/dialogs/configdialog.cpp:200 +msgid "Use &track/total number of tracks format" +msgstr "Користи формат &нумера/укупно нумера" + +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "Број &цифара нумере:" + +#: gui/dialogs/configdialog.cpp:206 +msgid "&Genre as text instead of numeric string" +msgstr "&Жанр као текст уместо бројног низа" + +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 +msgid "ISO-8859-1" +msgstr "ISO-8859-1" + +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 +msgid "UTF16" +msgstr "UTF-16" + +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 +msgid "UTF8" +msgstr "UTF-8" + +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "И&здање за нове ознаке:" + +#: gui/dialogs/configdialog.cpp:221 +msgid "ID3v2.3.0 (id3lib)" +msgstr "ИД3в2.3.0 (id3lib)" + +#: gui/dialogs/configdialog.cpp:222 +msgid "ID3v2.4.0 (TagLib)" +msgstr "ИД3в2.4.0 (TagLib)" + +#: gui/dialogs/configdialog.cpp:233 +msgid "Ogg/Vorbis" +msgstr "Огг/Ворбис" + +#: gui/dialogs/configdialog.cpp:234 +msgid "Comment field &name:" +msgstr "Име поља ко&ментара:" + +#: gui/dialogs/configdialog.cpp:236 +msgid "&Picture field name:" +msgstr "Име поља &слике:" + +#: gui/dialogs/configdialog.cpp:259 +msgid "Custom &Genres" +msgstr "Посе&бни жанрови" + +#: gui/dialogs/configdialog.cpp:260 +msgid "&Show only custom genres" +msgstr "Прик&ажи само посебне жанрове" + +#: gui/dialogs/configdialog.cpp:269 +msgid "&Tag Format" +msgstr "&Формат ознаке" + +#: gui/dialogs/configdialog.cpp:274 +msgid "Tags" +msgstr "Ознаке" + +#: gui/dialogs/configdialog.cpp:276 +msgid "&Tags" +msgstr "&Ознаке" + +#: gui/dialogs/configdialog.cpp:285 +msgid "Save" +msgstr "Сачувај" + +#: gui/dialogs/configdialog.cpp:286 +msgid "&Preserve file timestamp" +msgstr "Очувај &временску ознаку фајла" + +#: gui/dialogs/configdialog.cpp:287 +msgid "&Mark changes" +msgstr "О&значи измене" + +#: gui/dialogs/configdialog.cpp:294 +msgid "&Filename Format" +msgstr "Формат имена &фајла" + +#: gui/dialogs/configdialog.cpp:298 +msgid "Files" +msgstr "Фајлови" + +#: gui/dialogs/configdialog.cpp:300 +msgid "&Files" +msgstr "&Фајлови" + +#: gui/dialogs/configdialog.cpp:309 +msgid "Browser" +msgstr "Прегледач" + +#: gui/dialogs/configdialog.cpp:310 +msgid "Web &browser:" +msgstr "Веб &прегледач" + +#: gui/dialogs/configdialog.cpp:320 +msgid "Context &Menu Commands" +msgstr "Наредбе контекстног ме&нија" + +#: gui/dialogs/configdialog.cpp:322 +msgid "&Play on double click" +msgstr "&Репродукуј при двоклику" + +#: gui/dialogs/configdialog.cpp:335 +msgid "User Actions" +msgstr "Радње корисника" + +#: gui/dialogs/configdialog.cpp:337 +msgid "&User Actions" +msgstr "Радње &корисника" + +#: gui/dialogs/configdialog.cpp:346 +msgid "Proxy" +msgstr "Прокси" + +#: gui/dialogs/configdialog.cpp:347 +msgid "&Proxy:" +msgstr "&Прокси:" + +#: gui/dialogs/configdialog.cpp:349 +msgid "&Use authentication with proxy" +msgstr "Користи &аутентификацију за прокси" + +#: gui/dialogs/configdialog.cpp:350 +msgid "Proxy user &name:" +msgstr "Корисничко &име за прокси:" + +#: gui/dialogs/configdialog.cpp:353 +msgid "Proxy pass&word:" +msgstr "Лозинка за прокси:" + +#: gui/dialogs/configdialog.cpp:377 +msgid "Network" +msgstr "Мрежа" + +#: gui/dialogs/configdialog.cpp:379 +msgid "&Network" +msgstr "&Мрежа" + +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "Пречице &тастатуре" + +#: gui/dialogs/configdialog.cpp:407 +msgid "Use custom app&lication font" +msgstr "Користи посе&бни фонт за апликацију" + +#: gui/dialogs/configdialog.cpp:408 +msgid "A&pplication Font..." +msgstr "&Фонт апликације..." + +#: gui/dialogs/configdialog.cpp:409 +msgid "Use custom application &style" +msgstr "Користи посебни &стил за апликацију" + +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 +msgid "Unknown" +msgstr "Непознато" + +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Користи системске &дијалоге фајлова" + +#: gui/dialogs/configdialog.cpp:430 +msgid "&Appearance" +msgstr "&Изглед" + +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 gui/dialogs/numbertracksdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:213 +msgid "&OK" +msgstr "&У реду" + +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "Пречица тастатуре '%1' је већ додељена '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 +msgid "Kid3 Handbook" +msgstr "Кид3 приручник" + +#: gui/dialogs/editframefieldsdialog.cpp:523 gui/dialogs/textimportdialog.cpp:90 +msgid "From Clip&board" +msgstr "Из клип&борда" + +#: gui/dialogs/editframefieldsdialog.cpp:524 +msgid "&Import" +msgstr "У&вези" + +#: gui/dialogs/editframefieldsdialog.cpp:525 +msgid "&Export" +msgstr "Изв&ези" + +#: gui/dialogs/editframefieldsdialog.cpp:526 +msgid "&View" +msgstr "&Приказ" + +#: gui/dialogs/editframefieldsdialog.cpp:656 +msgid "Text Encoding" +msgstr "Кодирање текста" + +#: gui/dialogs/editframefieldsdialog.cpp:657 +msgid "Text" +msgstr "Текст" + +#: gui/dialogs/editframefieldsdialog.cpp:658 +msgid "URL" +msgstr "УРЛ" + +#: gui/dialogs/editframefieldsdialog.cpp:660 +msgid "Description" +msgstr "Опис" + +#: gui/dialogs/editframefieldsdialog.cpp:661 +msgid "Owner" +msgstr "Власник" + +#: gui/dialogs/editframefieldsdialog.cpp:662 +msgid "Email" +msgstr "Е-адреса" + +#: gui/dialogs/editframefieldsdialog.cpp:663 +msgid "Rating" +msgstr "Рејтинг" + +#: gui/dialogs/editframefieldsdialog.cpp:666 +msgid "Picture Type" +msgstr "Тип слике" + +#: gui/dialogs/editframefieldsdialog.cpp:667 +msgid "Image format" +msgstr "Формат слике" + +#: gui/dialogs/editframefieldsdialog.cpp:668 +msgid "Mimetype" +msgstr "Миме" + +#: gui/dialogs/editframefieldsdialog.cpp:669 +msgid "Counter" +msgstr "Бројач" + +#: gui/dialogs/editframefieldsdialog.cpp:670 +msgid "Identifier" +msgstr "Идентификатор" + +#: gui/dialogs/editframefieldsdialog.cpp:671 +msgid "Volume Adjustment" +msgstr "Подешавање јачине" + +#: gui/dialogs/editframefieldsdialog.cpp:672 +msgid "Number of Bits" +msgstr "Број бита" + +#: gui/dialogs/editframefieldsdialog.cpp:673 +msgid "Volume Change Right" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:674 +msgid "Volume Change Left" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:675 +msgid "Peak Volume Right" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:676 +msgid "Peak Volume Left" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:677 +msgid "Timestamp Format" +msgstr "Формат временске ознаке" + +#: gui/dialogs/editframefieldsdialog.cpp:678 +msgid "Content Type" +msgstr "Тип садржаја" + +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "слике (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 +msgid "UTF16BE" +msgstr "UTF-16BE" + +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 +msgid "Other" +msgstr "Остало" + +#: gui/dialogs/editframefieldsdialog.cpp:873 +msgid "32x32 pixels PNG file icon" +msgstr "ПНГ икона фајла 32x32 пиксела" + +#: gui/dialogs/editframefieldsdialog.cpp:874 +msgid "Other file icon" +msgstr "Остале иконе фајла" + +#: gui/dialogs/editframefieldsdialog.cpp:875 +msgid "Cover (front)" +msgstr "Омот (предњи)" + +#: gui/dialogs/editframefieldsdialog.cpp:876 +msgid "Cover (back)" +msgstr "Омот (задњи)" + +#: gui/dialogs/editframefieldsdialog.cpp:877 +msgid "Leaflet page" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:879 +msgid "Lead artist/lead performer/soloist" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:880 +msgid "Artist/performer" +msgstr "Уметник/извођач" + +#: gui/dialogs/editframefieldsdialog.cpp:882 +msgid "Band/Orchestra" +msgstr "Бенд/оркестар" + +#: gui/dialogs/editframefieldsdialog.cpp:884 +msgid "Lyricist/text writer" +msgstr "Песник/текстописац" + +#: gui/dialogs/editframefieldsdialog.cpp:885 +msgid "Recording Location" +msgstr "Место снимања" + +#: gui/dialogs/editframefieldsdialog.cpp:886 +msgid "During recording" +msgstr "Током снимања" + +#: gui/dialogs/editframefieldsdialog.cpp:887 +msgid "During performance" +msgstr "Током извођења" + +#: gui/dialogs/editframefieldsdialog.cpp:888 +msgid "Movie/video screen capture" +msgstr "Снимак екрана филма/видеа" + +#: gui/dialogs/editframefieldsdialog.cpp:889 +msgid "A bright coloured fish" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:890 +msgid "Illustration" +msgstr "Илустрација" + +#: gui/dialogs/editframefieldsdialog.cpp:891 +msgid "Band/artist logotype" +msgstr "Логотип бенда/извођача" + +#: gui/dialogs/editframefieldsdialog.cpp:892 +msgid "Publisher/Studio logotype" +msgstr "Логотип издавача/студија" + +#: gui/dialogs/editframefieldsdialog.cpp:901 +msgid "MPEG frames as unit" +msgstr "Број МПЕГ кадрова као јединица" + +#: gui/dialogs/editframefieldsdialog.cpp:902 +msgid "Milliseconds as unit" +msgstr "Милисекунде као јединица" + +#: gui/dialogs/editframefieldsdialog.cpp:912 +msgid "Text transcription" +msgstr "Транскрипција текста" + +#: gui/dialogs/editframefieldsdialog.cpp:913 +msgid "Movement/part name" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:914 +msgid "Events" +msgstr "" + +#: gui/dialogs/editframefieldsdialog.cpp:915 +msgid "Chord" +msgstr "Акорд" + +#: gui/dialogs/editframefieldsdialog.cpp:916 +msgid "Trivia/pop up" +msgstr "" + +#: gui/dialogs/exportdialog.cpp:72 +msgid "Export" +msgstr "Извези" + +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 +msgid "Format:" +msgstr "Формат:" + +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 +msgid "Header:" +msgstr "Заглавље:" + +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 +msgid "Tracks:" +msgstr "Нумере:" + +#: gui/dialogs/exportdialog.cpp:92 +msgid "Footer:" +msgstr "Подножје:" + +#: gui/dialogs/exportdialog.cpp:104 +msgid "To F&ile" +msgstr "У ф&ајл" + +#: gui/dialogs/exportdialog.cpp:109 +msgid "To Clip&board" +msgstr "У клип&борд" + +#: gui/dialogs/exportdialog.cpp:118 +msgid "&Source:" +msgstr "&Извор:" + +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 +msgid "Tag 1" +msgstr "ознака 1" + +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 +msgid "Tag 2" +msgstr "ознака 2" + +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 +msgid "File Error" +msgstr "Грешка фајла" + +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 +msgid "Error while writing file:\n" +msgstr "Грешка приликом уписа фајла:\n" + +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 +msgid "Filter" +msgstr "Филтер" + +#: gui/dialogs/filterdialog.cpp:62 +msgid "&Filter:" +msgstr "&Филтер:" + +#: gui/dialogs/filterdialog.cpp:63 +msgid "&Expression:" +msgstr "&Израз:" + +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 +#: gui/dialogs/tagimportdialog.cpp:76 +msgid "&Apply" +msgstr "&Примени" + +#: gui/dialogs/importdialog.cpp:138 +msgid "From F&ile/Clipboard..." +msgstr "Из &фајла/клипборда..." + +#: gui/dialogs/importdialog.cpp:142 +msgid "From T&ags..." +msgstr "Из о&знака..." + +#: gui/dialogs/importdialog.cpp:146 +msgid "&From Server:" +msgstr "С&а сервера:" + +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 +msgid "MusicBrainz Fingerprint" +msgstr "МјузикБрејнз Отисак прста" + +#: gui/dialogs/importdialog.cpp:162 +msgid "D&estination:" +msgstr "О&дредиште:" + +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 +msgid "Tag 1 and Tag 2" +msgstr "ознака 1 и ознака 2" + +#: gui/dialogs/importdialog.cpp:179 +msgid "Revert" +msgstr "Врати" + +#: gui/dialogs/importdialog.cpp:190 +msgid "Check maximum allowable time &difference (sec):" +msgstr "Провери највећу дозвољену &временску разлику (сек):" + +#: gui/dialogs/importdialog.cpp:198 +msgid "Match with:" +msgstr "Поклопи са:" + +#: gui/dialogs/importdialog.cpp:200 +msgid "&Length" +msgstr "тра&јањем" + +#: gui/dialogs/importdialog.cpp:203 +msgid "T&rack" +msgstr "&нумером" + +#: gui/dialogs/importdialog.cpp:206 +msgid "&Title" +msgstr "нас&ловом" + +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 +msgid "&Server:" +msgstr "&Сервер:" + +#: gui/dialogs/musicbrainzdialog.cpp:108 +msgid "Track Title/Artist - Album" +msgstr "Нумера/извођач - албум" + +#: gui/dialogs/musicbrainzdialog.cpp:109 +msgid "State" +msgstr "Стање" + +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 +msgid "No result" +msgstr "Нема резултата" + +#: gui/dialogs/musicbrainzdialog.cpp:332 +msgid "No result selected" +msgstr "Ништа није изабрано" + +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 +msgid "Number Tracks" +msgstr "Нумериши" + +#: gui/dialogs/numbertracksdialog.cpp:63 +msgid "&Start number:" +msgstr "&Почетни број:" + +#: gui/dialogs/numbertracksdialog.cpp:75 +msgid "&Destination:" +msgstr "&Одредиште:" + +#: gui/dialogs/numbertracksdialog.cpp:91 +msgid "&Total number of tracks:" +msgstr "&Укупно нумера:" + +#: gui/dialogs/playlistdialog.cpp:58 +msgid "Create Playlist" +msgstr "Направи листу нумера" + +#: gui/dialogs/playlistdialog.cpp:144 +msgid "Playlist File Name" +msgstr "Име фајла листе нумера" + +#: gui/dialogs/playlistdialog.cpp:145 +msgid "Same as &directory name" +msgstr "Исто као име &директоријума" + +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 +msgid "&Format:" +msgstr "&Формат:" + +#: gui/dialogs/playlistdialog.cpp:156 +msgid "Cr&eate in:" +msgstr "Н&аправи у:" + +#: gui/dialogs/playlistdialog.cpp:160 +msgid "Current directory" +msgstr "тренутном директоријуму" + +#: gui/dialogs/playlistdialog.cpp:161 +msgid "Every directory" +msgstr "свим директоријумима" + +#: gui/dialogs/playlistdialog.cpp:162 +msgid "Top-level directory" +msgstr "највишем директоријуму" + +#: gui/dialogs/playlistdialog.cpp:163 +msgid "Playlist Content" +msgstr "Садржај листе нумера" + +#: gui/dialogs/playlistdialog.cpp:164 +msgid "For&mat:" +msgstr "Фор&мат:" + +#: gui/dialogs/playlistdialog.cpp:167 +msgid "Incl&ude only the selected files" +msgstr "Укључи само &означене фајлове" + +#: gui/dialogs/playlistdialog.cpp:168 +msgid "Sort by file &name" +msgstr "Сортирај по &имену" + +#: gui/dialogs/playlistdialog.cpp:170 +msgid "Sort by &tag field" +msgstr "Сортирај по &пољу ознаке" + +#: gui/dialogs/playlistdialog.cpp:184 +msgid "Use &relative path for files in playlist" +msgstr "Користи &релативну путању за фајлове на листи нумера" + +#: gui/dialogs/playlistdialog.cpp:186 +msgid "Use full p&ath for files in playlist" +msgstr "Користи пуну пут&ању за фајлове на листи нумера" + +#: gui/dialogs/playlistdialog.cpp:187 +msgid "Write only &list of files" +msgstr "Упиши само &списак фајлова" + +#: gui/dialogs/playlistdialog.cpp:189 +msgid "Write &info using" +msgstr "Упиши &информације користећи" + +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 +msgid "Rename Directory" +msgstr "Преименуј директоријум" + +#: gui/dialogs/rendirdialog.cpp:67 +msgid "Format" +msgstr "Формат" + +#: gui/dialogs/rendirdialog.cpp:72 +msgid "Preview" +msgstr "Преглед" + +#: gui/dialogs/rendirdialog.cpp:107 +msgid "Create Directory" +msgstr "Направи директоријум" + +#: gui/dialogs/rendirdialog.cpp:110 +msgid "From Tag 2 and Tag 1" +msgstr "Из ознаке 2 и ознаке 1" + +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 +msgid "From Tag 1" +msgstr "Из ознаке 1" + +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 +msgid "From Tag 2" +msgstr "Из ознаке 2" + +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 +msgid "From:" +msgstr "Из:" + +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 +msgid "To:" +msgstr "У:" + +#: gui/dialogs/serverimportdialog.cpp:63 +msgid "&Find" +msgstr "&Нађи" + +#: gui/dialogs/serverimportdialog.cpp:83 +msgid "C&GI Path:" +msgstr "Ц&ГИ путања:" + +#: gui/dialogs/serverimportdialog.cpp:94 +msgid "&Additional Tags" +msgstr "Дода&тне ознаке" + +#: gui/dialogs/serverimportdialog.cpp:95 +msgid "C&over Art" +msgstr "Омот а&лбума" + +#: gui/dialogs/tagimportdialog.cpp:49 +msgid "Import from Tags" +msgstr "Увези из ознака" + +#: gui/dialogs/tagimportdialog.cpp:59 +msgid "Extraction:" +msgstr "Извлачење:" + +#: gui/dialogs/textimportdialog.cpp:58 +msgid "Import from File/Clipboard" +msgstr "Увези из фајла/клипборда" + +#: gui/dialogs/textimportdialog.cpp:86 +msgid "From F&ile" +msgstr "Из &фајла" + +#: gui/forms/filelist.cpp:136 +msgid "&Expand all" +msgstr "Раз&гранај све" + +#: gui/forms/filelist.cpp:137 +msgid "&Collapse all" +msgstr "&Сакупи све" + +#: gui/forms/filelist.cpp:138 +msgid "&Rename" +msgstr "П&реименуј" + +#: gui/forms/filelist.cpp:139 +msgid "&Move to Trash" +msgstr "Премести у &смеће" + +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 +msgid "&Play" +msgstr "Ре&продукуј" + +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 +msgid "F&ile" +msgstr "Ф&ајл" + +#: gui/forms/kid3form.cpp:211 +msgid "Name:" +msgstr "Име:" + +#: gui/forms/kid3form.cpp:236 +msgid "Filename from Tag 1" +msgstr "ознаке 1 у име фајла" + +#: gui/forms/kid3form.cpp:239 +msgid "Filename from Tag 2" +msgstr "ознаке 2 у име фајла" + +#: gui/forms/kid3form.cpp:261 +msgid "Tag 1 from Filename" +msgstr "ознаку 1 из имена фајла" + +#: gui/forms/kid3form.cpp:265 +msgid "Tag 2 from Filename" +msgstr "ознаку 2 из имена фајла" + +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 +msgid "Tag &1" +msgstr "Ознака &1" + +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 +msgid "Copy" +msgstr "Копирај" + +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 +msgid "Paste" +msgstr "Налепи" + +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 +msgid "Remove" +msgstr "Уклони" + +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 +msgid "Tag &2" +msgstr "Ознака &2" + +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 +msgid "Edit" +msgstr "Уреди" + +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 +msgid "Add" +msgstr "Додај" + +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 +msgid "Delete" +msgstr "Обриши" + +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Фокус" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Из имена фајла" + +#: gui/forms/kid3mainwindow.cpp:115 +msgid "Download" +msgstr "Преузми" + +#: gui/forms/kid3mainwindow.cpp:193 +msgid "Main Toolbar" +msgstr "Главна трака" + +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 +msgid "Opens a directory" +msgstr "Отвара директоријум" + +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 +msgid "Opens a recently used directory" +msgstr "Отвара недавно коришћен директоријум" + +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 +msgid "Reverts the changes of all or the selected files" +msgstr "Поништава измене свих или изабраних фајлова" + +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 +msgid "Saves the changed files" +msgstr "Уписује измене фајлова" + +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 +msgid "Quits the application" +msgstr "Напушта апликацију" + +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 +msgid "Select all files" +msgstr "Изабери све фајлове" + +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 +msgid "Deselect all files" +msgstr "Поништи избор свих фајлова" + +#: gui/forms/kid3mainwindow.cpp:235 +msgid "Configure Shortcuts" +msgstr "Подеси пречице" + +#: gui/forms/kid3mainwindow.cpp:236 +msgid "Configure Toolbars" +msgstr "Подеси траке алата" + +#: gui/forms/kid3mainwindow.cpp:237 +msgid "Preferences dialog" +msgstr "Дијалог подешавања" + +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 +msgid "O&pen Directory..." +msgstr "О&твори директоријум..." + +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 +msgid "&Import..." +msgstr "&Увези..." + +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 +msgid "Import from %1..." +msgstr "Увези са %1..." + +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 +msgid "&Browse Cover Art..." +msgstr "Потражи о&мот албума..." + +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 +msgid "&Export..." +msgstr "Изв&ези..." + +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 +msgid "&Create Playlist..." +msgstr "Направи &листу нумера..." + +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 +msgid "Apply &Filename Format" +msgstr "Примени формат имена фа&јла" + +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 +msgid "Apply &Tag Format" +msgstr "Примени формат &ознаке" + +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 +msgid "&Rename Directory..." +msgstr "Преименуј &директоријум..." + +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 +msgid "&Number Tracks..." +msgstr "Ну&мериши..." + +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 +msgid "F&ilter..." +msgstr "Ф&илтер..." + +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 +msgid "Convert ID3v2.3 to ID3v2.&4" +msgstr "Претвори ИД3в2.3 у ИД3в2.&4" + +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 +msgid "Convert ID3v2.4 to ID3v2.&3" +msgstr "Претвори ИД3в2.4 у ИД3в2.&3" + +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 +msgid "Show &Picture" +msgstr "Прикажи с&лику" + +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 +msgid "Auto &Hide Tags" +msgstr "Аутоматски &сакриј ознаке" + +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 +msgid "&Previous File" +msgstr "&Претходни фајл" + +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 +msgid "&Next File" +msgstr "&Следећи фајл" + +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 +msgid "Frames:" +msgstr "Кадрови:" + +#: gui/forms/kid3mainwindow.cpp:389 +msgid "&File" +msgstr "&Фајл" + +#: gui/forms/kid3mainwindow.cpp:395 +msgid "&Open..." +msgstr "&Отвори..." + +#: gui/forms/kid3mainwindow.cpp:409 +msgid "Open &Recent" +msgstr "Отвори &недавно" + +#: gui/forms/kid3mainwindow.cpp:427 +msgid "&Save" +msgstr "&Сачувај" + +#: gui/forms/kid3mainwindow.cpp:440 +msgid "Re&vert" +msgstr "&Врати" + +#: gui/forms/kid3mainwindow.cpp:452 +msgid "Import from file or clipboard" +msgstr "Увези из фајла или клипборда" + +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 +msgid "Import from %1" +msgstr "Увези са %1" + +#: gui/forms/kid3mainwindow.cpp:495 +msgid "Browse album cover artwork" +msgstr "Потражи слику омота албума" + +#: gui/forms/kid3mainwindow.cpp:504 +msgid "Export to file or clipboard" +msgstr "Извези у фајл или клипборд" + +#: gui/forms/kid3mainwindow.cpp:514 +msgid "Create M3U Playlist" +msgstr "Направи М3У листу нумера" + +#: gui/forms/kid3mainwindow.cpp:527 +msgid "&Quit" +msgstr "&Напусти" + +#: gui/forms/kid3mainwindow.cpp:536 +msgid "&Edit" +msgstr "&Уреди" + +#: gui/forms/kid3mainwindow.cpp:540 +msgid "Select &All" +msgstr "Изабери с&ве" + +#: gui/forms/kid3mainwindow.cpp:551 +msgid "Dese&lect" +msgstr "По&ништи избор" + +#: gui/forms/kid3mainwindow.cpp:560 +msgid "Select previous file" +msgstr "Изабери претходни фајл" + +#: gui/forms/kid3mainwindow.cpp:572 +msgid "Select next file" +msgstr "Изабери следећи фајл" + +#: gui/forms/kid3mainwindow.cpp:583 +msgid "&Tools" +msgstr "&Алатке" + +#: gui/forms/kid3mainwindow.cpp:586 +msgid "Apply Filename Format" +msgstr "Примени формат назива фајла" + +#: gui/forms/kid3mainwindow.cpp:595 +msgid "Apply Tag Format" +msgstr "Примени формат ознаке" + +#: gui/forms/kid3mainwindow.cpp:632 +msgid "Convert ID3v2.3 to ID3v2.4" +msgstr "Претвори ИД3в2.3 у ИД3в2.4" + +#: gui/forms/kid3mainwindow.cpp:643 +msgid "Convert ID3v2.4 to ID3v2.3" +msgstr "Претвори ИД3в2.4 у ИД3в2.3" + +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 +msgid "Play" +msgstr "Репродукција" + +#: gui/forms/kid3mainwindow.cpp:665 +msgid "&Settings" +msgstr "&Подешавање" + +#: gui/forms/kid3mainwindow.cpp:669 +msgid "Enables/disables the toolbar" +msgstr "Приказује/сакрива траку алата" + +#: gui/forms/kid3mainwindow.cpp:670 +msgid "Show &Toolbar" +msgstr "Прикажи траку &алата" + +#: gui/forms/kid3mainwindow.cpp:680 +msgid "Enables/disables the statusbar" +msgstr "Приказује/сакрива траку стања" + +#: gui/forms/kid3mainwindow.cpp:681 +msgid "Show St&atusbar" +msgstr "Прикажи траку &стања" + +#: gui/forms/kid3mainwindow.cpp:690 +msgid "Show Picture" +msgstr "Прикажи слику" + +#: gui/forms/kid3mainwindow.cpp:700 +msgid "Auto Hide Tags" +msgstr "Аутоматски сакриј ознаке" + +#: gui/forms/kid3mainwindow.cpp:710 +msgid "Configure Kid3" +msgstr "Подеси Кид3" + +#: gui/forms/kid3mainwindow.cpp:711 +msgid "&Configure Kid3..." +msgstr "&Подеси Кид3..." + +#: gui/forms/kid3mainwindow.cpp:728 +msgid "Kid3 &Handbook" +msgstr "Кид3 п&риручник" + +#: gui/forms/kid3mainwindow.cpp:738 +msgid "About Kid3" +msgstr "О Кид3-у" + +#: gui/forms/kid3mainwindow.cpp:739 +msgid "&About Kid3" +msgstr "&О Кид3-у" + +#: gui/forms/kid3mainwindow.cpp:747 +msgid "About Qt" +msgstr "О КјуТ-у" + +#: gui/forms/kid3mainwindow.cpp:748 +msgid "About &Qt" +msgstr "О КјуТ-у" + +#: gui/forms/kid3mainwindow.cpp:790 +msgid "Opening directory..." +msgstr "Отварам директоријум..." + +#: gui/forms/kid3mainwindow.cpp:912 +msgid "Saving directory..." +msgstr "Уписујем директоријум..." + +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 +msgid "" +"The current directory has been modified.\n" +"Do you want to save it?" +msgstr "" +"Тренутни директоријум је измењен.\n" +"Желите ли да сачувате измене?" + +#: gui/forms/kid3mainwindow.cpp:973 +msgid "Warning" +msgstr "Упозорење" + +#: gui/forms/kid3mainwindow.cpp:980 +msgid "Warning - Kid3" +msgstr "Упозорење - Кид3" + +#: gui/forms/kid3mainwindow.cpp:1059 +msgid "Open" +msgstr "Отвори" + +#: gui/forms/kid3mainwindow.cpp:1135 +msgid "Exiting..." +msgstr "Излазим..." + +#: gui/forms/kid3mainwindow.cpp:1179 +msgid "Toggle the statusbar..." +msgstr "Прикажи/сакриј траку стања..." + +#: gui/forms/kid3mainwindow.cpp:1261 +msgid "Creating playlist..." +msgstr "Правим листу нумера..." + +#: gui/forms/kid3mainwindow.cpp:1287 +msgid "Import" +msgstr "Увези" + +#: gui/forms/kid3mainwindow.cpp:1400 +msgid "Configure - Kid3" +msgstr "Подешавање - Кид3" + +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 +msgid "Error while renaming:\n" +msgstr "Грешка приликом преименовања:\n" + +#: gui/forms/kid3mainwindow.cpp:1562 +msgid " [filtered]" +msgstr " [филтриран]" + +#: gui/forms/kid3mainwindow.cpp:1568 +msgid " [modified]" +msgstr " [измењен]" + +#: gui/forms/kid3mainwindow.cpp:1810 +msgid "Add Frame" +msgstr "Додај оквир" + +#: gui/forms/kid3mainwindow.cpp:1811 +msgid "Select the frame ID" +msgstr "Изаберите ИД оквира" + +#: gui/forms/kid3mainwindow.cpp:1899 +msgid "Rename File" +msgstr "Преименуј фајл" + +#: gui/forms/kid3mainwindow.cpp:1900 +msgid "Enter new file name:" +msgstr "Унесите ново име фајла:" + +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 +msgid "Do you really want to move these %1 items to the trash?" +msgstr "Желите ли заиста да преместите ових %1 ставки у смеће?" + +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 +msgid "Do you really want to move this item to the trash?" +msgid_plural "Do you really want to move these %1 items to the trash?" +msgstr[0] "Желите ли заиста да преместите ову %1 ставку у смеће?" +msgstr[1] "Желите ли заиста да преместите ове %1 ставке у смеће?" +msgstr[2] "Желите ли заиста да преместите ових %1 ставки у смеће?" +msgstr[3] "Желите ли заиста да преместите ову ставку у смеће?" + +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 +msgid "Move to Trash" +msgstr "Премести у смеће" + +#: gui/forms/kid3mainwindow.cpp:1998 +msgid "Directory must be empty.\n" +msgstr "Директориујм мора бити празан.\n" + +#: gui/forms/kid3mainwindow.cpp:1999 +msgid "Could not move these files to the Trash" +msgstr "Нисам могао да преместим ове фајлове у смеће" + +#: gui/widgets/configtable.cpp:135 +msgid "&Insert row" +msgstr "&Убаци ред" + +#: gui/widgets/configtable.cpp:139 +msgid "&Delete row" +msgstr "&Обриши ред" + +#: gui/widgets/configtable.cpp:143 +msgid "&Clear row" +msgstr "О&чисти ред" + +#: gui/widgets/formatbox.cpp:47 +msgid "Format while editing" +msgstr "Форматирај при уређивању" + +#: gui/widgets/formatbox.cpp:51 +msgid "Case conversion:" +msgstr "Величина слова:" + +#: gui/widgets/formatbox.cpp:57 +msgid "No changes" +msgstr "без измена" + +#: gui/widgets/formatbox.cpp:59 +msgid "All lowercase" +msgstr "све малим" + +#: gui/widgets/formatbox.cpp:61 +msgid "All uppercase" +msgstr "све великим" + +#: gui/widgets/formatbox.cpp:63 +msgid "First letter uppercase" +msgstr "прво слово великим" + +#: gui/widgets/formatbox.cpp:65 +msgid "All first letters uppercase" +msgstr "сва прва слова великим" + +#: gui/widgets/formatbox.cpp:68 +msgid "String replacement:" +msgstr "Замена текста:" + +#: gui/widgets/formatbox.cpp:72 +msgid "From" +msgstr "из" + +#: gui/widgets/formatbox.cpp:72 +msgid "To" +msgstr "у" + +#: gui/widgets/formatlistedit.cpp:81 +msgid "&Add" +msgstr "&Додај" + +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 +msgid "&Remove" +msgstr "У&клони" + +#: gui/widgets/formatlistedit.cpp:242 +msgid "New" +msgstr "Ново" + +#: gui/widgets/frametable.cpp:145 +msgid "&Select all" +msgstr "И&забери све" + +#: gui/widgets/frametable.cpp:147 +msgid "&Deselect all" +msgstr "По&ништи избор" + +#: gui/widgets/imageviewer.cpp:47 +msgid "View Picture" +msgstr "Погледај слику" + +#: gui/widgets/picturelabel.cpp:67 +msgid "" +"Drag album\n" +"artwork\n" +"here" +msgstr "" +"Превуци\n" +"слику албума\n" +"овде" + +#: gui/widgets/playtoolbar.cpp:62 +msgid "Play/Pause" +msgstr "Репродукуј/паузирај" + +#: gui/widgets/playtoolbar.cpp:64 +msgid "Stop playback" +msgstr "Заустави репродукцију" + +#: gui/widgets/playtoolbar.cpp:66 +msgid "Previous Track" +msgstr "Претходна нумера" + +#: gui/widgets/playtoolbar.cpp:68 +msgid "Next Track" +msgstr "Следећа нумера" + +#: gui/widgets/playtoolbar.cpp:70 +msgid "Close" +msgstr "Затвори" + +#: gui/widgets/recentfilesmenu.cpp:111 +msgid "&Clear List" +msgstr "О&чисти списак" + +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Очисти" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Поново постави" + +#: gui/widgets/stringlistedit.cpp:51 +msgid "&Add..." +msgstr "&Додај..." + +#: gui/widgets/stringlistedit.cpp:52 +msgid "Move &Up" +msgstr "Помери &горе" + +#: gui/widgets/stringlistedit.cpp:53 +msgid "Move &Down" +msgstr "Помери до&ле" + +#: gui/widgets/stringlistedit.cpp:54 +msgid "&Edit..." +msgstr "У&реди..." + +#: gui/widgets/stringlistedit.cpp:90 +msgid "Add Item" +msgstr "Додај ставку" + +#: gui/widgets/stringlistedit.cpp:123 +msgid "Edit Item" +msgstr "Уреди ставку" + +#: rc.cpp:1 +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Младен Пејаковић" + +#: rc.cpp:2 +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pejakm@gmail.com" + +#: rc.cpp:3 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Младен Пејаковић" + +#: rc.cpp:4 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "pejakm@gmail.com" diff -Nru kid3-2.0.1/po/tr.po kid3-2.1/po/tr.po --- kid3-2.0.1/po/tr.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/tr.po 2012-05-11 05:46:04.000000000 +0000 @@ -5,10 +5,10 @@ # Urs Fleisch , 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: kid3\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:42+0100\n" "Last-Translator: \n" "Language-Team: Turkish \n" @@ -21,371 +21,391 @@ "X-Language: tr\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "Eylem" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "Kısayol" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - Ses şifreleme" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - İliştirilmiş Resim" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - Yorumlar" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - Ticari" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - Şifreleme yöntemi kaydı" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - Ekolayzır" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "ETCO - Olay zamanlama kodekleri" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "GEOB - Genel kapsülleme nesnesi" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "GRID - Grup tanımlama kaydı" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "IPLS - İlgili kişi listesi" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - Bağlanmış bilgi" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - Ses CD'si tanımlayıcı" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - MPEG konumu şema tablosu" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "OWNE - Sahip çerçeve" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "PRIV - Özel çerçeve" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - Çalma sayacı" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "POPM - Popülerlik ölçümü" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - Pozisyon senkronizasyon çerçevesi" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - Önerilen tampon bellek boyutu" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "RVAD - Bağıl ses düzeyi ayarı" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "RVRB - Reverb" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "SYLT - Senkronize edilmiş şarkı sözü/metin" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "SYTC - Senkronize edilmiş tempo açıcıları" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "TALB - Albüm/Film/Gösteri Adı" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "TBPM - BPM (Dakikada Vuruş Sayısı)" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "TCOM - Besteci" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "TCON - İçerik tipi" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - Telif hakkı mesajı" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - Tarih" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - Şarkı listesi gecikmesi" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - Sıkıştıran" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - Söz yazarı" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - Dosya tipi" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - Zaman" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - İçerik grubu açıklaması" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - Şarkı adı / İçerik açıklaması" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "TIT3 - Alt yazı / Açıklama düzeltmesi" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "TKEY - İlk anahtar" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - Dil(ler)" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - Süre" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - Ortam türü" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "TOAL - Orjinal Albüm / Film / Gösteri adı" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - Orjinal dosya adı" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - Orjinal söz yazar(lar)ı" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - Orjinal sanatçı adı" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - Orjinal piyasaya çıkış yılı" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - Dosyanın lisans sahibi" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - Ana sanatçı(lar) / Söyleyen(ler)" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - Grup / Orkestra / Misafir Sanatçı" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "TPE3 - Orkestra şefi / Söyleyen düzeltme" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "TPE4 - Yorumlayan / Tekrar düzenleyen veya değiştiren" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "TPOS - Bir seri'nin parçası" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - Yayımcı" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - Seri'nin Parça / Konum Numarası" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - Kayıt tarihleri" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "TRSN - İnternet radyo istasyonu adı" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "TRSO - İnternet radyo istasyonu sahibi" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - Büyüklük" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "TSRC - ISRC (Uluslararası standart kayıt kodu)" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - Sıkıştırma için kullanılan yazılım / donanım ve ayarlar" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - Kullanıcı tanımlı metin bilgisi" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - Yıl" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "UFID - Benzersiz dosya tanımlayıcısı" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "USER - Kullanım şartları" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "USLT - Senkronize edilmemiş söz çevrim yazısı" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - Ticari bilgi" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - Telif Hakkı / Kanuni bilgi" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - Ses dosyası'nın resmi internet sitesi" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - Sanatçı'nın / Şarkıcı'nın resmi web sitesi" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "WOAS - Ses dosyasının resmi internet adresi" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "WORS - İnternet radyo istasyonu'nun resmi adresi" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "WPAY - Ödeme" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "WPUB - Resmi yayımcı" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "WXXX - Kullanıcı tanımlı URL bağlantısı" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - Ses tarama nokta indeksi" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "EQU2 - Ekolayzır (2)" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - Bağıl ses düzeyi ayarı (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - Tarama çerçevesi" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - İmza çerçevesi" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes derleme" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - Sıkıştırma süresi" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - Orjinal piyasaya çıkış zamanı" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - Kayıt süresi" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - Piyasaya çıkış zamanı" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - Etiketleme zamanı" -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - İlgili kişi listesi" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - Katkıda bulunan müzisyenler listesi" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "TMOO - Duruş" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "TPRO - Üretilmiş uyarı" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - Albüm Sanatçısı Sıralama Düzeni" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "TSOA - Albüm sıralaması" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - Besteci sıralaması" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "TSOP - Söyleyen sıralaması" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - Başlık sıralaması" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - Alt yazı ayarla" @@ -393,7 +413,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -403,9 +423,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "Hazır." @@ -421,7 +441,7 @@ msgid "Request sent..." msgstr "İstek gönderildi..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "Alınan veri: %1" @@ -437,80 +457,44 @@ msgid "Host not found" msgstr "Sunucu bulunamadı" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "Yıl" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "Süre" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "Meta-verisi Oku" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "Tanımlanamayan" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "Tanımlanan" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "Bekliyor" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "PUID Görünümü" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "PUID Çakışması" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "TRM Görünümü" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "TRM Çakışması" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "Dosya Görünümü" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "Kullanıcı Seçimi" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "Doğrulandı" - -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "Kaydedildi" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "Silindi" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Parmak İzinden" -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "Hata" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "Kaldırıldı" - -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "Yazıldı" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "ID Görünümü" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "Meta-verisi Oku" + +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz Sürümünden" @@ -551,62 +535,63 @@ msgid "Command" msgstr "Komut" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr " %1 dizinini yaratma başarısız\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr "Zaten %1 adında bir dosya var\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 dosyası bir dizin değil\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "%1 ismi %2 şeklinde değiştirilemedi\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 adında bir dosya zaten var\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 bir dosya değil\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "Yeni dizin ismi çok farklı\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "Dizin Yarat" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "Dizini Yeniden Adlandır" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "Dosya adını değiştir" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "Temiz&le" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "&Kapat" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "Çalıştır" -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "Çalıştırılamadı " @@ -635,20 +620,22 @@ msgstr "" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "Veri" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "Desteklenen Bütün Dosyalar" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "Tüm Dosyalar (*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "Parça No" @@ -656,9 +643,9 @@ msgid "Absolute path to file" msgstr "" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "Dosya Adı" @@ -710,11 +697,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "Besteci" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "Orkestra Şefi" @@ -738,7 +725,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "Dil" @@ -746,11 +733,11 @@ msgid "Lyricist" msgstr "Söz Yazar" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Şarkı Sözleri" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "Ortam" @@ -826,13 +813,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3 ID3 Düzenleyici" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -843,490 +830,507 @@ msgstr "açılacak dizin" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "Kapak Resimlerini Al" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "Sanatçı/&Albüm" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "&Kaynak" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "Kaynak:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "Eşleşme" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "&Yardım" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "&Ayarları Kaydet" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "&Gözat" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "İ&ptal" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "" -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "&Geri" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "İle&ri" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "B&ul:" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "Öncekini Bul" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "Sonrakini Bul" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "M&etin kodlama:" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "Parça/&Toplam Parça Sayısı biçimini kullan" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "&Hane sayısı:" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "&Yeni tag'lar için kullanılan sürüm:" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "&Hane sayısı:" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "&Yeni tag'lar için kullanılan sürüm:" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "&Tag Biçimi" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "Etiketler" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "E&tiketler" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "Kaydet" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "&Dosya timestamp değerini sakla" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "&Dosya adı Biçimi" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "Dosyalar" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "&Dosyalar" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "Gözat" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "İnternet &Tarayıcısı:" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "Açılır &Menü Komutları" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 #, fuzzy msgid "&Play on double click" msgstr "&Çift tıklayın çal" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "Kullanıcı Eylemleri" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "K&ullanıcı Eylemleri" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "Vekil Sunucu" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "&Vekil Sunucu:" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "Vekil s&unucu ile yetkilendirme kullan" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "Vekil su&nucu kullanıcı adı:" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "&Vekil sunucu parolası:" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "Ağ" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "&Ağ" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "&Klavye Kısayolları" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "Uygulama için özel yazıyüzü kullan" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "" -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "Bilinmeyen" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "Sistemin &doğal dosya pencerelerini kullan" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "&Görünüm" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "&Tamam" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "'%1' kısayolu bu işlem için kullanılıyor '%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Kid3 El Kitabı" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "&Panodan" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "&Al" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "&Ver" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "Görü&nüm" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "Karakter Kodlaması" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "Metin" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "URL" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "Açıklama" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "Sahibi" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "E-posta" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "Puan" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "Resim Tipi" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "Görüntü Formatı" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Mime-türü" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "Sayaç" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "Tanımlayıcı" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "Ses seviyesi ayarı" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "Bit sayısı" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "Sağ Ses Seviyesi Değişimi" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "Sol Ses Seviyesi Değişimi" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "Sağ Üst Ses Sınırı" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "Sol Üst Ses Sınırı" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "Timestamp biçimi" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "İçerik Türü" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "Resimler (*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "Diğer" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "32x32 piksel PNG dosya ikonu" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "Diğer dosya ikonu" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "Ön Kapak" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "Arka Kapak" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "Broşür Sayfası" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "Ana Sanatçı/Söyleyen/Solist" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "Sanatçı/Söyleyen" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "Grup/Orkestra" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "Söz yazarı" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "Kayıt Yeri" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "Kayıt sırasında" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "Şarkı söylenirken" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "Film / Video" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "Parlak bir renkli balık" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "İllüstrasyon" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "Grup/sanatçı Logosu" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "Yapımcı/Stüdyo Logosu" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "Birim olarak MPEG çerçeveleri" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "MBirim olarak milisaniye" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "Yazı Çevrimi" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "Hareket/Bölüm adı" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "Olaylar" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "Akor" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "Trivia/pop up" @@ -1334,165 +1338,165 @@ msgid "Export" msgstr "Dışa Aktar" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "Biçim:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "Üst Bilgi:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "Parçalar:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "Altlık:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "&Dosyaya" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "&Panoya" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "&Kaynak:" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "Tag 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "Tag 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "Dosya Hatası" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "Dosyaya yazılırken hata:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "Filtre" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "&Filtre:" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "&İfade:" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "&Uygula" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "D&osya veya Pano'dan Al..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "T&ag'den..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "&Sunucudan:" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz Parmak İzinden" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "H&edef:" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "Tag 1 ve Tag 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "Geri Al" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "Kabul e&dilebilir en fazla süre farkı (saniye):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "Şununla eşleştir:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "Sü&re" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "&Parça No" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "Şar&kı adı" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "Su&nucu:" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "Şarkı Adı / Sanatçı - Albüm" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "Konum" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "Sonuç yok" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "Hiç sonuç seçilmedi" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "Parça Numaraları" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "Başlangıç numara&sı:" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "He&def:" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "&Toplam Parça Sayısı:" @@ -1508,7 +1512,7 @@ msgid "Same as &directory name" msgstr "" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "&Biçim:" @@ -1564,8 +1568,8 @@ msgid "Write &info using" msgstr "" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "Dizini Yeniden Adlandır" @@ -1577,29 +1581,31 @@ msgid "Preview" msgstr "Önizleme" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "Dizin Yarat" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "Tag 2 ve Tag 1'den" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "Tag 1'den" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "Tag 2'den" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "Şuradan:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "Şuraya:" @@ -1627,11 +1633,11 @@ msgid "Extraction:" msgstr "Çıkarma:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "Dosya veya Pano'dan Al" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "&Dosyadan" @@ -1651,356 +1657,364 @@ msgid "&Move to Trash" msgstr "Çöp &Kutusuna Taşı" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "Ç&al" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "D&osya" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "İsim:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "Dosya adı tag 1'den" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "Dosya adı tag 2'den" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "Tag 1 dosya adından" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "Tag 2 dosya adından" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "Tag &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "Kopyala" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "Yapıştır" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "Kaldır" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "Tag &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "Düzen" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "Ekle" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "Sil" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "Odaklama" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "Dosya adından" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "İndir" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "Ana Araç Çubuğu" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "Bir dizin açar" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "Son kullanılan dizini açar" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "Seçilen veya tüm dosyalardaki değişiklikleri geri alır" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "Değiştirilen dosyaları kaydeder" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "Programdan çıkar" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "Tüm Dosyaları Seç" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "Hiçbir dosyayı seçme" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "Kısayolları yapılandır" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "Araç Çubuğunu Yapılandır" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "Özellikler Penceresi" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "&Klasör Aç..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "A&l..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "%1'den Al..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "&Kapak Resimlerini Al..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "&Dışa Aktar..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "Playlist &Yarat..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "&Dosya Adı Biçimini Uygula" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "&Tag Biçimini Uygula" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "Dizini &Yeniden Adlandır..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "&Parça Numarları..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "F&iltre..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "ID3v2.3 dönüştürmek için ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "ID3v2.4 dönüştürmek için ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "Resim &Göster" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "&Otomatik gizle" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "&Önceki Dosya" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "S&onraki Dosya" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "Dosya adından" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "Çerçeve:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "Odaklama" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "&Dosya" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." msgstr "&Aç..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "&Son kullanılanı Aç" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "&Kaydet" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "&Geri Al" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "Dosya veya Pano'dan Al" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "%1'den Al" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "Kapak resimlerini al" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "Dosya veya Panoya Ver" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "M3U Playlist Dosyası Yarat" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "Çı&k" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "Dü&zen" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "&Tümünü Seç" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "&Seçme" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "Önceki dosya" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "Sonraki dosya" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "&Araçlar" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "Dosya Adı Yapısını Uygula" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "Tag Yapısını Uygula" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "ID3v2.3 dönüştürmek için ID3v2.4" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "ID3v2.4 dönüştürmek için ID3v2.3" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "Çal" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "Ayarla&r" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "Araç çubuğunu açar/kapatır" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "&Araç Çubuğunu Göster" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "Durum çubuğunu açar/kapatır" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "&Durum Çubuğunu Göster" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "Resim Göster" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "Otomatik gizle" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "Kid3'ü Yapılandır" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "Kid3'ü &Yapılandır..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "Kid3 El &Kitabı" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "Kid3 Hakkında" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "Kid3 &Hakkında" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "Qt Hakkında" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "&Qt Hakkında" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "Dizin Açılıyor..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "Dizin kaydediliyor..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2008,85 +2022,86 @@ "İçinde bulunduğunuz dizin değiştirildi.\n" "Kaydetmek istiyor musunuz?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "Uyarı" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "Uyarı - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "Aç" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "Çıkılıyor..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "Durum çubuğu açılı/kapatılıyor..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "Playlist Yaratılıyor..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "Al" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "Yapılandır - Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "İsim değiştirirken hata:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr " [süzgeci]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr " [değişti]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "Çerçeve Ekle" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "Çerçeve numarasını seç" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "Dosya Adını Değiştir" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "Lütfen yeni dosya ismi yazın:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "%1 ögeyi çöp kutusuna atmayı gerçekten istiyor musunuz?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "Bu ögeyi çöp kutusuna atmayı gerçekten istiyor musunuz?" msgstr[1] "%1 ögeyi çöp kutusuna atmayı gerçekten istiyor musunuz?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "Çöp Kutusuna Taşı" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "Bu dosyalar Çöp Kutusuna taşınamadı" @@ -2142,15 +2157,15 @@ msgid "To" msgstr "Şuraya" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "&Ekle" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "Ka&ldır" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "Yeni" @@ -2166,7 +2181,7 @@ msgid "View Picture" msgstr "Resmi Göster" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2200,27 +2215,35 @@ msgid "&Clear List" msgstr "Listeyi &Temizle" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "Temizle" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "Sıfırla" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "&Ekle..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "&Yukarı Taşı" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "&Aşağı Taşı" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "Dü&zen..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "Öğe Ekle" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "Öğeyi Düzenle" diff -Nru kid3-2.0.1/po/zh_TW.po kid3-2.1/po/zh_TW.po --- kid3-2.0.1/po/zh_TW.po 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/po/zh_TW.po 2012-05-11 05:46:04.000000000 +0000 @@ -5,10 +5,10 @@ # Urs Fleisch , 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: kid3-1.4\n" +"Project-Id-Version: Kid3 2.1\n" "Report-Msgid-Bugs-To: http://sourceforge.net/tracker/?" "group_id=70849&atid=529221\n" -"POT-Creation-Date: 2011-08-28 15:45+0200\n" +"POT-Creation-Date: 2012-03-12 21:11+0100\n" "PO-Revision-Date: 2011-01-15 17:43+0100\n" "Last-Translator: \n" "Language-Team: Chinese (traditional) \n" @@ -24,371 +24,391 @@ "X-Language: zh_TW\n" "X-Source-Language: en\n" -#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1673 +#: core/config/shortcutsmodel.cpp:177 +msgid "Action" +msgstr "動作" + +#: core/config/shortcutsmodel.cpp:179 +msgid "Shortcut" +msgstr "快捷鍵" + +#: core/formats/mp3file.cpp:1245 core/formats/taglibfile.cpp:1667 msgid "AENC - Audio encryption" msgstr "AENC - 音效加密" -#: core/formats/mp3file.cpp:1256 core/formats/taglibfile.cpp:1674 +#: core/formats/mp3file.cpp:1246 core/formats/taglibfile.cpp:1668 msgid "APIC - Attached picture" msgstr "APIC - 附加圖片" -#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1676 +#: core/formats/mp3file.cpp:1248 core/formats/taglibfile.cpp:1670 msgid "COMM - Comments" msgstr "COMM - 評論" -#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1677 +#: core/formats/mp3file.cpp:1249 core/formats/taglibfile.cpp:1671 msgid "COMR - Commercial" msgstr "COMR - 商業" -#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1678 +#: core/formats/mp3file.cpp:1250 core/formats/taglibfile.cpp:1672 msgid "ENCR - Encryption method registration" msgstr "ENCR - 加密方法註冊" -#: core/formats/mp3file.cpp:1262 +#: core/formats/mp3file.cpp:1252 msgid "EQUA - Equalization" msgstr "EQUA - 等化" -#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1680 +#: core/formats/mp3file.cpp:1253 core/formats/taglibfile.cpp:1674 msgid "ETCO - Event timing codes" msgstr "" -#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1681 +#: core/formats/mp3file.cpp:1254 core/formats/taglibfile.cpp:1675 msgid "GEOB - General encapsulated object" msgstr "" -#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1682 +#: core/formats/mp3file.cpp:1255 core/formats/taglibfile.cpp:1676 msgid "GRID - Group identification registration" msgstr "" -#: core/formats/mp3file.cpp:1266 +#: core/formats/mp3file.cpp:1256 msgid "IPLS - Involved people list" msgstr "" -#: core/formats/mp3file.cpp:1267 core/formats/taglibfile.cpp:1683 +#: core/formats/mp3file.cpp:1257 core/formats/taglibfile.cpp:1677 msgid "LINK - Linked information" msgstr "LINK - 連結資訊" -#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1684 +#: core/formats/mp3file.cpp:1258 core/formats/taglibfile.cpp:1678 msgid "MCDI - Music CD identifier" msgstr "MCDI - 音樂光碟識別" -#: core/formats/mp3file.cpp:1269 core/formats/taglibfile.cpp:1685 +#: core/formats/mp3file.cpp:1259 core/formats/taglibfile.cpp:1679 msgid "MLLT - MPEG location lookup table" msgstr "MLLT - MPEG 位置查詢表" -#: core/formats/mp3file.cpp:1270 core/formats/taglibfile.cpp:1686 +#: core/formats/mp3file.cpp:1260 core/formats/taglibfile.cpp:1680 msgid "OWNE - Ownership frame" msgstr "" -#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1687 +#: core/formats/mp3file.cpp:1261 core/formats/taglibfile.cpp:1681 msgid "PRIV - Private frame" msgstr "" -#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1688 +#: core/formats/mp3file.cpp:1262 core/formats/taglibfile.cpp:1682 msgid "PCNT - Play counter" msgstr "PCNT - 播放計數器" -#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1689 +#: core/formats/mp3file.cpp:1263 core/formats/taglibfile.cpp:1683 msgid "POPM - Popularimeter" msgstr "" -#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1690 +#: core/formats/mp3file.cpp:1264 core/formats/taglibfile.cpp:1684 msgid "POSS - Position synchronisation frame" msgstr "POSS - 位置同步訊框" -#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1691 +#: core/formats/mp3file.cpp:1265 core/formats/taglibfile.cpp:1685 msgid "RBUF - Recommended buffer size" msgstr "RBUF - 建議緩衝器大小" -#: core/formats/mp3file.cpp:1277 +#: core/formats/mp3file.cpp:1267 msgid "RVAD - Relative volume adjustment" msgstr "" -#: core/formats/mp3file.cpp:1278 core/formats/taglibfile.cpp:1693 +#: core/formats/mp3file.cpp:1268 core/formats/taglibfile.cpp:1687 msgid "RVRB - Reverb" msgstr "" -#: core/formats/mp3file.cpp:1281 core/formats/taglibfile.cpp:1696 +#: core/formats/mp3file.cpp:1271 core/formats/taglibfile.cpp:1690 msgid "SYLT - Synchronized lyric/text" msgstr "" -#: core/formats/mp3file.cpp:1282 core/formats/taglibfile.cpp:1697 +#: core/formats/mp3file.cpp:1272 core/formats/taglibfile.cpp:1691 msgid "SYTC - Synchronized tempo codes" msgstr "" -#: core/formats/mp3file.cpp:1283 core/formats/taglibfile.cpp:1698 +#: core/formats/mp3file.cpp:1273 core/formats/taglibfile.cpp:1692 msgid "TALB - Album/Movie/Show title" msgstr "" -#: core/formats/mp3file.cpp:1284 core/formats/taglibfile.cpp:1699 +#: core/formats/mp3file.cpp:1274 core/formats/taglibfile.cpp:1693 msgid "TBPM - BPM (beats per minute)" msgstr "" -#: core/formats/mp3file.cpp:1285 core/formats/taglibfile.cpp:1700 +#: core/formats/mp3file.cpp:1275 core/formats/taglibfile.cpp:1695 msgid "TCOM - Composer" msgstr "" -#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1701 +#: core/formats/mp3file.cpp:1276 core/formats/taglibfile.cpp:1696 msgid "TCON - Content type" msgstr "" -#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1702 +#: core/formats/mp3file.cpp:1277 core/formats/taglibfile.cpp:1697 msgid "TCOP - Copyright message" msgstr "TCOP - 版權訊息" -#: core/formats/mp3file.cpp:1288 +#: core/formats/mp3file.cpp:1278 msgid "TDAT - Date" msgstr "TDAT - 日期" -#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1704 +#: core/formats/mp3file.cpp:1280 core/formats/taglibfile.cpp:1699 msgid "TDLY - Playlist delay" msgstr "TDLY - 播放清單延遲" -#: core/formats/mp3file.cpp:1296 core/formats/taglibfile.cpp:1709 +#: core/formats/mp3file.cpp:1286 core/formats/taglibfile.cpp:1704 msgid "TENC - Encoded by" msgstr "TENC - 編碼方式" -#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1710 +#: core/formats/mp3file.cpp:1287 core/formats/taglibfile.cpp:1705 msgid "TEXT - Lyricist/Text writer" msgstr "TEXT - 作詞者" -#: core/formats/mp3file.cpp:1298 core/formats/taglibfile.cpp:1711 +#: core/formats/mp3file.cpp:1288 core/formats/taglibfile.cpp:1706 msgid "TFLT - File type" msgstr "TFLT - 檔案型態" -#: core/formats/mp3file.cpp:1299 +#: core/formats/mp3file.cpp:1289 msgid "TIME - Time" msgstr "TIME - 時間" -#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1713 +#: core/formats/mp3file.cpp:1290 core/formats/taglibfile.cpp:1708 msgid "TIT1 - Content group description" msgstr "TIT1 - 內容群組描述" -#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1714 +#: core/formats/mp3file.cpp:1291 core/formats/taglibfile.cpp:1709 msgid "TIT2 - Title/songname/content description" msgstr "TIT2 - 標題/歌名/內容描述" -#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1715 +#: core/formats/mp3file.cpp:1292 core/formats/taglibfile.cpp:1710 msgid "TIT3 - Subtitle/Description refinement" msgstr "" -#: core/formats/mp3file.cpp:1303 core/formats/taglibfile.cpp:1716 +#: core/formats/mp3file.cpp:1293 core/formats/taglibfile.cpp:1711 msgid "TKEY - Initial key" msgstr "" -#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1717 +#: core/formats/mp3file.cpp:1294 core/formats/taglibfile.cpp:1712 msgid "TLAN - Language(s)" msgstr "TLAN - 語言" -#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1718 +#: core/formats/mp3file.cpp:1295 core/formats/taglibfile.cpp:1713 msgid "TLEN - Length" msgstr "TLEN - 長度" -#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1720 +#: core/formats/mp3file.cpp:1297 core/formats/taglibfile.cpp:1715 msgid "TMED - Media type" msgstr "TMED - 媒體型態" -#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1722 +#: core/formats/mp3file.cpp:1299 core/formats/taglibfile.cpp:1717 msgid "TOAL - Original album/movie/show title" msgstr "" -#: core/formats/mp3file.cpp:1310 core/formats/taglibfile.cpp:1723 +#: core/formats/mp3file.cpp:1300 core/formats/taglibfile.cpp:1718 msgid "TOFN - Original filename" msgstr "TOFN - 原始檔名" -#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1724 +#: core/formats/mp3file.cpp:1301 core/formats/taglibfile.cpp:1719 msgid "TOLY - Original lyricist(s)/text writer(s)" msgstr "TOLY - 原始作詞者" -#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1725 +#: core/formats/mp3file.cpp:1302 core/formats/taglibfile.cpp:1720 msgid "TOPE - Original artist(s)/performer(s)" msgstr "TOPE - 原始演出者" -#: core/formats/mp3file.cpp:1313 +#: core/formats/mp3file.cpp:1303 msgid "TORY - Original release year" msgstr "TORY - 原始發行年份" -#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1726 +#: core/formats/mp3file.cpp:1304 core/formats/taglibfile.cpp:1721 msgid "TOWN - File owner/licensee" msgstr "TOWN - 檔案擁有者/授權者" -#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1727 +#: core/formats/mp3file.cpp:1305 core/formats/taglibfile.cpp:1722 msgid "TPE1 - Lead performer(s)/Soloist(s)" msgstr "TPE1 - 首席表演者/獨唱者" -#: core/formats/mp3file.cpp:1316 core/formats/taglibfile.cpp:1728 +#: core/formats/mp3file.cpp:1306 core/formats/taglibfile.cpp:1723 msgid "TPE2 - Band/orchestra/accompaniment" msgstr "TPE2 - 樂團" -#: core/formats/mp3file.cpp:1317 core/formats/taglibfile.cpp:1729 +#: core/formats/mp3file.cpp:1307 core/formats/taglibfile.cpp:1724 msgid "TPE3 - Conductor/performer refinement" msgstr "" -#: core/formats/mp3file.cpp:1318 core/formats/taglibfile.cpp:1730 +#: core/formats/mp3file.cpp:1308 core/formats/taglibfile.cpp:1725 msgid "TPE4 - Interpreted, remixed, or otherwise modified by" msgstr "" -#: core/formats/mp3file.cpp:1319 core/formats/taglibfile.cpp:1731 +#: core/formats/mp3file.cpp:1309 core/formats/taglibfile.cpp:1726 msgid "TPOS - Part of a set" msgstr "" -#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1733 +#: core/formats/mp3file.cpp:1311 core/formats/taglibfile.cpp:1728 msgid "TPUB - Publisher" msgstr "TPUB - 發行者" -#: core/formats/mp3file.cpp:1322 core/formats/taglibfile.cpp:1734 +#: core/formats/mp3file.cpp:1312 core/formats/taglibfile.cpp:1729 msgid "TRCK - Track number/Position in set" msgstr "TRCK - 音軌編號/位置" -#: core/formats/mp3file.cpp:1323 +#: core/formats/mp3file.cpp:1313 msgid "TRDA - Recording dates" msgstr "TRDA - 錄製日期" -#: core/formats/mp3file.cpp:1324 core/formats/taglibfile.cpp:1735 +#: core/formats/mp3file.cpp:1314 core/formats/taglibfile.cpp:1730 msgid "TRSN - Internet radio station name" msgstr "" -#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1736 +#: core/formats/mp3file.cpp:1315 core/formats/taglibfile.cpp:1731 msgid "TRSO - Internet radio station owner" msgstr "" -#: core/formats/mp3file.cpp:1326 +#: core/formats/mp3file.cpp:1316 msgid "TSIZ - Size" msgstr "TSIZ - 大小" -#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1740 +#: core/formats/mp3file.cpp:1320 core/formats/taglibfile.cpp:1737 msgid "TSRC - ISRC (international standard recording code)" msgstr "" -#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1741 +#: core/formats/mp3file.cpp:1321 core/formats/taglibfile.cpp:1738 msgid "TSSE - Software/Hardware and settings used for encoding" msgstr "TSSE - 用於編碼的軟硬體設定" -#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1743 +#: core/formats/mp3file.cpp:1323 core/formats/taglibfile.cpp:1740 msgid "TXXX - User defined text information" msgstr "TXXX - 使用者定義文字資訊" -#: core/formats/mp3file.cpp:1334 +#: core/formats/mp3file.cpp:1324 msgid "TYER - Year" msgstr "TYER - 年份" -#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1744 +#: core/formats/mp3file.cpp:1325 core/formats/taglibfile.cpp:1741 msgid "UFID - Unique file identifier" msgstr "" -#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1745 +#: core/formats/mp3file.cpp:1326 core/formats/taglibfile.cpp:1742 msgid "USER - Terms of use" msgstr "" -#: core/formats/mp3file.cpp:1337 core/formats/taglibfile.cpp:1746 +#: core/formats/mp3file.cpp:1327 core/formats/taglibfile.cpp:1743 msgid "USLT - Unsynchronized lyric/text transcription" msgstr "" -#: core/formats/mp3file.cpp:1338 core/formats/taglibfile.cpp:1747 +#: core/formats/mp3file.cpp:1328 core/formats/taglibfile.cpp:1744 msgid "WCOM - Commercial information" msgstr "WCOM - 商業資訊" -#: core/formats/mp3file.cpp:1339 core/formats/taglibfile.cpp:1748 +#: core/formats/mp3file.cpp:1329 core/formats/taglibfile.cpp:1745 msgid "WCOP - Copyright/Legal information" msgstr "WCOP - 版權資訊" -#: core/formats/mp3file.cpp:1340 core/formats/taglibfile.cpp:1749 +#: core/formats/mp3file.cpp:1330 core/formats/taglibfile.cpp:1746 msgid "WOAF - Official audio file webpage" msgstr "WOAF - 正式音效檔網頁" -#: core/formats/mp3file.cpp:1341 core/formats/taglibfile.cpp:1750 +#: core/formats/mp3file.cpp:1331 core/formats/taglibfile.cpp:1747 msgid "WOAR - Official artist/performer webpage" msgstr "WOAR - 正式演出者網頁" -#: core/formats/mp3file.cpp:1342 core/formats/taglibfile.cpp:1751 +#: core/formats/mp3file.cpp:1332 core/formats/taglibfile.cpp:1748 msgid "WOAS - Official audio source webpage" msgstr "" -#: core/formats/mp3file.cpp:1343 core/formats/taglibfile.cpp:1752 +#: core/formats/mp3file.cpp:1333 core/formats/taglibfile.cpp:1749 msgid "WORS - Official internet radio station homepage" msgstr "" -#: core/formats/mp3file.cpp:1344 core/formats/taglibfile.cpp:1753 +#: core/formats/mp3file.cpp:1334 core/formats/taglibfile.cpp:1750 msgid "WPAY - Payment" msgstr "" -#: core/formats/mp3file.cpp:1345 core/formats/taglibfile.cpp:1754 +#: core/formats/mp3file.cpp:1335 core/formats/taglibfile.cpp:1751 msgid "WPUB - Official publisher webpage" msgstr "" -#: core/formats/mp3file.cpp:1346 core/formats/taglibfile.cpp:1755 +#: core/formats/mp3file.cpp:1336 core/formats/taglibfile.cpp:1752 msgid "WXXX - User defined URL link" msgstr "" -#: core/formats/taglibfile.cpp:1675 +#: core/formats/taglibfile.cpp:1669 msgid "ASPI - Audio seek point index" msgstr "ASPI - 音效搜尋點索引" -#: core/formats/taglibfile.cpp:1679 +#: core/formats/taglibfile.cpp:1673 msgid "EQU2 - Equalisation (2)" msgstr "" -#: core/formats/taglibfile.cpp:1692 +#: core/formats/taglibfile.cpp:1686 msgid "RVA2 - Relative volume adjustment (2)" msgstr "RVA2 - 相對音量調整 (2)" -#: core/formats/taglibfile.cpp:1694 +#: core/formats/taglibfile.cpp:1688 msgid "SEEK - Seek frame" msgstr "SEEK - 尋找訊框" -#: core/formats/taglibfile.cpp:1695 +#: core/formats/taglibfile.cpp:1689 msgid "SIGN - Signature frame" msgstr "SIGN - 簽章訊框" -#: core/formats/taglibfile.cpp:1703 +#: core/formats/taglibfile.cpp:1694 +msgid "TCMP - iTunes compilation flag" +msgstr "TCMP - iTunes的編譯" + +#: core/formats/taglibfile.cpp:1698 msgid "TDEN - Encoding time" msgstr "TDEN - 編碼時間" -#: core/formats/taglibfile.cpp:1705 +#: core/formats/taglibfile.cpp:1700 msgid "TDOR - Original release time" msgstr "TDOR - 原始發行時間" -#: core/formats/taglibfile.cpp:1706 +#: core/formats/taglibfile.cpp:1701 msgid "TDRC - Recording time" msgstr "TDRC - 錄音時間" -#: core/formats/taglibfile.cpp:1707 +#: core/formats/taglibfile.cpp:1702 msgid "TDRL - Release time" msgstr "TDRL - 發行時間" -#: core/formats/taglibfile.cpp:1708 +#: core/formats/taglibfile.cpp:1703 msgid "TDTG - Tagging time" msgstr "TDTG - 標籤時間 " -#: core/formats/taglibfile.cpp:1712 +#: core/formats/taglibfile.cpp:1707 msgid "TIPL - Involved people list" msgstr "TIPL - 參與人員清單" -#: core/formats/taglibfile.cpp:1719 +#: core/formats/taglibfile.cpp:1714 msgid "TMCL - Musician credits list" msgstr "TMCL - 音樂誌謝清單" -#: core/formats/taglibfile.cpp:1721 +#: core/formats/taglibfile.cpp:1716 msgid "TMOO - Mood" msgstr "" -#: core/formats/taglibfile.cpp:1732 +#: core/formats/taglibfile.cpp:1727 msgid "TPRO - Produced notice" msgstr "" -#: core/formats/taglibfile.cpp:1737 +#: core/formats/taglibfile.cpp:1732 +msgid "TSO2 - Album artist sort order" +msgstr "TSO2 - 艺术家专辑排序" + +#: core/formats/taglibfile.cpp:1733 msgid "TSOA - Album sort order" msgstr "" -#: core/formats/taglibfile.cpp:1738 +#: core/formats/taglibfile.cpp:1734 +msgid "TSOC - Composer sort order" +msgstr "TSOC - 作曲家篩選秩序" + +#: core/formats/taglibfile.cpp:1735 msgid "TSOP - Performer sort order" msgstr "" -#: core/formats/taglibfile.cpp:1739 +#: core/formats/taglibfile.cpp:1736 msgid "TSOT - Title sort order" msgstr "TSOT - 標題排序順序" -#: core/formats/taglibfile.cpp:1742 +#: core/formats/taglibfile.cpp:1739 msgid "TSST - Set subtitle" msgstr "TSST - 設定字幕" @@ -396,7 +416,7 @@ msgid "Amazon" msgstr "Amazon" -#: core/import/discogsimporter.cpp:60 +#: core/import/discogsimporter.cpp:61 msgid "Discogs" msgstr "Discogs" @@ -406,9 +426,9 @@ #: core/import/httpclient.cpp:72 core/import/httpclient.cpp:84 #: core/import/httpclient.cpp:133 core/model/downloadclient.cpp:62 -#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:722 -#: gui/forms/kid3mainwindow.cpp:769 gui/forms/kid3mainwindow.cpp:918 -#: gui/forms/kid3mainwindow.cpp:1164 gui/forms/kid3mainwindow.cpp:1245 +#: gui/dialogs/serverimportdialog.cpp:123 gui/forms/kid3mainwindow.cpp:165 +#: gui/forms/kid3mainwindow.cpp:794 gui/forms/kid3mainwindow.cpp:947 +#: gui/forms/kid3mainwindow.cpp:1186 gui/forms/kid3mainwindow.cpp:1265 msgid "Ready." msgstr "已就緒。" @@ -424,7 +444,7 @@ msgid "Request sent..." msgstr "送出連線要求..." -#: core/import/httpclient.cpp:94 +#: core/import/httpclient.cpp:94 core/import/httpclient.cpp:104 msgid "Data received: %1" msgstr "接收 %1 資料中" @@ -440,80 +460,44 @@ msgid "Host not found" msgstr "未發現主機" -#: core/import/importparser.cpp:59 core/tags/frame.cpp:892 +#: core/import/importparser.cpp:66 core/tags/frame.cpp:898 msgid "Year" msgstr "年" -#: core/import/importparser.cpp:71 core/model/trackdatamodel.cpp:203 +#: core/import/importparser.cpp:78 core/model/trackdatamodel.cpp:203 #: core/tags/trackdata.cpp:191 core/tags/trackdata.cpp:195 msgid "Length" msgstr "長度" -#: core/import/musicbrainzclient.cpp:271 -msgid "Metadata Read" -msgstr "" - -#: core/import/musicbrainzclient.cpp:273 core/import/musicbrainzclient.cpp:574 +#: core/import/musicbrainzclient.cpp:250 msgid "Unrecognized" msgstr "未辨識" -#: core/import/musicbrainzclient.cpp:274 core/import/musicbrainzclient.cpp:572 +#: core/import/musicbrainzclient.cpp:262 msgid "Recognized" msgstr "已辨識" -#: core/import/musicbrainzclient.cpp:275 core/import/musicbrainzclient.cpp:320 -msgid "Pending" -msgstr "待決" - -#: core/import/musicbrainzclient.cpp:277 -msgid "PUID Lookup" -msgstr "" - -#: core/import/musicbrainzclient.cpp:278 -msgid "PUID Collision" -msgstr "" - -#: core/import/musicbrainzclient.cpp:280 -msgid "TRM Lookup" -msgstr "" - -#: core/import/musicbrainzclient.cpp:281 -msgid "TRM Collision" -msgstr "" - -#: core/import/musicbrainzclient.cpp:283 -msgid "File Lookup" -msgstr "檔案搜尋" - -#: core/import/musicbrainzclient.cpp:284 core/import/musicbrainzclient.cpp:569 +#: core/import/musicbrainzclient.cpp:265 msgid "User Selection" msgstr "使用者選擇" -#: core/import/musicbrainzclient.cpp:285 -msgid "Verified" -msgstr "已確認" +#: core/import/musicbrainzclient.cpp:288 +msgid "Fingerprint" +msgstr "Fingerprint" -#: core/import/musicbrainzclient.cpp:286 -msgid "Saved" -msgstr "儲存" - -#: core/import/musicbrainzclient.cpp:287 -msgid "Deleted" -msgstr "刪除" - -#: core/import/musicbrainzclient.cpp:288 core/model/dirrenamer.cpp:441 +#: core/import/musicbrainzclient.cpp:293 core/model/dirrenamer.cpp:443 msgid "Error" msgstr "錯誤" -#: core/import/musicbrainzclient.cpp:323 -msgid "Removed" -msgstr "移除" +#: core/import/musicbrainzclient.cpp:297 +msgid "ID Lookup" +msgstr "" -#: core/import/musicbrainzclient.cpp:395 -msgid "Written" -msgstr "已寫入" +#: core/import/musicbrainzclient.cpp:310 +msgid "Metadata Lookup" +msgstr "" -#: core/import/musicbrainzreleaseimporter.cpp:59 +#: core/import/musicbrainzreleaseimporter.cpp:60 msgid "MusicBrainz Release" msgstr "MusicBrainz Release" @@ -554,62 +538,63 @@ msgid "Command" msgstr "指令" -#: core/model/dirrenamer.cpp:69 +#: core/model/dirrenamer.cpp:71 core/model/dirrenamer.cpp:90 msgid "Create directory %1 failed\n" msgstr "建立 %1 目錄失敗\n" -#: core/model/dirrenamer.cpp:95 +#: core/model/dirrenamer.cpp:97 core/model/dirrenamer.cpp:118 msgid "File %1 already exists\n" msgstr " %1 檔已經存在\n" -#: core/model/dirrenamer.cpp:97 +#: core/model/dirrenamer.cpp:99 core/model/dirrenamer.cpp:124 msgid "%1 is not a directory\n" msgstr "%1 不是目錄\n" -#: core/model/dirrenamer.cpp:99 +#: core/model/dirrenamer.cpp:101 core/model/dirrenamer.cpp:132 +#: core/model/dirrenamer.cpp:175 gui/forms/kid3mainwindow.cpp:1922 msgid "Rename %1 to %2 failed\n" msgstr "%1 更名至 %2 失敗\n" -#: core/model/dirrenamer.cpp:137 +#: core/model/dirrenamer.cpp:139 core/model/dirrenamer.cpp:161 msgid "%1 already exists\n" msgstr "%1 已經存在\n" -#: core/model/dirrenamer.cpp:139 +#: core/model/dirrenamer.cpp:141 core/model/dirrenamer.cpp:167 msgid "%1 is not a file\n" msgstr "%1 不是檔案\n" -#: core/model/dirrenamer.cpp:388 +#: core/model/dirrenamer.cpp:390 msgid "New directory name is too different\n" msgstr "新目錄名稱太奇怪\n" -#: core/model/dirrenamer.cpp:438 +#: core/model/dirrenamer.cpp:440 msgid "Create directory" msgstr "建立目錄" -#: core/model/dirrenamer.cpp:439 +#: core/model/dirrenamer.cpp:441 msgid "Rename directory" msgstr "更改目錄名稱" -#: core/model/dirrenamer.cpp:440 +#: core/model/dirrenamer.cpp:442 msgid "Rename file" msgstr "更改檔案名稱" -#: core/model/externalprocess.cpp:55 +#: core/model/externalprocess.cpp:54 msgid "C&lear" msgstr "清除(&l)" -#: core/model/externalprocess.cpp:58 gui/dialogs/browserdialog.cpp:121 -#: gui/dialogs/exportdialog.cpp:157 gui/dialogs/filterdialog.cpp:92 +#: core/model/externalprocess.cpp:57 gui/dialogs/browserdialog.cpp:118 +#: gui/dialogs/exportdialog.cpp:147 gui/dialogs/filterdialog.cpp:86 #: gui/dialogs/serverimportdialog.cpp:109 gui/dialogs/tagimportdialog.cpp:80 -#: gui/dialogs/textimportdialog.cpp:95 gui/widgets/imageviewer.cpp:58 +#: gui/dialogs/textimportdialog.cpp:94 gui/widgets/imageviewer.cpp:55 msgid "&Close" msgstr "關閉(&C)" -#: core/model/externalprocess.cpp:120 +#: core/model/externalprocess.cpp:116 msgid "Execute " msgstr "執行" -#: core/model/externalprocess.cpp:159 +#: core/model/externalprocess.cpp:152 msgid "Could not execute " msgstr "無法執行" @@ -638,20 +623,22 @@ msgstr "邏輯 NOT" #: core/model/frametablemodel.cpp:190 -#: gui/dialogs/editframefieldsdialog.cpp:672 +#: gui/dialogs/editframefieldsdialog.cpp:659 msgid "Data" msgstr "資料" -#: core/model/kid3application.cpp:1809 core/model/kid3application.cpp:1813 +#: core/model/kid3application.cpp:1779 core/model/kid3application.cpp:1783 msgid "All Supported Files" msgstr "所有支援檔案" -#: core/model/kid3application.cpp:1811 core/model/kid3application.cpp:1817 +#: core/model/kid3application.cpp:1781 core/model/kid3application.cpp:1787 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 msgid "All Files (*)" msgstr "所有檔案(*)" -#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:896 -#: core/tags/frame.cpp:900 core/tags/frame.cpp:904 +#: core/model/trackdatamodel.cpp:191 core/tags/frame.cpp:902 +#: core/tags/frame.cpp:906 core/tags/frame.cpp:910 msgid "Track" msgstr "音軌" @@ -659,9 +646,9 @@ msgid "Absolute path to file" msgstr "檔案的絕對路徑" -#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:677 -#: gui/forms/kid3mainwindow.cpp:363 gui/forms/kid3mainwindow.cpp:366 -#: gui/forms/kid3mainwindow.cpp:369 +#: core/model/trackdatamodel.cpp:199 gui/dialogs/editframefieldsdialog.cpp:664 +#: gui/forms/kid3form.cpp:894 gui/forms/kid3mainwindow.cpp:367 +#: gui/forms/kid3mainwindow.cpp:370 gui/forms/kid3mainwindow.cpp:373 msgid "Filename" msgstr "檔名" @@ -713,11 +700,11 @@ msgid "BPM" msgstr "BPM" -#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:900 +#: core/tags/frame.cpp:79 gui/dialogs/editframefieldsdialog.cpp:883 msgid "Composer" msgstr "作曲者" -#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:898 +#: core/tags/frame.cpp:80 gui/dialogs/editframefieldsdialog.cpp:881 msgid "Conductor" msgstr "指揮" @@ -741,7 +728,7 @@ msgid "ISRC" msgstr "ISRC" -#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:678 +#: core/tags/frame.cpp:86 gui/dialogs/editframefieldsdialog.cpp:665 msgid "Language" msgstr "語言" @@ -749,11 +736,11 @@ msgid "Lyricist" msgstr "Lyricist" -#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:934 +#: core/tags/frame.cpp:88 gui/dialogs/editframefieldsdialog.cpp:911 msgid "Lyrics" msgstr "Lyrics" -#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:895 +#: core/tags/frame.cpp:89 gui/dialogs/editframefieldsdialog.cpp:878 msgid "Media" msgstr "媒體" @@ -829,13 +816,13 @@ msgid "Kid3 ID3 Tagger" msgstr "Kid3 ID3 Tagger" -#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:170 +#: gui/app/main.cpp:54 gui/forms/kid3form.cpp:175 msgid "Kid3" msgstr "Kid3" #: gui/app/main.cpp:56 -msgid "(c) 2003-2011 Urs Fleisch" -msgstr "(c) 2003-2011 Urs Fleisch" +msgid "(c) 2003-" +msgstr "(c) 2003-" #: gui/app/main.cpp:58 msgid "Urs Fleisch" @@ -846,490 +833,507 @@ msgstr "開啟目錄" #: gui/dialogs/browsecoverartdialog.cpp:75 -#: gui/dialogs/browsecoverartdialog.cpp:279 +#: gui/dialogs/browsecoverartdialog.cpp:264 msgid "Browse Cover Art" msgstr "瀏覽 Cover Art 網站" -#: gui/dialogs/browsecoverartdialog.cpp:89 +#: gui/dialogs/browsecoverartdialog.cpp:86 msgid "&Artist/Album" msgstr "演唱(奏)者/專輯(&A)" -#: gui/dialogs/browsecoverartdialog.cpp:105 +#: gui/dialogs/browsecoverartdialog.cpp:100 msgid "&Source" msgstr "來源(&S)" -#: gui/dialogs/browsecoverartdialog.cpp:108 gui/dialogs/tagimportdialog.cpp:58 +#: gui/dialogs/browsecoverartdialog.cpp:102 gui/dialogs/tagimportdialog.cpp:58 msgid "Source:" msgstr "來源:" -#: gui/dialogs/browsecoverartdialog.cpp:109 +#: gui/dialogs/browsecoverartdialog.cpp:103 msgid "URL:" msgstr "URL:" -#: gui/dialogs/browsecoverartdialog.cpp:123 +#: gui/dialogs/browsecoverartdialog.cpp:116 msgid "&URL extraction" msgstr "網址擴展(&U)" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Match" msgstr "比對" -#: gui/dialogs/browsecoverartdialog.cpp:128 +#: gui/dialogs/browsecoverartdialog.cpp:120 msgid "Picture URL" msgstr "圖片網址" -#: gui/dialogs/browsecoverartdialog.cpp:141 gui/dialogs/configdialog.cpp:469 -#: gui/dialogs/exportdialog.cpp:141 gui/dialogs/filterdialog.cpp:75 -#: gui/dialogs/importdialog.cpp:223 gui/dialogs/musicbrainzdialog.cpp:121 -#: gui/dialogs/numbertracksdialog.cpp:114 gui/dialogs/playlistdialog.cpp:201 +#: gui/dialogs/browsecoverartdialog.cpp:132 gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/exportdialog.cpp:133 gui/dialogs/filterdialog.cpp:71 +#: gui/dialogs/importdialog.cpp:225 gui/dialogs/musicbrainzdialog.cpp:116 +#: gui/dialogs/numbertracksdialog.cpp:106 gui/dialogs/playlistdialog.cpp:201 #: gui/dialogs/serverimportdialog.cpp:107 gui/dialogs/tagimportdialog.cpp:67 -#: gui/dialogs/textimportdialog.cpp:78 gui/forms/kid3mainwindow.cpp:683 +#: gui/dialogs/textimportdialog.cpp:77 gui/forms/kid3mainwindow.cpp:724 msgid "&Help" msgstr "求助(&H)" -#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/exportdialog.cpp:147 -#: gui/dialogs/filterdialog.cpp:81 gui/dialogs/importdialog.cpp:225 -#: gui/dialogs/musicbrainzdialog.cpp:122 -#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:205 +#: gui/dialogs/browsecoverartdialog.cpp:137 gui/dialogs/exportdialog.cpp:138 +#: gui/dialogs/filterdialog.cpp:76 gui/dialogs/importdialog.cpp:227 +#: gui/dialogs/musicbrainzdialog.cpp:117 +#: gui/dialogs/numbertracksdialog.cpp:110 gui/dialogs/playlistdialog.cpp:205 #: gui/dialogs/rendirdialog.cpp:76 gui/dialogs/serverimportdialog.cpp:108 -#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:82 +#: gui/dialogs/tagimportdialog.cpp:71 gui/dialogs/textimportdialog.cpp:81 msgid "&Save Settings" msgstr "儲存設定(&S)" -#: gui/dialogs/browsecoverartdialog.cpp:157 +#: gui/dialogs/browsecoverartdialog.cpp:146 msgid "&Browse" msgstr "瀏覽(&B)" -#: gui/dialogs/browsecoverartdialog.cpp:158 gui/dialogs/configdialog.cpp:471 -#: gui/dialogs/editframedialog.cpp:61 -#: gui/dialogs/editframefieldsdialog.cpp:999 gui/dialogs/importdialog.cpp:229 -#: gui/dialogs/musicbrainzdialog.cpp:125 -#: gui/dialogs/numbertracksdialog.cpp:134 gui/dialogs/playlistdialog.cpp:216 +#: gui/dialogs/browsecoverartdialog.cpp:147 gui/dialogs/configdialog.cpp:441 +#: gui/dialogs/editframedialog.cpp:58 +#: gui/dialogs/editframefieldsdialog.cpp:961 gui/dialogs/importdialog.cpp:231 +#: gui/dialogs/musicbrainzdialog.cpp:120 +#: gui/dialogs/numbertracksdialog.cpp:123 gui/dialogs/playlistdialog.cpp:216 msgid "&Cancel" msgstr "取消(&C)" -#: gui/dialogs/browsecoverartdialog.cpp:192 +#: gui/dialogs/browsecoverartdialog.cpp:178 msgid "Click Browse to start" msgstr "按瀏覽開始" -#: gui/dialogs/browsecoverartdialog.cpp:198 +#: gui/dialogs/browsecoverartdialog.cpp:184 msgid "Then drag the picture from the browser to Kid3." msgstr "然後從瀏覽器拖拉圖片至 Kid3." -#: gui/dialogs/browserdialog.cpp:79 +#: gui/dialogs/browserdialog.cpp:76 msgid "&Back" msgstr "返回(&B)" -#: gui/dialogs/browserdialog.cpp:84 +#: gui/dialogs/browserdialog.cpp:81 msgid "&Forward" msgstr "向前(&F)" -#: gui/dialogs/browserdialog.cpp:89 +#: gui/dialogs/browserdialog.cpp:86 msgid "&Find:" msgstr "尋找(&F):" -#: gui/dialogs/browserdialog.cpp:103 +#: gui/dialogs/browserdialog.cpp:100 msgid "Find Previous" msgstr "尋找前一個" -#: gui/dialogs/browserdialog.cpp:113 +#: gui/dialogs/browserdialog.cpp:110 msgid "Find Next" msgstr "尋找下一個" -#: gui/dialogs/configdialog.cpp:111 +#: gui/dialogs/configdialog.cpp:114 msgid "ID3v1" msgstr "ID3v1" -#: gui/dialogs/configdialog.cpp:116 +#: gui/dialogs/configdialog.cpp:118 msgid "&Mark truncated fields" msgstr "標記被截斷的欄位(&M)" -#: gui/dialogs/configdialog.cpp:119 gui/dialogs/configdialog.cpp:207 +#: gui/dialogs/configdialog.cpp:121 gui/dialogs/configdialog.cpp:207 msgid "Text &encoding:" msgstr "編碼(&E):" -#: gui/dialogs/configdialog.cpp:198 +#: gui/dialogs/configdialog.cpp:196 msgid "ID3v2" msgstr "ID3v2" -#: gui/dialogs/configdialog.cpp:203 +#: gui/dialogs/configdialog.cpp:200 msgid "Use &track/total number of tracks format" msgstr "使用「音軌/音軌總數」的格式(&T)" +#: gui/dialogs/configdialog.cpp:202 +msgid "Track number &digits:" +msgstr "音軌編號位數(&D):" + #: gui/dialogs/configdialog.cpp:206 msgid "&Genre as text instead of numeric string" msgstr "將曲風視做文字而不是數字字串(&G)" -#: gui/dialogs/configdialog.cpp:211 -msgid "&Version used for new tags:" -msgstr "使用新標籤版本(&V):" - -#: gui/dialogs/configdialog.cpp:214 -msgid "Track number &digits:" -msgstr "音軌編號位數(&D):" - -#: gui/dialogs/configdialog.cpp:219 gui/dialogs/editframefieldsdialog.cpp:875 +#: gui/dialogs/configdialog.cpp:209 gui/dialogs/editframefieldsdialog.cpp:861 msgid "ISO-8859-1" msgstr "ISO-8859-1" -#: gui/dialogs/configdialog.cpp:220 gui/dialogs/editframefieldsdialog.cpp:876 +#: gui/dialogs/configdialog.cpp:210 gui/dialogs/editframefieldsdialog.cpp:862 msgid "UTF16" msgstr "UTF16" -#: gui/dialogs/configdialog.cpp:221 gui/dialogs/editframefieldsdialog.cpp:878 +#: gui/dialogs/configdialog.cpp:211 gui/dialogs/editframefieldsdialog.cpp:864 msgid "UTF8" msgstr "UTF8" -#: gui/dialogs/configdialog.cpp:231 +#: gui/dialogs/configdialog.cpp:219 +msgid "&Version used for new tags:" +msgstr "使用新標籤版本(&V):" + +#: gui/dialogs/configdialog.cpp:221 msgid "ID3v2.3.0 (id3lib)" msgstr "ID3v2.3.0 (id3lib)" -#: gui/dialogs/configdialog.cpp:232 +#: gui/dialogs/configdialog.cpp:222 msgid "ID3v2.4.0 (TagLib)" msgstr "ID3v2.4.0 (TagLib)" -#: gui/dialogs/configdialog.cpp:247 +#: gui/dialogs/configdialog.cpp:233 msgid "Ogg/Vorbis" msgstr "Ogg/Vorbis" -#: gui/dialogs/configdialog.cpp:249 +#: gui/dialogs/configdialog.cpp:234 msgid "Comment field &name:" msgstr "內容註釋欄位名稱(&n):" -#: gui/dialogs/configdialog.cpp:251 +#: gui/dialogs/configdialog.cpp:236 msgid "&Picture field name:" msgstr "圖片欄位名稱(&P):" -#: gui/dialogs/configdialog.cpp:279 +#: gui/dialogs/configdialog.cpp:259 msgid "Custom &Genres" msgstr "自訂曲風(&G)" -#: gui/dialogs/configdialog.cpp:281 +#: gui/dialogs/configdialog.cpp:260 msgid "&Show only custom genres" msgstr "僅顯示自訂曲風(&S)" -#: gui/dialogs/configdialog.cpp:291 +#: gui/dialogs/configdialog.cpp:269 msgid "&Tag Format" msgstr "標籤格式(&T)" -#: gui/dialogs/configdialog.cpp:300 +#: gui/dialogs/configdialog.cpp:274 msgid "Tags" msgstr "標籤" -#: gui/dialogs/configdialog.cpp:302 +#: gui/dialogs/configdialog.cpp:276 msgid "&Tags" msgstr "標籤(&T)" -#: gui/dialogs/configdialog.cpp:312 +#: gui/dialogs/configdialog.cpp:285 msgid "Save" msgstr "儲存" -#: gui/dialogs/configdialog.cpp:314 +#: gui/dialogs/configdialog.cpp:286 msgid "&Preserve file timestamp" msgstr "保留檔案的原來時間(&P)" -#: gui/dialogs/configdialog.cpp:315 +#: gui/dialogs/configdialog.cpp:287 msgid "&Mark changes" msgstr "標記變更(&M)" -#: gui/dialogs/configdialog.cpp:323 +#: gui/dialogs/configdialog.cpp:294 msgid "&Filename Format" msgstr "檔案名稱格式(&F)" -#: gui/dialogs/configdialog.cpp:330 +#: gui/dialogs/configdialog.cpp:298 msgid "Files" msgstr "檔案" -#: gui/dialogs/configdialog.cpp:332 +#: gui/dialogs/configdialog.cpp:300 msgid "&Files" msgstr "檔案(&F)" -#: gui/dialogs/configdialog.cpp:342 +#: gui/dialogs/configdialog.cpp:309 msgid "Browser" msgstr "瀏覽" -#: gui/dialogs/configdialog.cpp:344 +#: gui/dialogs/configdialog.cpp:310 msgid "Web &browser:" msgstr "網頁瀏覽器(&B):" -#: gui/dialogs/configdialog.cpp:357 +#: gui/dialogs/configdialog.cpp:320 msgid "Context &Menu Commands" msgstr "內文選單指令(&M)" -#: gui/dialogs/configdialog.cpp:360 +#: gui/dialogs/configdialog.cpp:322 #, fuzzy msgid "&Play on double click" msgstr "雙擊上播放(&P)" -#: gui/dialogs/configdialog.cpp:375 +#: gui/dialogs/configdialog.cpp:335 msgid "User Actions" msgstr "自訂動作" -#: gui/dialogs/configdialog.cpp:377 +#: gui/dialogs/configdialog.cpp:337 msgid "&User Actions" msgstr "自訂動作(&U)" -#: gui/dialogs/configdialog.cpp:387 +#: gui/dialogs/configdialog.cpp:346 msgid "Proxy" msgstr "代理伺服器" -#: gui/dialogs/configdialog.cpp:389 +#: gui/dialogs/configdialog.cpp:347 msgid "&Proxy:" msgstr "代理伺服器(&P):" -#: gui/dialogs/configdialog.cpp:391 +#: gui/dialogs/configdialog.cpp:349 msgid "&Use authentication with proxy" msgstr "代理伺服器要認證(&U)" -#: gui/dialogs/configdialog.cpp:392 +#: gui/dialogs/configdialog.cpp:350 msgid "Proxy user &name:" msgstr "代理伺服器帳號(&n):" -#: gui/dialogs/configdialog.cpp:395 +#: gui/dialogs/configdialog.cpp:353 msgid "Proxy pass&word:" msgstr "代理伺服器密碼(&w):" -#: gui/dialogs/configdialog.cpp:421 +#: gui/dialogs/configdialog.cpp:377 msgid "Network" msgstr "網路" -#: gui/dialogs/configdialog.cpp:423 +#: gui/dialogs/configdialog.cpp:379 msgid "&Network" msgstr "網路(&N)" -#: gui/dialogs/configdialog.cpp:438 +#: gui/dialogs/configdialog.cpp:397 +msgid "&Keyboard Shortcuts" +msgstr "捷徑鍵(&K)" + +#: gui/dialogs/configdialog.cpp:407 msgid "Use custom app&lication font" msgstr "使用自訂應用程式字型(&L)" -#: gui/dialogs/configdialog.cpp:439 +#: gui/dialogs/configdialog.cpp:408 msgid "A&pplication Font..." msgstr "應用程式字型(&P)..." -#: gui/dialogs/configdialog.cpp:440 +#: gui/dialogs/configdialog.cpp:409 msgid "Use custom application &style" msgstr "使用自訂應用程式樣式(&S)" -#: gui/dialogs/configdialog.cpp:449 gui/dialogs/configdialog.cpp:671 -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:193 -#: gui/dialogs/musicbrainzdialog.cpp:208 +#: gui/dialogs/configdialog.cpp:417 gui/dialogs/configdialog.cpp:707 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:181 +#: gui/dialogs/musicbrainzdialog.cpp:196 msgid "Unknown" msgstr "未知" -#: gui/dialogs/configdialog.cpp:460 +#: gui/dialogs/configdialog.cpp:426 +msgid "Use native system file &dialogs" +msgstr "使用原始系統檔案對話框(&D)" + +#: gui/dialogs/configdialog.cpp:430 msgid "&Appearance" msgstr "外觀設定(&A)" -#: gui/dialogs/configdialog.cpp:470 gui/dialogs/editframedialog.cpp:60 -#: gui/dialogs/editframefieldsdialog.cpp:998 gui/dialogs/importdialog.cpp:227 -#: gui/dialogs/musicbrainzdialog.cpp:123 -#: gui/dialogs/numbertracksdialog.cpp:129 gui/dialogs/playlistdialog.cpp:213 +#: gui/dialogs/configdialog.cpp:440 gui/dialogs/editframedialog.cpp:57 +#: gui/dialogs/editframefieldsdialog.cpp:960 gui/dialogs/importdialog.cpp:229 +#: gui/dialogs/musicbrainzdialog.cpp:118 +#: gui/dialogs/numbertracksdialog.cpp:119 gui/dialogs/playlistdialog.cpp:213 msgid "&OK" msgstr "確定(&O)" -#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:686 +#: gui/dialogs/configdialog.cpp:629 +msgid "The keyboard shortcut '%1' is already assigned to '%2'." +msgstr "快速鍵'%1'已經指定為'%2'." + +#: gui/dialogs/contexthelp.cpp:59 gui/forms/kid3mainwindow.cpp:727 msgid "Kid3 Handbook" msgstr "Kid3 手冊" -#: gui/dialogs/editframefieldsdialog.cpp:528 -#: gui/dialogs/textimportdialog.cpp:91 +#: gui/dialogs/editframefieldsdialog.cpp:523 +#: gui/dialogs/textimportdialog.cpp:90 msgid "From Clip&board" msgstr "從剪貼簿(&b)" -#: gui/dialogs/editframefieldsdialog.cpp:529 +#: gui/dialogs/editframefieldsdialog.cpp:524 msgid "&Import" msgstr "匯入(&I)" -#: gui/dialogs/editframefieldsdialog.cpp:530 +#: gui/dialogs/editframefieldsdialog.cpp:525 msgid "&Export" msgstr "匯出(&E)" -#: gui/dialogs/editframefieldsdialog.cpp:531 +#: gui/dialogs/editframefieldsdialog.cpp:526 msgid "&View" msgstr "檢視(&V)" -#: gui/dialogs/editframefieldsdialog.cpp:669 +#: gui/dialogs/editframefieldsdialog.cpp:656 msgid "Text Encoding" msgstr "字元編碼" -#: gui/dialogs/editframefieldsdialog.cpp:670 +#: gui/dialogs/editframefieldsdialog.cpp:657 msgid "Text" msgstr "文字" -#: gui/dialogs/editframefieldsdialog.cpp:671 +#: gui/dialogs/editframefieldsdialog.cpp:658 msgid "URL" msgstr "網址" -#: gui/dialogs/editframefieldsdialog.cpp:673 +#: gui/dialogs/editframefieldsdialog.cpp:660 msgid "Description" msgstr "描述" -#: gui/dialogs/editframefieldsdialog.cpp:674 +#: gui/dialogs/editframefieldsdialog.cpp:661 msgid "Owner" msgstr "擁有者" -#: gui/dialogs/editframefieldsdialog.cpp:675 +#: gui/dialogs/editframefieldsdialog.cpp:662 msgid "Email" msgstr "電子信箱" -#: gui/dialogs/editframefieldsdialog.cpp:676 +#: gui/dialogs/editframefieldsdialog.cpp:663 msgid "Rating" msgstr "評比" -#: gui/dialogs/editframefieldsdialog.cpp:679 +#: gui/dialogs/editframefieldsdialog.cpp:666 msgid "Picture Type" msgstr "圖片格式" -#: gui/dialogs/editframefieldsdialog.cpp:680 +#: gui/dialogs/editframefieldsdialog.cpp:667 msgid "Image format" msgstr "圖片格式" -#: gui/dialogs/editframefieldsdialog.cpp:681 +#: gui/dialogs/editframefieldsdialog.cpp:668 msgid "Mimetype" msgstr "Mimetype" -#: gui/dialogs/editframefieldsdialog.cpp:682 +#: gui/dialogs/editframefieldsdialog.cpp:669 msgid "Counter" msgstr "計數器" -#: gui/dialogs/editframefieldsdialog.cpp:683 +#: gui/dialogs/editframefieldsdialog.cpp:670 msgid "Identifier" msgstr "識別子" -#: gui/dialogs/editframefieldsdialog.cpp:684 +#: gui/dialogs/editframefieldsdialog.cpp:671 msgid "Volume Adjustment" msgstr "音量調整" -#: gui/dialogs/editframefieldsdialog.cpp:685 +#: gui/dialogs/editframefieldsdialog.cpp:672 msgid "Number of Bits" msgstr "位元數" -#: gui/dialogs/editframefieldsdialog.cpp:686 +#: gui/dialogs/editframefieldsdialog.cpp:673 msgid "Volume Change Right" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:687 +#: gui/dialogs/editframefieldsdialog.cpp:674 msgid "Volume Change Left" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:688 +#: gui/dialogs/editframefieldsdialog.cpp:675 msgid "Peak Volume Right" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:689 +#: gui/dialogs/editframefieldsdialog.cpp:676 msgid "Peak Volume Left" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:690 +#: gui/dialogs/editframefieldsdialog.cpp:677 msgid "Timestamp Format" msgstr "時間格式" -#: gui/dialogs/editframefieldsdialog.cpp:691 +#: gui/dialogs/editframefieldsdialog.cpp:678 msgid "Content Type" msgstr "內容類型" -#: gui/dialogs/editframefieldsdialog.cpp:877 +#: gui/dialogs/editframefieldsdialog.cpp:805 +#: gui/dialogs/editframefieldsdialog.cpp:807 +msgid "Images (*.jpg *.jpeg *.png)" +msgstr "影像(*.jpg *.jpeg *.png)" + +#: gui/dialogs/editframefieldsdialog.cpp:863 msgid "UTF16BE" msgstr "UTF16BE" -#: gui/dialogs/editframefieldsdialog.cpp:889 -#: gui/dialogs/editframefieldsdialog.cpp:920 -#: gui/dialogs/editframefieldsdialog.cpp:933 +#: gui/dialogs/editframefieldsdialog.cpp:872 +#: gui/dialogs/editframefieldsdialog.cpp:900 +#: gui/dialogs/editframefieldsdialog.cpp:910 msgid "Other" msgstr "其他" -#: gui/dialogs/editframefieldsdialog.cpp:890 +#: gui/dialogs/editframefieldsdialog.cpp:873 msgid "32x32 pixels PNG file icon" msgstr "32x32 像素 PNG 檔圖示" -#: gui/dialogs/editframefieldsdialog.cpp:891 +#: gui/dialogs/editframefieldsdialog.cpp:874 msgid "Other file icon" msgstr "其他檔案圖示" -#: gui/dialogs/editframefieldsdialog.cpp:892 +#: gui/dialogs/editframefieldsdialog.cpp:875 msgid "Cover (front)" msgstr "封面(前)" -#: gui/dialogs/editframefieldsdialog.cpp:893 +#: gui/dialogs/editframefieldsdialog.cpp:876 msgid "Cover (back)" msgstr "封面(後)" -#: gui/dialogs/editframefieldsdialog.cpp:894 +#: gui/dialogs/editframefieldsdialog.cpp:877 msgid "Leaflet page" msgstr "小冊子" -#: gui/dialogs/editframefieldsdialog.cpp:896 +#: gui/dialogs/editframefieldsdialog.cpp:879 msgid "Lead artist/lead performer/soloist" msgstr "首席演出者" -#: gui/dialogs/editframefieldsdialog.cpp:897 +#: gui/dialogs/editframefieldsdialog.cpp:880 msgid "Artist/performer" msgstr "演出者" -#: gui/dialogs/editframefieldsdialog.cpp:899 +#: gui/dialogs/editframefieldsdialog.cpp:882 msgid "Band/Orchestra" msgstr "樂團" -#: gui/dialogs/editframefieldsdialog.cpp:901 +#: gui/dialogs/editframefieldsdialog.cpp:884 msgid "Lyricist/text writer" msgstr "作詞者" -#: gui/dialogs/editframefieldsdialog.cpp:902 +#: gui/dialogs/editframefieldsdialog.cpp:885 msgid "Recording Location" msgstr "錄製地點" -#: gui/dialogs/editframefieldsdialog.cpp:903 +#: gui/dialogs/editframefieldsdialog.cpp:886 msgid "During recording" msgstr "錄音期間" -#: gui/dialogs/editframefieldsdialog.cpp:904 +#: gui/dialogs/editframefieldsdialog.cpp:887 msgid "During performance" msgstr "表演期間" -#: gui/dialogs/editframefieldsdialog.cpp:905 +#: gui/dialogs/editframefieldsdialog.cpp:888 msgid "Movie/video screen capture" msgstr "電影/影像螢幕擷取" -#: gui/dialogs/editframefieldsdialog.cpp:906 +#: gui/dialogs/editframefieldsdialog.cpp:889 msgid "A bright coloured fish" msgstr "明亮高彩魚" -#: gui/dialogs/editframefieldsdialog.cpp:907 +#: gui/dialogs/editframefieldsdialog.cpp:890 msgid "Illustration" msgstr "插圖" -#: gui/dialogs/editframefieldsdialog.cpp:908 +#: gui/dialogs/editframefieldsdialog.cpp:891 msgid "Band/artist logotype" msgstr "樂團╱演唱者標誌" -#: gui/dialogs/editframefieldsdialog.cpp:909 +#: gui/dialogs/editframefieldsdialog.cpp:892 msgid "Publisher/Studio logotype" msgstr "出版商╱錄音室標誌" -#: gui/dialogs/editframefieldsdialog.cpp:921 +#: gui/dialogs/editframefieldsdialog.cpp:901 msgid "MPEG frames as unit" msgstr "以 MPEG 訊框為單位" -#: gui/dialogs/editframefieldsdialog.cpp:922 +#: gui/dialogs/editframefieldsdialog.cpp:902 msgid "Milliseconds as unit" msgstr "以毫秒為單位" -#: gui/dialogs/editframefieldsdialog.cpp:935 +#: gui/dialogs/editframefieldsdialog.cpp:912 msgid "Text transcription" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:936 +#: gui/dialogs/editframefieldsdialog.cpp:913 msgid "Movement/part name" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:937 +#: gui/dialogs/editframefieldsdialog.cpp:914 msgid "Events" msgstr "事件" -#: gui/dialogs/editframefieldsdialog.cpp:938 +#: gui/dialogs/editframefieldsdialog.cpp:915 msgid "Chord" msgstr "" -#: gui/dialogs/editframefieldsdialog.cpp:939 +#: gui/dialogs/editframefieldsdialog.cpp:916 msgid "Trivia/pop up" msgstr "" @@ -1337,165 +1341,165 @@ msgid "Export" msgstr "匯出" -#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/tagimportdialog.cpp:57 -#: gui/dialogs/textimportdialog.cpp:68 gui/forms/kid3form.cpp:213 -#: gui/forms/kid3form.cpp:237 +#: gui/dialogs/exportdialog.cpp:89 gui/dialogs/tagimportdialog.cpp:57 +#: gui/dialogs/textimportdialog.cpp:67 gui/forms/kid3form.cpp:218 +#: gui/forms/kid3form.cpp:242 msgid "Format:" msgstr "格式:" -#: gui/dialogs/exportdialog.cpp:92 gui/dialogs/textimportdialog.cpp:69 +#: gui/dialogs/exportdialog.cpp:90 gui/dialogs/textimportdialog.cpp:68 msgid "Header:" msgstr "標頭:" -#: gui/dialogs/exportdialog.cpp:93 gui/dialogs/textimportdialog.cpp:70 +#: gui/dialogs/exportdialog.cpp:91 gui/dialogs/textimportdialog.cpp:69 msgid "Tracks:" msgstr "曲目:" -#: gui/dialogs/exportdialog.cpp:94 +#: gui/dialogs/exportdialog.cpp:92 msgid "Footer:" msgstr "頁尾:" -#: gui/dialogs/exportdialog.cpp:107 +#: gui/dialogs/exportdialog.cpp:104 msgid "To F&ile" msgstr "至檔案(&i)" -#: gui/dialogs/exportdialog.cpp:113 +#: gui/dialogs/exportdialog.cpp:109 msgid "To Clip&board" msgstr "至剪貼簿(&b)" -#: gui/dialogs/exportdialog.cpp:123 +#: gui/dialogs/exportdialog.cpp:118 msgid "&Source:" msgstr "來源(&S):" -#: gui/dialogs/exportdialog.cpp:128 gui/dialogs/importdialog.cpp:164 -#: gui/dialogs/numbertracksdialog.cpp:82 gui/forms/kid3form.cpp:230 -#: gui/forms/kid3form.cpp:255 gui/forms/kid3mainwindow.cpp:324 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:330 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:336 -#: gui/forms/kid3mainwindow.cpp:372 +#: gui/dialogs/exportdialog.cpp:122 gui/dialogs/importdialog.cpp:166 +#: gui/dialogs/numbertracksdialog.cpp:78 gui/forms/kid3form.cpp:235 +#: gui/forms/kid3form.cpp:260 gui/forms/kid3form.cpp:899 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:331 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:337 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:376 msgid "Tag 1" msgstr "標籤 1" -#: gui/dialogs/exportdialog.cpp:129 gui/dialogs/importdialog.cpp:165 -#: gui/dialogs/numbertracksdialog.cpp:83 gui/forms/kid3form.cpp:233 -#: gui/forms/kid3form.cpp:259 gui/forms/kid3mainwindow.cpp:339 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:345 -#: gui/forms/kid3mainwindow.cpp:348 gui/forms/kid3mainwindow.cpp:351 -#: gui/forms/kid3mainwindow.cpp:375 +#: gui/dialogs/exportdialog.cpp:123 gui/dialogs/importdialog.cpp:167 +#: gui/dialogs/numbertracksdialog.cpp:79 gui/forms/kid3form.cpp:238 +#: gui/forms/kid3form.cpp:264 gui/forms/kid3form.cpp:906 +#: gui/forms/kid3mainwindow.cpp:343 gui/forms/kid3mainwindow.cpp:346 +#: gui/forms/kid3mainwindow.cpp:349 gui/forms/kid3mainwindow.cpp:352 +#: gui/forms/kid3mainwindow.cpp:355 gui/forms/kid3mainwindow.cpp:379 msgid "Tag 2" msgstr "標籤 2" -#: gui/dialogs/exportdialog.cpp:194 gui/forms/kid3mainwindow.cpp:909 -#: gui/forms/kid3mainwindow.cpp:912 gui/forms/kid3mainwindow.cpp:1438 -#: gui/forms/kid3mainwindow.cpp:1909 gui/forms/kid3mainwindow.cpp:1989 -#: gui/forms/kid3mainwindow.cpp:1992 +#: gui/dialogs/exportdialog.cpp:180 gui/forms/kid3mainwindow.cpp:938 +#: gui/forms/kid3mainwindow.cpp:941 gui/forms/kid3mainwindow.cpp:1449 +#: gui/forms/kid3mainwindow.cpp:1452 gui/forms/kid3mainwindow.cpp:1920 +#: gui/forms/kid3mainwindow.cpp:2001 gui/forms/kid3mainwindow.cpp:2004 msgid "File Error" msgstr "檔案錯誤" -#: gui/dialogs/exportdialog.cpp:195 gui/forms/kid3mainwindow.cpp:907 -#: gui/forms/kid3mainwindow.cpp:912 +#: gui/dialogs/exportdialog.cpp:181 gui/forms/kid3mainwindow.cpp:936 +#: gui/forms/kid3mainwindow.cpp:941 msgid "Error while writing file:\n" msgstr "寫入檔案錯誤:\n" -#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:594 +#: gui/dialogs/filterdialog.cpp:49 gui/forms/kid3mainwindow.cpp:622 msgid "Filter" msgstr "篩選" -#: gui/dialogs/filterdialog.cpp:65 +#: gui/dialogs/filterdialog.cpp:62 msgid "&Filter:" msgstr "篩選(&F):" -#: gui/dialogs/filterdialog.cpp:66 +#: gui/dialogs/filterdialog.cpp:63 msgid "&Expression:" msgstr "算式(&E):" -#: gui/dialogs/filterdialog.cpp:91 gui/dialogs/musicbrainzdialog.cpp:124 +#: gui/dialogs/filterdialog.cpp:85 gui/dialogs/musicbrainzdialog.cpp:119 #: gui/dialogs/tagimportdialog.cpp:76 msgid "&Apply" msgstr "套用(&A)" -#: gui/dialogs/importdialog.cpp:136 +#: gui/dialogs/importdialog.cpp:138 msgid "From F&ile/Clipboard..." msgstr "自剪貼簿匯入(&i)..." -#: gui/dialogs/importdialog.cpp:140 +#: gui/dialogs/importdialog.cpp:142 msgid "From T&ags..." msgstr "從標籤(&a)..." -#: gui/dialogs/importdialog.cpp:144 +#: gui/dialogs/importdialog.cpp:146 msgid "&From Server:" msgstr "從伺服器(&F):" -#: gui/dialogs/importdialog.cpp:153 gui/dialogs/musicbrainzdialog.cpp:64 -#: gui/forms/kid3mainwindow.cpp:260 gui/forms/kid3mainwindow.cpp:466 +#: gui/dialogs/importdialog.cpp:155 gui/dialogs/musicbrainzdialog.cpp:63 +#: gui/forms/kid3mainwindow.cpp:264 gui/forms/kid3mainwindow.cpp:482 msgid "MusicBrainz Fingerprint" msgstr "MusicBrainz Fingerprint" -#: gui/dialogs/importdialog.cpp:160 +#: gui/dialogs/importdialog.cpp:162 msgid "D&estination:" msgstr "目的(&E):" -#: gui/dialogs/importdialog.cpp:166 gui/dialogs/numbertracksdialog.cpp:84 +#: gui/dialogs/importdialog.cpp:168 gui/dialogs/numbertracksdialog.cpp:80 msgid "Tag 1 and Tag 2" msgstr "標籤 1 與 標籤 2" -#: gui/dialogs/importdialog.cpp:177 +#: gui/dialogs/importdialog.cpp:179 msgid "Revert" msgstr "還原" -#: gui/dialogs/importdialog.cpp:188 +#: gui/dialogs/importdialog.cpp:190 msgid "Check maximum allowable time &difference (sec):" msgstr "請勾選最大可允許的時間差異(單位為秒)(&D):" -#: gui/dialogs/importdialog.cpp:196 +#: gui/dialogs/importdialog.cpp:198 msgid "Match with:" msgstr "符合:" -#: gui/dialogs/importdialog.cpp:198 +#: gui/dialogs/importdialog.cpp:200 msgid "&Length" msgstr "長度(&L)" -#: gui/dialogs/importdialog.cpp:201 +#: gui/dialogs/importdialog.cpp:203 msgid "T&rack" msgstr "音軌(&R)" -#: gui/dialogs/importdialog.cpp:204 +#: gui/dialogs/importdialog.cpp:206 msgid "&Title" msgstr "歌(曲)名(&T)" -#: gui/dialogs/musicbrainzdialog.cpp:73 gui/dialogs/serverimportdialog.cpp:80 +#: gui/dialogs/musicbrainzdialog.cpp:69 gui/dialogs/serverimportdialog.cpp:80 msgid "&Server:" msgstr "伺服器(&S):" -#: gui/dialogs/musicbrainzdialog.cpp:113 +#: gui/dialogs/musicbrainzdialog.cpp:108 msgid "Track Title/Artist - Album" msgstr "音軌標題/演出者 - 專輯標題" -#: gui/dialogs/musicbrainzdialog.cpp:114 +#: gui/dialogs/musicbrainzdialog.cpp:109 msgid "State" msgstr "狀態" -#: gui/dialogs/musicbrainzdialog.cpp:189 gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:177 gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result" msgstr "沒有結果" -#: gui/dialogs/musicbrainzdialog.cpp:368 +#: gui/dialogs/musicbrainzdialog.cpp:332 msgid "No result selected" msgstr "沒有選擇結果" -#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:586 +#: gui/dialogs/numbertracksdialog.cpp:56 gui/forms/kid3mainwindow.cpp:613 msgid "Number Tracks" msgstr "音軌編號" -#: gui/dialogs/numbertracksdialog.cpp:65 +#: gui/dialogs/numbertracksdialog.cpp:63 msgid "&Start number:" msgstr "起始編號(&S):" -#: gui/dialogs/numbertracksdialog.cpp:78 +#: gui/dialogs/numbertracksdialog.cpp:75 msgid "&Destination:" msgstr "到(&D):" -#: gui/dialogs/numbertracksdialog.cpp:97 +#: gui/dialogs/numbertracksdialog.cpp:91 msgid "&Total number of tracks:" msgstr "音軌編號(&T):" @@ -1511,7 +1515,7 @@ msgid "Same as &directory name" msgstr "與目錄同名(&D)" -#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:119 +#: gui/dialogs/playlistdialog.cpp:147 gui/dialogs/rendirdialog.cpp:118 msgid "&Format:" msgstr "格式(&F):" @@ -1567,8 +1571,8 @@ msgid "Write &info using" msgstr "寫入依據(&I)" -#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:107 -#: gui/forms/kid3mainwindow.cpp:578 +#: gui/dialogs/rendirdialog.cpp:60 gui/dialogs/rendirdialog.cpp:106 +#: gui/forms/kid3mainwindow.cpp:604 msgid "Rename Directory" msgstr "更改目錄名稱" @@ -1580,29 +1584,31 @@ msgid "Preview" msgstr "預覽" -#: gui/dialogs/rendirdialog.cpp:108 +#: gui/dialogs/rendirdialog.cpp:107 msgid "Create Directory" msgstr "建立目錄" -#: gui/dialogs/rendirdialog.cpp:111 +#: gui/dialogs/rendirdialog.cpp:110 msgid "From Tag 2 and Tag 1" msgstr "從 標籤 2 與 標籤 1" -#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:328 -#: gui/forms/kid3mainwindow.cpp:342 gui/forms/kid3mainwindow.cpp:363 +#: gui/dialogs/rendirdialog.cpp:111 gui/forms/kid3form.cpp:333 +#: gui/forms/kid3form.cpp:896 gui/forms/kid3form.cpp:908 +#: gui/forms/kid3mainwindow.cpp:346 gui/forms/kid3mainwindow.cpp:367 msgid "From Tag 1" msgstr "從標籤 1" -#: gui/dialogs/rendirdialog.cpp:113 gui/forms/kid3form.cpp:288 -#: gui/forms/kid3mainwindow.cpp:327 gui/forms/kid3mainwindow.cpp:366 +#: gui/dialogs/rendirdialog.cpp:112 gui/forms/kid3form.cpp:293 +#: gui/forms/kid3form.cpp:897 gui/forms/kid3form.cpp:901 +#: gui/forms/kid3mainwindow.cpp:331 gui/forms/kid3mainwindow.cpp:370 msgid "From Tag 2" msgstr "從標籤 2" -#: gui/dialogs/rendirdialog.cpp:143 gui/forms/kid3form.cpp:228 +#: gui/dialogs/rendirdialog.cpp:140 gui/forms/kid3form.cpp:233 msgid "From:" msgstr "從:" -#: gui/dialogs/rendirdialog.cpp:145 gui/forms/kid3form.cpp:252 +#: gui/dialogs/rendirdialog.cpp:142 gui/forms/kid3form.cpp:257 msgid "To:" msgstr "至:" @@ -1630,11 +1636,11 @@ msgid "Extraction:" msgstr "提取:" -#: gui/dialogs/textimportdialog.cpp:59 +#: gui/dialogs/textimportdialog.cpp:58 msgid "Import from File/Clipboard" msgstr "自剪貼簿匯入" -#: gui/dialogs/textimportdialog.cpp:87 +#: gui/dialogs/textimportdialog.cpp:86 msgid "From F&ile" msgstr "從檔案(&I)" @@ -1654,356 +1660,364 @@ msgid "&Move to Trash" msgstr "移至垃圾桶(&M)" -#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:304 -#: gui/forms/kid3mainwindow.cpp:624 +#: gui/forms/filelist.cpp:141 gui/forms/kid3mainwindow.cpp:308 +#: gui/forms/kid3mainwindow.cpp:655 msgid "&Play" msgstr "播放(&P)" -#: gui/forms/kid3form.cpp:193 gui/forms/kid3form.cpp:861 -#: gui/forms/kid3form.cpp:863 +#: gui/forms/kid3form.cpp:198 gui/forms/kid3form.cpp:852 +#: gui/forms/kid3form.cpp:854 msgid "F&ile" msgstr "檔案(&I)" -#: gui/forms/kid3form.cpp:206 +#: gui/forms/kid3form.cpp:211 msgid "Name:" msgstr "檔案名稱:" -#: gui/forms/kid3form.cpp:231 +#: gui/forms/kid3form.cpp:236 msgid "Filename from Tag 1" msgstr "檔名從標籤 1" -#: gui/forms/kid3form.cpp:234 +#: gui/forms/kid3form.cpp:239 msgid "Filename from Tag 2" msgstr "檔名從標籤 2" -#: gui/forms/kid3form.cpp:256 +#: gui/forms/kid3form.cpp:261 msgid "Tag 1 from Filename" msgstr "標籤 1從檔名" -#: gui/forms/kid3form.cpp:260 +#: gui/forms/kid3form.cpp:265 msgid "Tag 2 from Filename" msgstr "標籤 2從檔名" -#: gui/forms/kid3form.cpp:266 gui/forms/kid3form.cpp:584 +#: gui/forms/kid3form.cpp:271 gui/forms/kid3form.cpp:589 msgid "Tag &1" msgstr "標籤 &1" -#: gui/forms/kid3form.cpp:291 gui/forms/kid3form.cpp:332 -#: gui/forms/kid3mainwindow.cpp:330 gui/forms/kid3mainwindow.cpp:345 +#: gui/forms/kid3form.cpp:296 gui/forms/kid3form.cpp:337 +#: gui/forms/kid3form.cpp:902 gui/forms/kid3form.cpp:909 +#: gui/forms/kid3mainwindow.cpp:334 gui/forms/kid3mainwindow.cpp:349 msgid "Copy" msgstr "複製" -#: gui/forms/kid3form.cpp:295 gui/forms/kid3form.cpp:336 -#: gui/forms/kid3mainwindow.cpp:333 gui/forms/kid3mainwindow.cpp:348 +#: gui/forms/kid3form.cpp:300 gui/forms/kid3form.cpp:341 +#: gui/forms/kid3form.cpp:903 gui/forms/kid3form.cpp:910 +#: gui/forms/kid3mainwindow.cpp:337 gui/forms/kid3mainwindow.cpp:352 msgid "Paste" msgstr "貼上" -#: gui/forms/kid3form.cpp:299 gui/forms/kid3form.cpp:340 -#: gui/forms/kid3mainwindow.cpp:336 gui/forms/kid3mainwindow.cpp:351 +#: gui/forms/kid3form.cpp:304 gui/forms/kid3form.cpp:345 +#: gui/forms/kid3form.cpp:904 gui/forms/kid3form.cpp:911 +#: gui/forms/kid3mainwindow.cpp:340 gui/forms/kid3mainwindow.cpp:355 msgid "Remove" msgstr "移除" -#: gui/forms/kid3form.cpp:308 gui/forms/kid3form.cpp:599 +#: gui/forms/kid3form.cpp:313 gui/forms/kid3form.cpp:604 msgid "Tag &2" msgstr "標籤 &2" -#: gui/forms/kid3form.cpp:346 gui/forms/kid3mainwindow.cpp:354 +#: gui/forms/kid3form.cpp:351 gui/forms/kid3form.cpp:912 +#: gui/forms/kid3mainwindow.cpp:358 msgid "Edit" msgstr "編輯" -#: gui/forms/kid3form.cpp:349 gui/forms/kid3mainwindow.cpp:357 +#: gui/forms/kid3form.cpp:354 gui/forms/kid3form.cpp:913 +#: gui/forms/kid3mainwindow.cpp:361 msgid "Add" msgstr "新增" -#: gui/forms/kid3form.cpp:352 gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3form.cpp:357 gui/forms/kid3form.cpp:914 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Delete" msgstr "刪除" -#: gui/forms/kid3mainwindow.cpp:113 +#: gui/forms/kid3form.cpp:898 gui/forms/kid3form.cpp:905 +#: gui/forms/kid3form.cpp:915 gui/forms/kid3mainwindow.cpp:373 +#: gui/forms/kid3mainwindow.cpp:376 gui/forms/kid3mainwindow.cpp:379 +msgid "Focus" +msgstr "焦點" + +#: gui/forms/kid3form.cpp:900 gui/forms/kid3form.cpp:907 +#: gui/forms/kid3mainwindow.cpp:328 gui/forms/kid3mainwindow.cpp:343 +msgid "From Filename" +msgstr "從檔名" + +#: gui/forms/kid3mainwindow.cpp:115 msgid "Download" msgstr "下載" -#: gui/forms/kid3mainwindow.cpp:189 +#: gui/forms/kid3mainwindow.cpp:193 msgid "Main Toolbar" msgstr "主工具列" -#: gui/forms/kid3mainwindow.cpp:222 gui/forms/kid3mainwindow.cpp:388 -#: gui/forms/kid3mainwindow.cpp:408 +#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:394 +#: gui/forms/kid3mainwindow.cpp:414 msgid "Opens a directory" msgstr "開啟目錄" -#: gui/forms/kid3mainwindow.cpp:223 gui/forms/kid3mainwindow.cpp:401 +#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:408 msgid "Opens a recently used directory" msgstr "開啟目前所在的目錄" -#: gui/forms/kid3mainwindow.cpp:225 gui/forms/kid3mainwindow.cpp:431 +#: gui/forms/kid3mainwindow.cpp:229 gui/forms/kid3mainwindow.cpp:439 msgid "Reverts the changes of all or the selected files" msgstr "還原全部有更動的檔案或只有選取部份" -#: gui/forms/kid3mainwindow.cpp:226 gui/forms/kid3mainwindow.cpp:419 +#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:426 msgid "Saves the changed files" msgstr "儲存更動的檔案" -#: gui/forms/kid3mainwindow.cpp:227 gui/forms/kid3mainwindow.cpp:507 +#: gui/forms/kid3mainwindow.cpp:231 gui/forms/kid3mainwindow.cpp:526 msgid "Quits the application" msgstr "離開應用程式" -#: gui/forms/kid3mainwindow.cpp:228 gui/forms/kid3mainwindow.cpp:519 +#: gui/forms/kid3mainwindow.cpp:232 gui/forms/kid3mainwindow.cpp:539 msgid "Select all files" msgstr "選擇全部檔案" -#: gui/forms/kid3mainwindow.cpp:230 gui/forms/kid3mainwindow.cpp:529 +#: gui/forms/kid3mainwindow.cpp:234 gui/forms/kid3mainwindow.cpp:550 msgid "Deselect all files" msgstr "全部不選" -#: gui/forms/kid3mainwindow.cpp:231 +#: gui/forms/kid3mainwindow.cpp:235 msgid "Configure Shortcuts" msgstr "設定捷徑" -#: gui/forms/kid3mainwindow.cpp:232 +#: gui/forms/kid3mainwindow.cpp:236 msgid "Configure Toolbars" msgstr "設定工具列" -#: gui/forms/kid3mainwindow.cpp:233 +#: gui/forms/kid3mainwindow.cpp:237 msgid "Preferences dialog" msgstr "喜好設定對話框" -#: gui/forms/kid3mainwindow.cpp:235 gui/forms/kid3mainwindow.cpp:409 +#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:415 msgid "O&pen Directory..." msgstr "開啟目錄(&P)..." -#: gui/forms/kid3mainwindow.cpp:239 gui/forms/kid3mainwindow.cpp:444 +#: gui/forms/kid3mainwindow.cpp:243 gui/forms/kid3mainwindow.cpp:453 msgid "&Import..." msgstr "匯入(&I)..." -#: gui/forms/kid3mainwindow.cpp:253 gui/forms/kid3mainwindow.cpp:262 -#: gui/forms/kid3mainwindow.cpp:457 gui/forms/kid3mainwindow.cpp:469 +#: gui/forms/kid3mainwindow.cpp:257 gui/forms/kid3mainwindow.cpp:266 +#: gui/forms/kid3mainwindow.cpp:472 gui/forms/kid3mainwindow.cpp:485 msgid "Import from %1..." msgstr "從 %1 匯入..." -#: gui/forms/kid3mainwindow.cpp:269 gui/forms/kid3mainwindow.cpp:480 +#: gui/forms/kid3mainwindow.cpp:273 gui/forms/kid3mainwindow.cpp:496 msgid "&Browse Cover Art..." msgstr "瀏覽專輯封面(&B)..." -#: gui/forms/kid3mainwindow.cpp:272 gui/forms/kid3mainwindow.cpp:488 +#: gui/forms/kid3mainwindow.cpp:276 gui/forms/kid3mainwindow.cpp:505 msgid "&Export..." msgstr "匯出(&E)..." -#: gui/forms/kid3mainwindow.cpp:275 gui/forms/kid3mainwindow.cpp:497 +#: gui/forms/kid3mainwindow.cpp:279 gui/forms/kid3mainwindow.cpp:515 msgid "&Create Playlist..." msgstr "新增播放清單(&C)..." -#: gui/forms/kid3mainwindow.cpp:278 gui/forms/kid3mainwindow.cpp:563 +#: gui/forms/kid3mainwindow.cpp:282 gui/forms/kid3mainwindow.cpp:587 msgid "Apply &Filename Format" msgstr "依據檔名格式(&F)" -#: gui/forms/kid3mainwindow.cpp:281 gui/forms/kid3mainwindow.cpp:571 +#: gui/forms/kid3mainwindow.cpp:285 gui/forms/kid3mainwindow.cpp:596 msgid "Apply &Tag Format" msgstr "套用標籤格式(&T)" -#: gui/forms/kid3mainwindow.cpp:284 gui/forms/kid3mainwindow.cpp:579 +#: gui/forms/kid3mainwindow.cpp:288 gui/forms/kid3mainwindow.cpp:605 msgid "&Rename Directory..." msgstr "更改目錄名稱(&R)..." -#: gui/forms/kid3mainwindow.cpp:287 gui/forms/kid3mainwindow.cpp:587 +#: gui/forms/kid3mainwindow.cpp:291 gui/forms/kid3mainwindow.cpp:614 msgid "&Number Tracks..." msgstr "音軌編號(&N)..." -#: gui/forms/kid3mainwindow.cpp:290 gui/forms/kid3mainwindow.cpp:595 +#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:623 msgid "F&ilter..." msgstr "過濾(&I)..." -#: gui/forms/kid3mainwindow.cpp:294 gui/forms/kid3mainwindow.cpp:604 +#: gui/forms/kid3mainwindow.cpp:298 gui/forms/kid3mainwindow.cpp:633 msgid "Convert ID3v2.3 to ID3v2.&4" msgstr "從 ID3v2.3 轉換至 ID3v2.&4" -#: gui/forms/kid3mainwindow.cpp:299 gui/forms/kid3mainwindow.cpp:614 +#: gui/forms/kid3mainwindow.cpp:303 gui/forms/kid3mainwindow.cpp:644 msgid "Convert ID3v2.4 to ID3v2.&3" msgstr "從 ID3v2.4 轉換至 ID3v2.&3" -#: gui/forms/kid3mainwindow.cpp:308 gui/forms/kid3mainwindow.cpp:655 +#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:691 msgid "Show &Picture" msgstr "顯示圖片(&P)" -#: gui/forms/kid3mainwindow.cpp:312 gui/forms/kid3mainwindow.cpp:664 +#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:701 msgid "Auto &Hide Tags" msgstr "自動隱藏標籤(&H)" -#: gui/forms/kid3mainwindow.cpp:316 gui/forms/kid3mainwindow.cpp:539 +#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:561 msgid "&Previous File" msgstr "上一個檔案(&P)" -#: gui/forms/kid3mainwindow.cpp:320 gui/forms/kid3mainwindow.cpp:550 +#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:573 msgid "&Next File" msgstr "下一個檔案(&N)" -#: gui/forms/kid3mainwindow.cpp:324 gui/forms/kid3mainwindow.cpp:339 -msgid "From Filename" -msgstr "從檔名" - -#: gui/forms/kid3mainwindow.cpp:354 gui/forms/kid3mainwindow.cpp:357 -#: gui/forms/kid3mainwindow.cpp:360 +#: gui/forms/kid3mainwindow.cpp:358 gui/forms/kid3mainwindow.cpp:361 +#: gui/forms/kid3mainwindow.cpp:364 msgid "Frames:" msgstr "訊框:" -#: gui/forms/kid3mainwindow.cpp:369 gui/forms/kid3mainwindow.cpp:372 -#: gui/forms/kid3mainwindow.cpp:375 -msgid "Focus" -msgstr "焦點" - -#: gui/forms/kid3mainwindow.cpp:385 +#: gui/forms/kid3mainwindow.cpp:389 msgid "&File" msgstr "檔案(&F)" -#: gui/forms/kid3mainwindow.cpp:389 +#: gui/forms/kid3mainwindow.cpp:395 msgid "&Open..." -msgstr "開啟(&O)" +msgstr "開啟(&O)..." -#: gui/forms/kid3mainwindow.cpp:402 +#: gui/forms/kid3mainwindow.cpp:409 msgid "Open &Recent" msgstr "開啟最近的檔案(&R)" -#: gui/forms/kid3mainwindow.cpp:420 +#: gui/forms/kid3mainwindow.cpp:427 msgid "&Save" msgstr "儲存(&S)" -#: gui/forms/kid3mainwindow.cpp:432 +#: gui/forms/kid3mainwindow.cpp:440 msgid "Re&vert" msgstr "還原(&V)" -#: gui/forms/kid3mainwindow.cpp:443 +#: gui/forms/kid3mainwindow.cpp:452 msgid "Import from file or clipboard" msgstr "自剪貼簿匯入" -#: gui/forms/kid3mainwindow.cpp:456 gui/forms/kid3mainwindow.cpp:468 +#: gui/forms/kid3mainwindow.cpp:471 gui/forms/kid3mainwindow.cpp:484 msgid "Import from %1" msgstr "自 %1 匯入" -#: gui/forms/kid3mainwindow.cpp:479 +#: gui/forms/kid3mainwindow.cpp:495 msgid "Browse album cover artwork" msgstr "瀏覽專輯封面" -#: gui/forms/kid3mainwindow.cpp:487 +#: gui/forms/kid3mainwindow.cpp:504 msgid "Export to file or clipboard" msgstr "匯出至檔案或剪貼簿" -#: gui/forms/kid3mainwindow.cpp:496 +#: gui/forms/kid3mainwindow.cpp:514 msgid "Create M3U Playlist" msgstr "建立 M3U 播放清單" -#: gui/forms/kid3mainwindow.cpp:508 +#: gui/forms/kid3mainwindow.cpp:527 msgid "&Quit" msgstr "離開(&Q)" -#: gui/forms/kid3mainwindow.cpp:516 +#: gui/forms/kid3mainwindow.cpp:536 msgid "&Edit" msgstr "編輯(&E)" -#: gui/forms/kid3mainwindow.cpp:520 +#: gui/forms/kid3mainwindow.cpp:540 msgid "Select &All" msgstr "全選(&A)" -#: gui/forms/kid3mainwindow.cpp:530 +#: gui/forms/kid3mainwindow.cpp:551 msgid "Dese&lect" msgstr "取消選擇(&l)" -#: gui/forms/kid3mainwindow.cpp:538 +#: gui/forms/kid3mainwindow.cpp:560 msgid "Select previous file" msgstr "選擇上一個檔案" -#: gui/forms/kid3mainwindow.cpp:549 +#: gui/forms/kid3mainwindow.cpp:572 msgid "Select next file" msgstr "選擇下一個檔案" -#: gui/forms/kid3mainwindow.cpp:559 +#: gui/forms/kid3mainwindow.cpp:583 msgid "&Tools" msgstr "工具(&T)" -#: gui/forms/kid3mainwindow.cpp:562 +#: gui/forms/kid3mainwindow.cpp:586 msgid "Apply Filename Format" msgstr "套用檔名格式" -#: gui/forms/kid3mainwindow.cpp:570 +#: gui/forms/kid3mainwindow.cpp:595 msgid "Apply Tag Format" msgstr "套用 Tag 格式" -#: gui/forms/kid3mainwindow.cpp:603 +#: gui/forms/kid3mainwindow.cpp:632 msgid "Convert ID3v2.3 to ID3v2.4" msgstr "從 ID3v2.3 轉換成 ID3v2.4" -#: gui/forms/kid3mainwindow.cpp:613 +#: gui/forms/kid3mainwindow.cpp:643 msgid "Convert ID3v2.4 to ID3v2.3" msgstr "從 ID3v2.4 轉換成 ID3v2.3" -#: gui/forms/kid3mainwindow.cpp:623 gui/widgets/playtoolbar.cpp:57 +#: gui/forms/kid3mainwindow.cpp:654 gui/widgets/playtoolbar.cpp:57 msgid "Play" msgstr "播放" -#: gui/forms/kid3mainwindow.cpp:633 +#: gui/forms/kid3mainwindow.cpp:665 msgid "&Settings" msgstr "設定(&S)" -#: gui/forms/kid3mainwindow.cpp:636 +#: gui/forms/kid3mainwindow.cpp:669 msgid "Enables/disables the toolbar" msgstr "開啟/關閉 工具列" -#: gui/forms/kid3mainwindow.cpp:637 +#: gui/forms/kid3mainwindow.cpp:670 msgid "Show &Toolbar" msgstr "顯示工具列(&T)" -#: gui/forms/kid3mainwindow.cpp:645 +#: gui/forms/kid3mainwindow.cpp:680 msgid "Enables/disables the statusbar" msgstr "開啟/關閉 狀態列" -#: gui/forms/kid3mainwindow.cpp:646 +#: gui/forms/kid3mainwindow.cpp:681 msgid "Show St&atusbar" msgstr "顯示狀態列(&A)" -#: gui/forms/kid3mainwindow.cpp:654 +#: gui/forms/kid3mainwindow.cpp:690 msgid "Show Picture" msgstr "顯示圖片" -#: gui/forms/kid3mainwindow.cpp:663 +#: gui/forms/kid3mainwindow.cpp:700 msgid "Auto Hide Tags" msgstr "自動隱藏標籤" -#: gui/forms/kid3mainwindow.cpp:672 +#: gui/forms/kid3mainwindow.cpp:710 msgid "Configure Kid3" msgstr "設定 Kid3" -#: gui/forms/kid3mainwindow.cpp:673 +#: gui/forms/kid3mainwindow.cpp:711 msgid "&Configure Kid3..." msgstr "設定 Kid3(&C)..." -#: gui/forms/kid3mainwindow.cpp:687 +#: gui/forms/kid3mainwindow.cpp:728 msgid "Kid3 &Handbook" msgstr "Kid3 手冊(&H)" -#: gui/forms/kid3mainwindow.cpp:696 +#: gui/forms/kid3mainwindow.cpp:738 msgid "About Kid3" msgstr "關於 Kid3" -#: gui/forms/kid3mainwindow.cpp:697 +#: gui/forms/kid3mainwindow.cpp:739 msgid "&About Kid3" msgstr "關於 Kid3(&A)" -#: gui/forms/kid3mainwindow.cpp:704 +#: gui/forms/kid3mainwindow.cpp:747 msgid "About Qt" msgstr "關於 Qt" -#: gui/forms/kid3mainwindow.cpp:705 +#: gui/forms/kid3mainwindow.cpp:748 msgid "About &Qt" msgstr "關於 Qt(&Q)" -#: gui/forms/kid3mainwindow.cpp:765 +#: gui/forms/kid3mainwindow.cpp:790 msgid "Opening directory..." msgstr "開啟目錄..." -#: gui/forms/kid3mainwindow.cpp:883 +#: gui/forms/kid3mainwindow.cpp:912 msgid "Saving directory..." msgstr "儲存目錄..." -#: gui/forms/kid3mainwindow.cpp:942 gui/forms/kid3mainwindow.cpp:952 +#: gui/forms/kid3mainwindow.cpp:971 gui/forms/kid3mainwindow.cpp:981 msgid "" "The current directory has been modified.\n" "Do you want to save it?" @@ -2011,85 +2025,86 @@ "目前目錄已更動\n" "要儲存嗎?" -#: gui/forms/kid3mainwindow.cpp:944 +#: gui/forms/kid3mainwindow.cpp:973 msgid "Warning" msgstr "警告" -#: gui/forms/kid3mainwindow.cpp:951 +#: gui/forms/kid3mainwindow.cpp:980 msgid "Warning - Kid3" msgstr "警告 - Kid3" -#: gui/forms/kid3mainwindow.cpp:1030 +#: gui/forms/kid3mainwindow.cpp:1059 msgid "Open" msgstr "開啟" -#: gui/forms/kid3mainwindow.cpp:1113 +#: gui/forms/kid3mainwindow.cpp:1135 msgid "Exiting..." msgstr "離開..." -#: gui/forms/kid3mainwindow.cpp:1157 +#: gui/forms/kid3mainwindow.cpp:1179 msgid "Toggle the statusbar..." msgstr "切換狀態列..." -#: gui/forms/kid3mainwindow.cpp:1241 +#: gui/forms/kid3mainwindow.cpp:1261 msgid "Creating playlist..." msgstr "新增播放清單..." -#: gui/forms/kid3mainwindow.cpp:1267 +#: gui/forms/kid3mainwindow.cpp:1287 msgid "Import" msgstr "匯入" -#: gui/forms/kid3mainwindow.cpp:1384 +#: gui/forms/kid3mainwindow.cpp:1400 msgid "Configure - Kid3" msgstr "設定 - Kid3" -#: gui/forms/kid3mainwindow.cpp:1439 gui/forms/kid3mainwindow.cpp:1910 +#: gui/forms/kid3mainwindow.cpp:1448 gui/forms/kid3mainwindow.cpp:1453 +#: gui/forms/kid3mainwindow.cpp:1921 msgid "Error while renaming:\n" msgstr "更改檔名發生錯誤:\n" -#: gui/forms/kid3mainwindow.cpp:1552 +#: gui/forms/kid3mainwindow.cpp:1562 msgid " [filtered]" msgstr "[已篩選]" -#: gui/forms/kid3mainwindow.cpp:1558 +#: gui/forms/kid3mainwindow.cpp:1568 msgid " [modified]" msgstr "[已更改]" -#: gui/forms/kid3mainwindow.cpp:1800 +#: gui/forms/kid3mainwindow.cpp:1810 msgid "Add Frame" msgstr "新增訊框" -#: gui/forms/kid3mainwindow.cpp:1801 +#: gui/forms/kid3mainwindow.cpp:1811 msgid "Select the frame ID" msgstr "選擇訊框代碼" -#: gui/forms/kid3mainwindow.cpp:1891 +#: gui/forms/kid3mainwindow.cpp:1899 msgid "Rename File" msgstr "更改檔名" -#: gui/forms/kid3mainwindow.cpp:1892 +#: gui/forms/kid3mainwindow.cpp:1900 msgid "Enter new file name:" msgstr "輸入新檔名:" -#: gui/forms/kid3mainwindow.cpp:1919 +#: gui/forms/kid3mainwindow.cpp:1931 gui/forms/kid3mainwindow.cpp:1969 msgid "Do you really want to move these %1 items to the trash?" msgstr "您真的要將這 %1 個項目移到資源回收筒嗎?" -#: gui/forms/kid3mainwindow.cpp:1945 gui/forms/kid3mainwindow.cpp:1959 +#: gui/forms/kid3mainwindow.cpp:1957 gui/forms/kid3mainwindow.cpp:1971 msgid "Do you really want to move this item to the trash?" msgid_plural "Do you really want to move these %1 items to the trash?" msgstr[0] "您真的要將這 1 個項目移到資源回收筒嗎?" msgstr[1] "您真的要將這 %1 個項目移到資源回收筒嗎?" -#: gui/forms/kid3mainwindow.cpp:1949 gui/forms/kid3mainwindow.cpp:1955 +#: gui/forms/kid3mainwindow.cpp:1961 gui/forms/kid3mainwindow.cpp:1967 msgid "Move to Trash" msgstr "移至垃圾桶" -#: gui/forms/kid3mainwindow.cpp:1986 +#: gui/forms/kid3mainwindow.cpp:1998 msgid "Directory must be empty.\n" msgstr "目錄裡面必須是空的.\n" -#: gui/forms/kid3mainwindow.cpp:1987 +#: gui/forms/kid3mainwindow.cpp:1999 msgid "Could not move these files to the Trash" msgstr "無法將這些檔案丟到垃圾桶" @@ -2145,15 +2160,15 @@ msgid "To" msgstr "至" -#: gui/widgets/formatlistedit.cpp:79 +#: gui/widgets/formatlistedit.cpp:81 msgid "&Add" msgstr "新增(&A)" -#: gui/widgets/formatlistedit.cpp:81 gui/widgets/stringlistedit.cpp:56 +#: gui/widgets/formatlistedit.cpp:83 gui/widgets/stringlistedit.cpp:55 msgid "&Remove" msgstr "移除(&R)" -#: gui/widgets/formatlistedit.cpp:240 +#: gui/widgets/formatlistedit.cpp:242 msgid "New" msgstr "新增" @@ -2169,7 +2184,7 @@ msgid "View Picture" msgstr "檢視圖片" -#: gui/widgets/picturelabel.cpp:58 +#: gui/widgets/picturelabel.cpp:67 msgid "" "Drag album\n" "artwork\n" @@ -2203,27 +2218,35 @@ msgid "&Clear List" msgstr "清除清單(&C)" -#: gui/widgets/stringlistedit.cpp:52 +#: gui/widgets/shortcutsdelegate.cpp:189 +msgid "Clear" +msgstr "清除" + +#: gui/widgets/shortcutsdelegate.cpp:193 +msgid "Reset" +msgstr "重設" + +#: gui/widgets/stringlistedit.cpp:51 msgid "&Add..." msgstr "新增(&A)..." -#: gui/widgets/stringlistedit.cpp:53 +#: gui/widgets/stringlistedit.cpp:52 msgid "Move &Up" msgstr "上移(&U)" -#: gui/widgets/stringlistedit.cpp:54 +#: gui/widgets/stringlistedit.cpp:53 msgid "Move &Down" msgstr "下移(&D)" -#: gui/widgets/stringlistedit.cpp:55 +#: gui/widgets/stringlistedit.cpp:54 msgid "&Edit..." msgstr "編輯(&E)..." -#: gui/widgets/stringlistedit.cpp:95 +#: gui/widgets/stringlistedit.cpp:90 msgid "Add Item" msgstr "新增項目" -#: gui/widgets/stringlistedit.cpp:128 +#: gui/widgets/stringlistedit.cpp:123 msgid "Edit Item" msgstr "編輯項目" diff -Nru kid3-2.0.1/src/CMakeLists.txt kid3-2.1/src/CMakeLists.txt --- kid3-2.0.1/src/CMakeLists.txt 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/CMakeLists.txt 2012-05-11 05:46:04.000000000 +0000 @@ -4,10 +4,11 @@ else (WITH_KDE) set(_includeRegex "#include <[Qcp]") endif (WITH_KDE) + set(_additionalFlags "-fno-exceptions -D_REENTRANT -DQT_NO_EXCEPTIONS -DQT_NO_STL -fvisibility=hidden -fvisibility-inlines-hidden") if (CMAKE_BUILD_TYPE MATCHES Debug) - set(_additionalFlags "-g -DQT_DEBUG -D_REENTRANT") + set(_additionalFlags "${_additionalFlags} -g -DQT_DEBUG") else (CMAKE_BUILD_TYPE MATCHES Debug) - set(_additionalFlags "-O3 -DQT_NO_DEBUG -D_REENTRANT -DNDEBUG") + set(_additionalFlags "${_additionalFlags} -O3 -DQT_NO_DEBUG -DNDEBUG") endif (CMAKE_BUILD_TYPE MATCHES Debug) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Winvalid-pch -include ${CMAKE_BINARY_DIR}/allsys.h") diff -Nru kid3-2.0.1/src/core/CMakeLists.txt kid3-2.1/src/core/CMakeLists.txt --- kid3-2.0.1/src/core/CMakeLists.txt 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/CMakeLists.txt 2012-05-11 05:46:04.000000000 +0000 @@ -8,6 +8,11 @@ set(core_MOC_HDRS ${core_MOC_HDRS} ${${_subdir}_MOC_HDRS}) endforeach() +add_definitions(-DKID3_BUILD_CORE_LIB) +if (WIN32 AND HAVE_CHROMAPRINT) + add_definitions(-DCHROMAPRINT_NODLL) +endif (WIN32 AND HAVE_CHROMAPRINT) + if (WITH_GCC_PCH) ADD_KID3_PCH_RULE(core_SRCS) endif (WITH_GCC_PCH) @@ -17,7 +22,7 @@ add_library(kid3-core ${core_SRCS} ${core_GEN_MOC_SRCS}) target_link_libraries(kid3-core ${BASIC_LIBRARIES} ${ID3LIB_LIBRARIES} ${TAGLIB_LIBRARIES} ${VORBIS_LIBRARIES} - ${FLAC_LIBRARIES} ${TUNEPIMP_LIBRARIES} ${MP4V2_LIBRARIES} + ${FLAC_LIBRARIES} ${CHROMAPRINT_LIBS} ${MP4V2_LIBRARIES} ) if (BUILD_SHARED_LIBS) diff -Nru kid3-2.0.1/src/core/config/configstore.cpp kid3-2.1/src/core/config/configstore.cpp --- kid3-2.0.1/src/core/config/configstore.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/configstore.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 09 Jul 2011 * - * Copyright (C) 2011 Urs Fleisch + * Copyright (C) 2011-2012 Urs Fleisch * * This file is part of Kid3. * @@ -26,6 +26,9 @@ #include "configstore.h" #include "config.h" +#ifndef CONFIG_USE_KDE +#include "shortcutsmodel.h" +#endif MiscConfig ConfigStore::s_miscCfg("General Options"); ImportConfig ConfigStore::s_genCfg("General Options"); @@ -49,6 +52,7 @@ #else m_config = new Kid3Settings(QSettings::UserScope, "kid3.sourceforge.net", "Kid3"); m_config->beginGroup("/kid3"); + m_shortcutsModel = new ShortcutsModel; #endif } @@ -57,6 +61,9 @@ */ ConfigStore::~ConfigStore() { +#ifndef CONFIG_USE_KDE + delete m_shortcutsModel; +#endif // m_config is not deleted because this could lead to a crash on Mac OS. } @@ -75,7 +82,7 @@ s_amazonCfg.writeToConfig(m_config); s_filterCfg.writeToConfig(m_config); s_playlistCfg.writeToConfig(m_config); -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT s_musicBrainzCfg.writeToConfig(m_config); #endif } @@ -95,7 +102,7 @@ s_amazonCfg.readFromConfig(m_config); s_filterCfg.readFromConfig(m_config); s_playlistCfg.readFromConfig(m_config); -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT s_musicBrainzCfg.readFromConfig(m_config); #endif } diff -Nru kid3-2.0.1/src/core/config/configstore.h kid3-2.1/src/core/config/configstore.h --- kid3-2.0.1/src/core/config/configstore.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/configstore.h 2012-05-11 05:46:04.000000000 +0000 @@ -38,10 +38,12 @@ #include "filterconfig.h" #include "playlistconfig.h" +class ShortcutsModel; + /** * Configuration storage. */ -class ConfigStore { +class KID3_CORE_EXPORT ConfigStore { public: /** * Constructor. @@ -69,6 +71,14 @@ */ Kid3Settings* getSettings() const { return m_config; } +#ifndef CONFIG_USE_KDE + /** + * Get keyboard shortcuts model. + * @return shortcuts model + */ + ShortcutsModel* getShortcutsModel() const { return m_shortcutsModel; } +#endif + /** Filename format configuration */ static FormatConfig s_fnFormatCfg; /** ID3 format configuration */ @@ -94,6 +104,9 @@ private: Kid3Settings* m_config; +#ifndef CONFIG_USE_KDE + ShortcutsModel* m_shortcutsModel; +#endif }; #endif // CONFIGSTORE_H diff -Nru kid3-2.0.1/src/core/config/filterconfig.h kid3-2.1/src/core/config/filterconfig.h --- kid3-2.0.1/src/core/config/filterconfig.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/filterconfig.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,11 +30,12 @@ #include #include "config.h" #include "generalconfig.h" +#include "kid3api.h" /** * Filter configuration. */ -class FilterConfig : public GeneralConfig { +class KID3_CORE_EXPORT FilterConfig : public GeneralConfig { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/config/formatconfig.cpp kid3-2.1/src/core/config/formatconfig.cpp --- kid3-2.0.1/src/core/config/formatconfig.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/formatconfig.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -69,6 +69,9 @@ m_strRepMap["?"] = ""; m_strRepMap["*"] = ""; m_strRepMap["\""] = "''"; + m_strRepMap["<"] = "-"; + m_strRepMap[">"] = "-"; + m_strRepMap["|"] = "-"; m_strRepMap[QChar(0xe4)] = "ae"; m_strRepMap[QChar(0xf6)] = "oe"; m_strRepMap[QChar(0xfc)] = "ue"; @@ -76,6 +79,60 @@ m_strRepMap[QChar(0xd6)] = "Oe"; m_strRepMap[QChar(0xdc)] = "Ue"; m_strRepMap[QChar(0xdf)] = "ss"; + m_strRepMap[QChar(0xc0)] = "A"; + m_strRepMap[QChar(0xc1)] = "A"; + m_strRepMap[QChar(0xc2)] = "A"; + m_strRepMap[QChar(0xc3)] = "A"; + m_strRepMap[QChar(0xc5)] = "A"; + m_strRepMap[QChar(0xc6)] = "AE"; + m_strRepMap[QChar(0xc7)] = "C"; + m_strRepMap[QChar(0xc8)] = "E"; + m_strRepMap[QChar(0xc9)] = "E"; + m_strRepMap[QChar(0xca)] = "E"; + m_strRepMap[QChar(0xcb)] = "E"; + m_strRepMap[QChar(0xcc)] = "I"; + m_strRepMap[QChar(0xcd)] = "I"; + m_strRepMap[QChar(0xce)] = "I"; + m_strRepMap[QChar(0xcf)] = "I"; + m_strRepMap[QChar(0xd0)] = "D"; + m_strRepMap[QChar(0xd1)] = "N"; + m_strRepMap[QChar(0xd2)] = "O"; + m_strRepMap[QChar(0xd3)] = "O"; + m_strRepMap[QChar(0xd4)] = "O"; + m_strRepMap[QChar(0xd5)] = "O"; + m_strRepMap[QChar(0xd7)] = "x"; + m_strRepMap[QChar(0xd8)] = "O"; + m_strRepMap[QChar(0xd9)] = "U"; + m_strRepMap[QChar(0xda)] = "U"; + m_strRepMap[QChar(0xdb)] = "U"; + m_strRepMap[QChar(0xdd)] = "Y"; + m_strRepMap[QChar(0xe0)] = "a"; + m_strRepMap[QChar(0xe1)] = "a"; + m_strRepMap[QChar(0xe2)] = "a"; + m_strRepMap[QChar(0xe3)] = "a"; + m_strRepMap[QChar(0xe5)] = "a"; + m_strRepMap[QChar(0xe6)] = "ae"; + m_strRepMap[QChar(0xe7)] = "c"; + m_strRepMap[QChar(0xe8)] = "e"; + m_strRepMap[QChar(0xe9)] = "e"; + m_strRepMap[QChar(0xea)] = "e"; + m_strRepMap[QChar(0xeb)] = "e"; + m_strRepMap[QChar(0xec)] = "i"; + m_strRepMap[QChar(0xed)] = "i"; + m_strRepMap[QChar(0xee)] = "i"; + m_strRepMap[QChar(0xef)] = "i"; + m_strRepMap[QChar(0xf0)] = "d"; + m_strRepMap[QChar(0xf1)] = "n"; + m_strRepMap[QChar(0xf2)] = "o"; + m_strRepMap[QChar(0xf3)] = "o"; + m_strRepMap[QChar(0xf4)] = "o"; + m_strRepMap[QChar(0xf5)] = "o"; + m_strRepMap[QChar(0xf8)] = "o"; + m_strRepMap[QChar(0xf9)] = "u"; + m_strRepMap[QChar(0xfa)] = "u"; + m_strRepMap[QChar(0xfb)] = "u"; + m_strRepMap[QChar(0xfd)] = "y"; + m_strRepMap[QChar(0xff)] = "y"; } /** diff -Nru kid3-2.0.1/src/core/config/formatconfig.h kid3-2.1/src/core/config/formatconfig.h --- kid3-2.0.1/src/core/config/formatconfig.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/formatconfig.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,6 +30,7 @@ #include "config.h" #include "generalconfig.h" #include +#include "kid3api.h" class QString; class FrameCollection; @@ -37,7 +38,7 @@ /** * Format configuration. */ -class FormatConfig : public GeneralConfig +class KID3_CORE_EXPORT FormatConfig : public GeneralConfig { public: /** Case conversion options. */ diff -Nru kid3-2.0.1/src/core/config/miscconfig.cpp kid3-2.1/src/core/config/miscconfig.cpp --- kid3-2.0.1/src/core/config/miscconfig.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/miscconfig.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -188,7 +188,14 @@ m_useProxyAuthentication(false), m_onlyCustomGenres(false) #ifndef CONFIG_USE_KDE - , m_useFont(false), m_fontSize(-1) + , m_useFont(false), m_fontSize(-1), + m_dontUseNativeDialogs( +#if defined Q_OS_WIN32 || defined Q_OS_MAC + false +#else + true +#endif + ) #endif { } @@ -207,7 +214,7 @@ { #ifdef CONFIG_USE_KDE KConfigGroup cfg = config->group(m_group); - cfg.writeEntry("NameFilter2", m_nameFilter); + cfg.writeEntry("NameFilter3", m_nameFilter); cfg.writeEntry("FormatItem", m_formatItem); cfg.writeEntry("FormatItems", m_formatItems); cfg.writeEntry("FormatText2", m_formatText); @@ -267,7 +274,7 @@ } #else config->beginGroup("/" + m_group); - config->setValue("/NameFilter2", QVariant(m_nameFilter)); + config->setValue("/NameFilter3", QVariant(m_nameFilter)); config->setValue("/FormatItem", QVariant(m_formatItem)); config->setValue("/FormatItems", QVariant(m_formatItems)); config->setValue("/FormatText2", QVariant(m_formatText)); @@ -326,6 +333,7 @@ config->setValue("/FontFamily", QVariant(m_fontFamily)); config->setValue("/FontSize", QVariant(m_fontSize)); config->setValue("/Style", QVariant(m_style)); + config->setValue("/DontUseNativeDialogs", QVariant(m_dontUseNativeDialogs)); config->endGroup(); config->beginGroup("/MenuCommands"); @@ -359,7 +367,7 @@ #ifdef CONFIG_USE_KDE KConfigGroup cfg = config->group(m_group); m_nameFilter = - cfg.readEntry("NameFilter2", ""); + cfg.readEntry("NameFilter3", ""); m_formatItem = cfg.readEntry("FormatItem", 0); m_formatItems = @@ -423,7 +431,7 @@ #else config->beginGroup("/" + m_group); m_nameFilter = - config->value("/NameFilter2", "").toString(); + config->value("/NameFilter3", "").toString(); m_formatItem = config->value("/FormatItem", 0).toInt(); m_formatItems = @@ -504,6 +512,8 @@ m_fontFamily = config->value("/FontFamily", m_fontFamily).toString(); m_fontSize = config->value("/FontSize", -1).toInt(); m_style = config->value("/Style", m_style).toString(); + m_dontUseNativeDialogs = config->value("/DontUseNativeDialogs", + m_dontUseNativeDialogs).toBool(); config->endGroup(); m_contextMenuCommands.clear(); @@ -560,6 +570,28 @@ } /** + * Get file pattern part of m_nameFilter. + * @return file patterns, e.g. "*.mp3". + */ +QString MiscConfig::getNameFilterPatterns() const +{ +#ifdef CONFIG_USE_KDE + if (m_nameFilter.startsWith('*')) { + int end = m_nameFilter.indexOf('|'); + return end != -1 ? m_nameFilter.left(end) : m_nameFilter; + } else { + return QString(); + } +#else + int start = m_nameFilter.indexOf('('), end = m_nameFilter.indexOf(')'); + return start != -1 && end != -1 && end > start + ? m_nameFilter.mid(start + 1, end - start - 1) + : QString(); +#endif +} + + +/** * Constructor. * * @param name display name diff -Nru kid3-2.0.1/src/core/config/miscconfig.h kid3-2.1/src/core/config/miscconfig.h --- kid3-2.0.1/src/core/config/miscconfig.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/miscconfig.h 2012-05-11 05:46:04.000000000 +0000 @@ -32,13 +32,14 @@ #include "config.h" #include "generalconfig.h" #include "trackdata.h" +#include "kid3api.h" class QString; /** * Miscellaneous Configuration. */ -class MiscConfig : public GeneralConfig +class KID3_CORE_EXPORT MiscConfig : public GeneralConfig { public: /** The ID3v2 version used for new tags. */ @@ -170,6 +171,12 @@ */ void readFromConfig(Kid3Settings* config); + /** + * Get file pattern part of m_nameFilter. + * @return file patterns, e.g. "*.mp3". + */ + QString getNameFilterPatterns() const; + /** true to mark truncated ID3v1.1 fields */ bool m_markTruncations; /** true to write total number of tracks into track fields */ @@ -269,6 +276,8 @@ int m_fontSize; /** custom application style, empty if not used */ QString m_style; + /** Don't use the native file dialog if true */ + bool m_dontUseNativeDialogs; #endif /** Default directory format list */ diff -Nru kid3-2.0.1/src/core/config/playlistconfig.h kid3-2.1/src/core/config/playlistconfig.h --- kid3-2.0.1/src/core/config/playlistconfig.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/playlistconfig.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,11 +30,12 @@ #include #include "config.h" #include "generalconfig.h" +#include "kid3api.h" /** * Playlist configuration. */ -class PlaylistConfig : public GeneralConfig { +class KID3_CORE_EXPORT PlaylistConfig : public GeneralConfig { public: /** * Playlist format. diff -Nru kid3-2.0.1/src/core/config/serverimporterconfig.cpp kid3-2.1/src/core/config/serverimporterconfig.cpp --- kid3-2.0.1/src/core/config/serverimporterconfig.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/serverimporterconfig.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -52,7 +52,9 @@ * Constructor. * Used to create temporary configuration. */ -ServerImporterConfig::ServerImporterConfig() : GeneralConfig("Temporary") {} +ServerImporterConfig::ServerImporterConfig() : GeneralConfig("Temporary"), + m_windowWidth(-1), m_windowHeight(-1), m_cgiPathUsed(false), + m_additionalTagsUsed(false), m_additionalTags(false), m_coverArt(false) {} /** * Destructor. diff -Nru kid3-2.0.1/src/core/config/serverimporterconfig.h kid3-2.1/src/core/config/serverimporterconfig.h --- kid3-2.0.1/src/core/config/serverimporterconfig.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/serverimporterconfig.h 2012-05-11 05:46:04.000000000 +0000 @@ -29,11 +29,12 @@ #include "generalconfig.h" #include +#include "kid3api.h" /** * Freedb configuration. */ -class ServerImporterConfig : public GeneralConfig { +class KID3_CORE_EXPORT ServerImporterConfig : public GeneralConfig { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/config/shortcutsmodel.cpp kid3-2.1/src/core/config/shortcutsmodel.cpp --- kid3-2.0.1/src/core/config/shortcutsmodel.cpp 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/core/config/shortcutsmodel.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,403 @@ +/** + * \file shortcutsmodel.cpp + * Keyboard shortcuts configuration tree model. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 29 Dec 2011 + * + * Copyright (C) 2011 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#include "shortcutsmodel.h" + +#ifndef CONFIG_USE_KDE + +#include +#include +#include "qtcompatmac.h" + +/** + * Constructor. + * @param parent parent widget + */ +ShortcutsModel::ShortcutsModel(QObject* parent) : QAbstractItemModel(parent) +{ + setObjectName("ShortcutsModel"); +} + +/** + * Destructor. + */ +ShortcutsModel::~ShortcutsModel() +{ +} + +/** + * Get item flags for index. + * @param index model index + * @return item flags + */ +Qt::ItemFlags ShortcutsModel::flags(const QModelIndex& index) const +{ + Qt::ItemFlags itemFlags = QAbstractItemModel::flags(index); + if (index.isValid() && index.column() == ShortcutColumn) { + itemFlags |= Qt::ItemIsEditable; + } + return itemFlags; +} + +/** + * Get group if a model index is a valid index for a group item. + * @param index index to check + * @return group if index is for a group item else 0 + */ +const ShortcutsModel::ShortcutGroup* ShortcutsModel::shortcutGroupForIndex( + const QModelIndex& index) const +{ + if (index.column() == 0 && + index.row() >= 0 && index.row() < m_shortcutGroups.size() && + index.internalId() == -1) { + return &m_shortcutGroups.at(index.row()); + } + return 0; +} + +/** + * Get data for a given role. + * @param index model index + * @param role item data role + * @return data for role + */ +QVariant ShortcutsModel::data(const QModelIndex& index, int role) const +{ + if (index.isValid()) { + QModelIndex parentIndex = index.parent(); + if (parentIndex.isValid()) { + if (const ShortcutGroup* group = shortcutGroupForIndex(parentIndex)) { + if (index.row() >= 0 && index.row() < group->size()) { + const ShortcutItem& shortcutItem = group->at(index.row()); + if (index.column() == ActionColumn) { + if (role == Qt::DisplayRole) { + return shortcutItem.actionText(); + } else if (role == Qt::FontRole) { + if (shortcutItem.isCustomShortcutActive()) { + QFont font; + font.setBold(true); + return font; + } + } + } else if (index.column() == ShortcutColumn && + (role == Qt::DisplayRole || role == Qt::EditRole)) { + return shortcutItem.activeShortcut(); + } + } + } + } else { + if (const ShortcutGroup* group = shortcutGroupForIndex(index)) { + if (role == Qt::DisplayRole) { + return group->context(); + } + } + } + } + return QVariant(); +} + +/** + * Set data for a given role. + * @param index model index + * @param value data value + * @param role item data role + * @return true if successful + */ +bool ShortcutsModel::setData(const QModelIndex& index, const QVariant& value, + int role) +{ + if (index.isValid() && index.column() == ShortcutColumn && role == Qt::EditRole) { + QModelIndex parentIndex = index.parent(); + if (parentIndex.isValid()) { + if (ShortcutGroup* group = + const_cast(shortcutGroupForIndex(parentIndex))) { + if (index.row() >= 0 && index.row() < group->size()) { + ShortcutItem si((*group)[index.row()]); + si.setCustomShortcut(value.toString()); + QString keyString(si.activeShortcut()); + if (!keyString.isEmpty()) { + foreach (const ShortcutGroup& g, m_shortcutGroups) { + foreach (const ShortcutItem& i, g) { + if (i.activeShortcut() == keyString && + si.action() != i.action()) { + emit shortcutAlreadyUsed(keyString, g.context(), i.action()); + return false; + } + } + } + } + (*group)[index.row()].setCustomShortcut(value.toString()); + emit dataChanged(index.sibling(index.row(), ActionColumn), index); + emit shortcutSet(keyString, group->context(), si.action()); + return true; + } + } + } + } + return false; +} + +/** + * Get data for header section. + * @param section column or row + * @param orientation horizontal or vertical + * @param role item data role + * @return header data for role + */ +QVariant ShortcutsModel::headerData(int section, Qt::Orientation orientation, + int role) const +{ + if (role != Qt::DisplayRole) + return QVariant(); + if (orientation == Qt::Horizontal) { + if (section == ActionColumn) { + return i18n("Action"); + } else if (section == ShortcutColumn) { + return i18n("Shortcut"); + } + } + return section + 1; +} + +/** + * Get number of rows. + * @param parent parent model index + * @return number of rows, if parent is valid number of children + */ +int ShortcutsModel::rowCount(const QModelIndex& parent) const +{ + if (parent.isValid()) { + if (const ShortcutGroup* group = shortcutGroupForIndex(parent)) { + return group->size(); + } + return 0; + } else { + return m_shortcutGroups.size(); + } +} + +/** + * Get number of columns. + * @param parent parent model index + * @return number of columns for children of given @a parent + */ +int ShortcutsModel::columnCount(const QModelIndex& parent) const +{ + return NumColumns; +} + +/** + * Get model index of item. + * @param row row of item + * @param column column of item + * @param parent index of parent item + * @return model index of item + */ +QModelIndex ShortcutsModel::index(int row, int column, + const QModelIndex& parent) const +{ + if (parent.isValid()) { + const ShortcutGroup* group; + if ((group = shortcutGroupForIndex(parent)) != 0 && + column >= 0 && column < NumColumns && + row >= 0 && row <= group->size()) { + return createIndex(row, column, parent.row()); + } + } else { + if (column == 0 && + row >= 0 && row < m_shortcutGroups.size()) { + return createIndex(row, column, -1); + } + } + return QModelIndex(); +} + +/** + * Get parent of item. + * @param index model index of item + * @return model index of parent item + */ +QModelIndex ShortcutsModel::parent(const QModelIndex& index) const +{ + int id = index.internalId(); + if (id >= 0 && id < m_shortcutGroups.size()) { + return createIndex(id, 0, -1); + } + return QModelIndex(); +} + +/** + * Register an action. + * + * @param action action to be added to model + * @param context context of action + */ +void ShortcutsModel::registerAction(QAction* action, const QString& context) +{ + ShortcutItem item(action); + ShortcutGroup group(context); + + QList::iterator it; + for (it = m_shortcutGroups.begin(); it != m_shortcutGroups.end(); ++it) { + if (it->context() == group.context()) { + it->append(item); + break; + } + } + if (it == m_shortcutGroups.end()) { + group.append(item); + m_shortcutGroups.append(group); + } +} + +/** + * Assign the shortcuts which have been changed to their actions. + * + * @return true if there was at least one shortcut changed + */ +bool ShortcutsModel::assignChangedShortcuts() +{ + bool changed = false; + for (QList::iterator git = m_shortcutGroups.begin(); + git != m_shortcutGroups.end(); + ++git) { + for (ShortcutGroup::iterator iit = git->begin(); + iit != git->end(); + ++iit) { + if (iit->isCustomShortcutChanged()) { + iit->assignCustomShortcut(); + changed = true; + } + } + } + return changed; +} + +/** + * Forget about all changed shortcuts. + */ +void ShortcutsModel::discardChangedShortcuts() +{ + for (QList::iterator git = m_shortcutGroups.begin(); + git != m_shortcutGroups.end(); + ++git) { + for (ShortcutGroup::iterator iit = git->begin(); + iit != git->end(); + ++iit) { + iit->revertCustomShortcut(); + } + } +} + +/** + * Save the shortcuts to a given configuration. + * + * @param config configuration settings + */ +void ShortcutsModel::writeToConfig(QSettings* config) const +{ + config->beginGroup("/Shortcuts"); + config->remove(""); + for (QList::const_iterator git = m_shortcutGroups.constBegin(); + git != m_shortcutGroups.constEnd(); + ++git) { + for (ShortcutGroup::const_iterator iit = git->constBegin(); + iit != git->constEnd(); + ++iit) { + QString actionName(iit->action() ? iit->action()->objectName() : ""); + if (!actionName.isEmpty()) { + if (!iit->customShortcut().isEmpty()) { + config->setValue(actionName, iit->customShortcut()); + } + } else { + qWarning("Action %s does not have an object name", + qPrintable(iit->actionText())); + } + } + } + config->endGroup(); +} + +/** + * Read the shortcuts from a given configuration. + * + * @param config configuration settings + */ +void ShortcutsModel::readFromConfig(QSettings* config) +{ + config->beginGroup("/Shortcuts"); + for (QList::iterator git = m_shortcutGroups.begin(); + git != m_shortcutGroups.end(); + ++git) { + for (ShortcutGroup::iterator iit = git->begin(); + iit != git->end(); + ++iit) { + QString actionName(iit->action() ? iit->action()->objectName() : ""); + if (!actionName.isEmpty() && config->contains(actionName)) { + QString keyStr(config->value(actionName).toString()); + iit->setCustomShortcut(keyStr); + iit->assignCustomShortcut(); + } + } + } + config->endGroup(); +} + + +ShortcutsModel::ShortcutItem::ShortcutItem(QAction* act) : + m_action(act), m_defaultShortcut(m_action->shortcut().toString()) +{ +} + +void ShortcutsModel::ShortcutItem::setCustomShortcut(const QString& shortcut) +{ + m_customShortcut = shortcut != m_defaultShortcut ? shortcut : QString(); +} + +void ShortcutsModel::ShortcutItem::revertCustomShortcut() +{ + m_customShortcut = m_oldCustomShortcut; +} + +void ShortcutsModel::ShortcutItem::assignCustomShortcut() +{ + m_action->setShortcut(QKeySequence(activeShortcut())); + m_oldCustomShortcut = m_customShortcut; +} + +QString ShortcutsModel::ShortcutItem::actionText() const +{ + return m_action ? m_action->text().remove('&') : ""; +} + + +ShortcutsModel::ShortcutGroup::ShortcutGroup(const QString& ctx) : + m_context(ctx) +{ + m_context.remove('&'); +} + +#endif // !CONFIG_USE_KDE diff -Nru kid3-2.0.1/src/core/config/shortcutsmodel.h kid3-2.1/src/core/config/shortcutsmodel.h --- kid3-2.0.1/src/core/config/shortcutsmodel.h 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/core/config/shortcutsmodel.h 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,245 @@ +/** + * \file shortcutsmodel.h + * Keyboard shortcuts configuration tree model. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 29 Dec 2011 + * + * Copyright (C) 2011 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#ifndef SHORTCUTSMODEL_H +#define SHORTCUTSMODEL_H + +#include +#include +#include "config.h" +#include "kid3api.h" + +class QAction; +class QSettings; + +/** + * Keyboard shortcuts configuration tree model. + * + * The model is hierarchical with two levels: The keyboard shortcuts have + * columns with the text of the action and the key sequences and have context + * parent items, which describe the menu or section in the GUI where the + * action can be found. The model can be used in a QTreeView, to edit the + * @ref ShortcutColumn, a ShortcutsDelegate can be used. + */ +class KID3_CORE_EXPORT ShortcutsModel : public QAbstractItemModel { + Q_OBJECT +#ifndef CONFIG_USE_KDE +public: + /** + * Columns in model. + */ + enum Columns { + ActionColumn, /**< Action text */ + ShortcutColumn, /**< Shortcut key sequence */ + NumColumns /**< Number of columns */ + }; + + /** + * Constructor. + * @param parent parent widget + */ + explicit ShortcutsModel(QObject* parent = 0); + + /** + * Destructor. + */ + virtual ~ShortcutsModel(); + + /** + * Get item flags for index. + * @param index model index + * @return item flags + */ + virtual Qt::ItemFlags flags(const QModelIndex& index) const; + + /** + * Get data for a given role. + * @param index model index + * @param role item data role + * @return data for role + */ + virtual QVariant data(const QModelIndex& index, + int role = Qt::DisplayRole) const; + + /** + * Set data for a given role. + * @param index model index + * @param value data value + * @param role item data role + * @return true if successful + */ + virtual bool setData(const QModelIndex& index, const QVariant& value, + int role = Qt::EditRole); + + /** + * Get data for header section. + * @param section column or row + * @param orientation horizontal or vertical + * @param role item data role + * @return header data for role + */ + virtual QVariant headerData(int section, Qt::Orientation orientation, + int role = Qt::DisplayRole) const; + + /** + * Get number of rows. + * @param parent parent model index + * @return number of rows, if parent is valid number of children + */ + virtual int rowCount(const QModelIndex& parent=QModelIndex()) const; + + /** + * Get number of columns. + * @param parent parent model index + * @return number of columns for children of given \a parent + */ + virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; + + /** + * Get model index of item. + * @param row row of item + * @param column column of item + * @param parent index of parent item + * @return model index of item + */ + virtual QModelIndex index(int row, int column, + const QModelIndex& parent = QModelIndex()) const; + + /** + * Get parent of item. + * @param index model index of item + * @return model index of parent item + */ + virtual QModelIndex parent(const QModelIndex& index) const; + + /** + * Register an action. + * + * @param action action to be added to model + * @param context context of action + */ + void registerAction(QAction* action, const QString& context); + + /** + * Assign the shortcuts which have been changed to their actions. + * + * @return true if there was at least one shortcut changed + */ + bool assignChangedShortcuts(); + + /** + * Save the shortcuts to a given configuration. + * + * @param config configuration settings + */ + void writeToConfig(QSettings* config) const; + + /** + * Read the shortcuts from a given configuration. + * + * @param config configuration settings + */ + void readFromConfig(QSettings* config); + +public slots: + /** + * Forget about all changed shortcuts. + */ + void discardChangedShortcuts(); + +signals: + /** + * Emitted if a keyboard shortcut is already used. + * @param key string representation of key sequence + * @param context context of action + * @param action action using @a key + */ + void shortcutAlreadyUsed(const QString& key, const QString& context, + const QAction* action); + + /** + * Emitted if a keyboard shortcut is set. + * Can be used to clear a previously displayed "already used" warning. + * @param key string representation of key sequence + * @param context context of action + * @param action action using @a key + */ + void shortcutSet(const QString& key, const QString& context, + const QAction* action); + +private: + class ShortcutItem { + public: + ShortcutItem(QAction* act); + + QAction* action() { return m_action; } + const QAction* action() const { return m_action; } + + QString customShortcut() const { return m_customShortcut; } + void setCustomShortcut(const QString& shortcut); + + void revertCustomShortcut(); + + void assignCustomShortcut(); + + bool isCustomShortcutChanged() const { + return m_customShortcut != m_oldCustomShortcut; + } + + QString activeShortcut() const { + return m_customShortcut.isNull() ? m_defaultShortcut : m_customShortcut; + } + + bool isCustomShortcutActive() const { + return !m_customShortcut.isNull(); + } + + QString actionText() const; + + private: + QAction* m_action; + QString m_defaultShortcut; + QString m_customShortcut; + QString m_oldCustomShortcut; + }; + + class ShortcutGroup : public QList { + public: + ShortcutGroup(const QString& ctx); + + QString context() const { return m_context; } + + private: + QString m_context; + }; + + const ShortcutGroup* shortcutGroupForIndex(const QModelIndex& index) const; + + QList m_shortcutGroups; +#endif // !CONFIG_USE_KDE +}; + +#endif // SHORTCUTSMODEL_H diff -Nru kid3-2.0.1/src/core/config/Sources.cmake kid3-2.1/src/core/config/Sources.cmake --- kid3-2.0.1/src/core/config/Sources.cmake 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/config/Sources.cmake 2012-05-11 05:46:04.000000000 +0000 @@ -11,6 +11,9 @@ config/musicbrainzconfig.cpp config/playlistconfig.cpp config/serverimporterconfig.cpp + config/shortcutsmodel.cpp ) -set(config_MOC_HDRS) +set(config_MOC_HDRS + config/shortcutsmodel.h +) diff -Nru kid3-2.0.1/src/core/export/playlistcreator.h kid3-2.1/src/core/export/playlistcreator.h --- kid3-2.0.1/src/core/export/playlistcreator.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/export/playlistcreator.h 2012-05-11 05:46:04.000000000 +0000 @@ -76,7 +76,7 @@ * Get the directory of the item. * @return directory path with trailing separator. */ - const QString& getDirName() { return m_dirName; } + QString getDirName() const { return m_dirName; } /** * Add item to playlist. diff -Nru kid3-2.0.1/src/core/export/textexporter.h kid3-2.1/src/core/export/textexporter.h --- kid3-2.0.1/src/core/export/textexporter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/export/textexporter.h 2012-05-11 05:46:04.000000000 +0000 @@ -29,11 +29,12 @@ #include #include "trackdata.h" +#include "kid3api.h" /** * Export text from tags. */ -class TextExporter : public QObject { +class KID3_CORE_EXPORT TextExporter : public QObject { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/formats/flacfile.cpp kid3-2.1/src/core/formats/flacfile.cpp --- kid3-2.0.1/src/core/formats/flacfile.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/formats/flacfile.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 04 Oct 2005 * - * Copyright (C) 2005-2011 Urs Fleisch + * Copyright (C) 2005-2012 Urs Fleisch * * This file is part of Kid3. * @@ -142,68 +142,65 @@ } if (m_chain && m_chain->is_valid()) { if (m_chain->read(fnIn)) { - FLAC::Metadata::Iterator* mdit = new FLAC::Metadata::Iterator; - if (mdit) { - mdit->init(*m_chain); - while (mdit->is_valid()) { - ::FLAC__MetadataType mdt = mdit->get_block_type(); - if (mdt == FLAC__METADATA_TYPE_STREAMINFO) { - FLAC::Metadata::Prototype* proto = mdit->get_block(); - if (proto) { - FLAC::Metadata::StreamInfo* si = - dynamic_cast(proto); - m_fileInfo.read(si); - delete proto; - } - } else if (mdt == FLAC__METADATA_TYPE_VORBIS_COMMENT) { - FLAC::Metadata::Prototype* proto = mdit->get_block(); - if (proto) { - FLAC::Metadata::VorbisComment* vc = - dynamic_cast(proto); - if (vc && vc->is_valid()) { - unsigned numComments = vc->get_num_comments(); - for (unsigned i = 0; i < numComments; ++i) { - FLAC::Metadata::VorbisComment::Entry entry = - vc->get_comment(i); - if (entry.is_valid()) { - QString name = - QString::fromUtf8(entry.get_field_name(), - entry.get_field_name_length()). - trimmed().toUpper(); - QString value = - QString::fromUtf8(entry.get_field_value(), - entry.get_field_value_length()). - trimmed(); - if (!value.isEmpty()) { - m_comments.push_back( - CommentField(name, value)); - } + FLAC::Metadata::Iterator mdit; + mdit.init(*m_chain); + while (mdit.is_valid()) { + ::FLAC__MetadataType mdt = mdit.get_block_type(); + if (mdt == FLAC__METADATA_TYPE_STREAMINFO) { + FLAC::Metadata::Prototype* proto = mdit.get_block(); + if (proto) { + FLAC::Metadata::StreamInfo* si = + dynamic_cast(proto); + m_fileInfo.read(si); + delete proto; + } + } else if (mdt == FLAC__METADATA_TYPE_VORBIS_COMMENT) { + FLAC::Metadata::Prototype* proto = mdit.get_block(); + if (proto) { + FLAC::Metadata::VorbisComment* vc = + dynamic_cast(proto); + if (vc && vc->is_valid()) { + unsigned numComments = vc->get_num_comments(); + for (unsigned i = 0; i < numComments; ++i) { + FLAC::Metadata::VorbisComment::Entry entry = + vc->get_comment(i); + if (entry.is_valid()) { + QString name = + QString::fromUtf8(entry.get_field_name(), + entry.get_field_name_length()). + trimmed().toUpper(); + QString value = + QString::fromUtf8(entry.get_field_value(), + entry.get_field_value_length()). + trimmed(); + if (!value.isEmpty()) { + m_comments.push_back( + CommentField(name, value)); } } } - delete proto; } + delete proto; } + } #ifdef HAVE_FLAC_PICTURE - else if (mdt == FLAC__METADATA_TYPE_PICTURE) { - FLAC::Metadata::Prototype* proto = mdit->get_block(); - if (proto) { - FLAC::Metadata::Picture* pic = - dynamic_cast(proto); - if (pic) { - Frame frame(Frame::FT_Picture, "", "", pictureNr++); - getPicture(frame, pic); - m_pictures.push_back(frame); - } - delete proto; + else if (mdt == FLAC__METADATA_TYPE_PICTURE) { + FLAC::Metadata::Prototype* proto = mdit.get_block(); + if (proto) { + FLAC::Metadata::Picture* pic = + dynamic_cast(proto); + if (pic) { + Frame frame(Frame::FT_Picture, "", "", pictureNr++); + getPicture(frame, pic); + m_pictures.push_back(frame); } + delete proto; } + } #endif - if (!mdit->next()) { - break; - } + if (!mdit.next()) { + break; } - delete mdit; } } } @@ -240,97 +237,85 @@ PictureList::iterator pictureIt = m_pictures.begin(); #endif m_chain->sort_padding(); - FLAC::Metadata::Iterator* mdit = new FLAC::Metadata::Iterator; - if (mdit) { - mdit->init(*m_chain); - while (mdit->is_valid()) { - ::FLAC__MetadataType mdt = mdit->get_block_type(); - if (mdt == FLAC__METADATA_TYPE_VORBIS_COMMENT) { - if (commentsSet) { - mdit->delete_block(true); - } else { - FLAC::Metadata::Prototype* proto = mdit->get_block(); - if (proto) { - FLAC::Metadata::VorbisComment* vc = - dynamic_cast(proto); - if (vc && vc->is_valid()) { - setVorbisComment(vc); - commentsSet = true; - } - delete proto; + FLAC::Metadata::Iterator mdit; + mdit.init(*m_chain); + while (mdit.is_valid()) { + ::FLAC__MetadataType mdt = mdit.get_block_type(); + if (mdt == FLAC__METADATA_TYPE_VORBIS_COMMENT) { + if (commentsSet) { + mdit.delete_block(true); + } else { + FLAC::Metadata::Prototype* proto = mdit.get_block(); + if (proto) { + FLAC::Metadata::VorbisComment* vc = + dynamic_cast(proto); + if (vc && vc->is_valid()) { + setVorbisComment(vc); + commentsSet = true; } + delete proto; } } + } #ifdef HAVE_FLAC_PICTURE - else if (mdt == FLAC__METADATA_TYPE_PICTURE) { - if (pictureIt != m_pictures.end()) { - FLAC::Metadata::Prototype* proto = mdit->get_block(); - if (proto) { - FLAC::Metadata::Picture* pic = - dynamic_cast(proto); - if (pic) { - setPicture(*pictureIt++, pic); - pictureSet = true; - } - delete proto; - } - } else { - mdit->delete_block(false); - pictureRemoved = true; - } - } else if (mdt == FLAC__METADATA_TYPE_PADDING) { - if (pictureIt != m_pictures.end()) { + else if (mdt == FLAC__METADATA_TYPE_PICTURE) { + if (pictureIt != m_pictures.end()) { + FLAC::Metadata::Prototype* proto = mdit.get_block(); + if (proto) { FLAC::Metadata::Picture* pic = - new FLAC::Metadata::Picture; + dynamic_cast(proto); if (pic) { - setPicture(*pictureIt, pic); - if (mdit->set_block(pic)) { - ++pictureIt; - pictureSet = true; - } else { - delete pic; - } + setPicture(*pictureIt++, pic); + pictureSet = true; } - } else if (pictureRemoved) { - mdit->delete_block(false); + delete proto; } + } else { + mdit.delete_block(false); + pictureRemoved = true; } + } else if (mdt == FLAC__METADATA_TYPE_PADDING) { + if (pictureIt != m_pictures.end()) { + FLAC::Metadata::Picture* pic = new FLAC::Metadata::Picture; + setPicture(*pictureIt, pic); + if (mdit.set_block(pic)) { + ++pictureIt; + pictureSet = true; + } else { + delete pic; + } + } else if (pictureRemoved) { + mdit.delete_block(false); + } + } #endif - if (!mdit->next()) { - if (!commentsSet) { - FLAC::Metadata::VorbisComment* vc = - new FLAC::Metadata::VorbisComment; - if (vc) { - if (vc->is_valid()) { - setVorbisComment(vc); - if (mdit->insert_block_after(vc)) { - commentsSet = true; - } - } - if (!commentsSet) { - delete vc; - } + if (!mdit.next()) { + if (!commentsSet) { + FLAC::Metadata::VorbisComment* vc = new FLAC::Metadata::VorbisComment; + if (vc->is_valid()) { + setVorbisComment(vc); + if (mdit.insert_block_after(vc)) { + commentsSet = true; } } + if (!commentsSet) { + delete vc; + } + } #ifdef HAVE_FLAC_PICTURE - while (pictureIt != m_pictures.end()) { - FLAC::Metadata::Picture* pic = - new FLAC::Metadata::Picture; - if (pic) { - setPicture(*pictureIt, pic); - if (mdit->insert_block_after(pic)) { - pictureSet = true; - } else { - delete pic; - } - } - ++pictureIt; + while (pictureIt != m_pictures.end()) { + FLAC::Metadata::Picture* pic = new FLAC::Metadata::Picture; + setPicture(*pictureIt, pic); + if (mdit.insert_block_after(pic)) { + pictureSet = true; + } else { + delete pic; } -#endif - break; + ++pictureIt; } +#endif + break; } - delete mdit; } #ifdef HAVE_FLAC_PICTURE if ((commentsSet || pictureSet) && diff -Nru kid3-2.0.1/src/core/formats/m4afile.cpp kid3-2.1/src/core/formats/m4afile.cpp --- kid3-2.0.1/src/core/formats/m4afile.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/formats/m4afile.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -57,6 +57,13 @@ #define MPEG4IP_MAJOR_MINOR_VERSION 0x0009 #endif +#if MPEG4IP_MAJOR_MINOR_VERSION < 0x0200 +#define MP4TagsSetContentID MP4TagsSetCNID +#define MP4TagsSetArtistID MP4TagsSetATID +#define MP4TagsSetPlaylistID MP4TagsSetPLID +#define MP4TagsSetGenreID MP4TagsSetGEID +#endif + /** * Constructor. * @@ -240,7 +247,9 @@ return Frame::FT_UnknownFrame; } -#ifndef HAVE_MP4V2_MP4GETMETADATABYINDEX_CHARPP_ARG +#if MPEG4IP_MAJOR_MINOR_VERSION >= 0x0109 +#elif defined HAVE_MP4V2_MP4GETMETADATABYINDEX_CHARPP_ARG +#else /** * Check if a name is a free form field. * @@ -649,7 +658,7 @@ MP4TagsSetCompilation(tags, &cpl); } else if (name == "covr") { MP4TagArtwork artwork; - artwork.data = value.data(); + artwork.data = (void *)value.data(); artwork.size = value.size(); artwork.type = MP4_ART_UNDEFINED; MP4TagsAddArtwork(tags, &artwork); @@ -722,16 +731,16 @@ MP4TagsSetITunesCountry(tags, &val); } else if (name == "cnID") { uint32_t val = str.toULong(); - MP4TagsSetCNID(tags, &val); + MP4TagsSetContentID(tags, &val); } else if (name == "atID") { uint32_t val = str.toULong(); - MP4TagsSetATID(tags, &val); + MP4TagsSetArtistID(tags, &val); } else if (name == "plID") { uint64_t val = str.toULongLong(); - MP4TagsSetPLID(tags, &val); + MP4TagsSetPlaylistID(tags, &val); } else if (name == "geID") { uint32_t val = str.toULong(); - MP4TagsSetGEID(tags, &val); + MP4TagsSetGenreID(tags, &val); } else { MP4ItmfItem* item = MP4ItmfItemAlloc("----", 1); item->mean = strdup("com.apple.iTunes"); diff -Nru kid3-2.0.1/src/core/formats/mp3file.cpp kid3-2.1/src/core/formats/mp3file.cpp --- kid3-2.0.1/src/core/formats/mp3file.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/formats/mp3file.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 9 Jan 2003 * - * Copyright (C) 2003-2011 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -106,10 +106,8 @@ } if (!m_tagV1) { m_tagV1 = new ID3_Tag; - if (m_tagV1) { - m_tagV1->Link(fn, ID3TT_ID3V1); - markTag1Unchanged(); - } + m_tagV1->Link(fn, ID3TT_ID3V1); + markTag1Unchanged(); } if (force && m_tagV2) { @@ -119,10 +117,8 @@ } if (!m_tagV2) { m_tagV2 = new ID3_Tag; - if (m_tagV2) { - m_tagV2->Link(fn, ID3TT_ID3V2); - markTag2Unchanged(); - } + m_tagV2->Link(fn, ID3TT_ID3V2); + markTag2Unchanged(); } if (force) { @@ -245,28 +241,25 @@ QString text; if (numChars > 0 && str && *str) { QChar* qcarray = new QChar[numChars]; - if (qcarray) { - // Unfortunately, Unicode support in id3lib is rather buggy - // in the current version: The codes are mirrored. - // In the hope that my patches will be included, I try here - // to work around these bugs. - size_t i; - size_t numZeroes = 0; - for (i = 0; i < numChars; i++) { - qcarray[i] = - UNICODE_SUPPORT_BUGGY ? - (ushort)(((str[i] & 0x00ff) << 8) | - ((str[i] & 0xff00) >> 8)) : - (ushort)str[i]; - if (qcarray[i].isNull()) { ++numZeroes; } - } - // remove a single trailing zero character - if (numZeroes == 1 && qcarray[numChars - 1].isNull()) { - --numChars; - } - text = QString(qcarray, numChars); - delete [] qcarray; + // Unfortunately, Unicode support in id3lib is rather buggy + // in the current version: The codes are mirrored. + // In the hope that my patches will be included, I try here + // to work around these bugs. + size_t numZeroes = 0; + for (size_t i = 0; i < numChars; i++) { + qcarray[i] = + UNICODE_SUPPORT_BUGGY ? + (ushort)(((str[i] & 0x00ff) << 8) | + ((str[i] & 0xff00) >> 8)) : + (ushort)str[i]; + if (qcarray[i].isNull()) { ++numZeroes; } + } + // remove a single trailing zero character + if (numZeroes == 1 && qcarray[numChars - 1].isNull()) { + --numChars; } + text = QString(qcarray, numChars); + delete [] qcarray; } return text; } @@ -436,17 +429,14 @@ const QChar* qcarray = text.unicode(); uint unicode_size = text.length(); unicode_t* unicode = new unicode_t[unicode_size + 1]; - if (unicode) { - uint i; - for (i = 0; i < unicode_size; i++) { - unicode[i] = (ushort)qcarray[i].unicode(); - if (UNICODE_SUPPORT_BUGGY) { - unicode[i] = (ushort)(((unicode[i] & 0x00ff) << 8) | - ((unicode[i] & 0xff00) >> 8)); - } + for (uint i = 0; i < unicode_size; i++) { + unicode[i] = (ushort)qcarray[i].unicode(); + if (UNICODE_SUPPORT_BUGGY) { + unicode[i] = (ushort)(((unicode[i] & 0x00ff) << 8) | + ((unicode[i] & 0xff00) >> 8)); } - unicode[unicode_size] = 0; } + unicode[unicode_size] = 0; return unicode; } @@ -1711,48 +1701,46 @@ } if (id != ID3FID_NOFRAME && id != ID3FID_SETSUBTITLE && m_tagV2) { ID3_Frame* id3Frame = new ID3_Frame(id); - if (id3Frame) { - ID3_Field* fld = id3Frame->GetField(ID3FN_TEXT); - if (fld) { - ID3_TextEnc enc = getDefaultTextEncoding(); - ID3_Field* encfld = id3Frame->GetField(ID3FN_TEXTENC); - if (encfld) { - encfld->Set(enc); - } - fld->SetEncoding(enc); + ID3_Field* fld = id3Frame->GetField(ID3FN_TEXT); + if (fld) { + ID3_TextEnc enc = getDefaultTextEncoding(); + ID3_Field* encfld = id3Frame->GetField(ID3FN_TEXTENC); + if (encfld) { + encfld->Set(enc); } - if (id == ID3FID_USERTEXT && !frame.getName().startsWith("TXXX")) { - fld = id3Frame->GetField(ID3FN_DESCRIPTION); - if (fld) { - setString(fld, frame.getName()); - } - } else if (id == ID3FID_PICTURE) { - fld = id3Frame->GetField(ID3FN_MIMETYPE); - if (fld) { - setString(fld, "image/jpeg"); - } - fld = id3Frame->GetField(ID3FN_PICTURETYPE); - if (fld) { - fld->Set(ID3PT_COVERFRONT); - } + fld->SetEncoding(enc); + } + if (id == ID3FID_USERTEXT && !frame.getName().startsWith("TXXX")) { + fld = id3Frame->GetField(ID3FN_DESCRIPTION); + if (fld) { + setString(fld, frame.getName()); } - if (!frame.fieldList().empty()) { - setId3v2Frame(id3Frame, frame); + } else if (id == ID3FID_PICTURE) { + fld = id3Frame->GetField(ID3FN_MIMETYPE); + if (fld) { + setString(fld, "image/jpeg"); } - Frame::Type type; - const char* name; - getTypeStringForId3libFrameId(id, type, name); - m_tagV2->AttachFrame(id3Frame); - frame.setInternalName(name); - frame.setIndex(m_tagV2->NumFrames() - 1); - if (frame.fieldList().empty()) { - // add field list to frame - getFieldsFromId3Frame(id3Frame, frame.fieldList()); - frame.setFieldListFromValue(); + fld = id3Frame->GetField(ID3FN_PICTURETYPE); + if (fld) { + fld->Set(ID3PT_COVERFRONT); } - markTag2Changed(frame.getType()); - return true; } + if (!frame.fieldList().empty()) { + setId3v2Frame(id3Frame, frame); + } + Frame::Type type; + const char* name; + getTypeStringForId3libFrameId(id, type, name); + m_tagV2->AttachFrame(id3Frame); + frame.setInternalName(name); + frame.setIndex(m_tagV2->NumFrames() - 1); + if (frame.fieldList().empty()) { + // add field list to frame + getFieldsFromId3Frame(id3Frame, frame.fieldList()); + frame.setFieldListFromValue(); + } + markTag2Changed(frame.getType()); + return true; } // Try the superclass method diff -Nru kid3-2.0.1/src/core/formats/oggfile.hpp kid3-2.1/src/core/formats/oggfile.hpp --- kid3-2.0.1/src/core/formats/oggfile.hpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/formats/oggfile.hpp 2012-05-11 05:46:04.000000000 +0000 @@ -379,8 +379,6 @@ CommentList m_comments; /** true if file has been read. */ bool m_fileRead; - /** true if comments are changed. */ - bool m_changed; private: OggFile(const OggFile&); @@ -389,6 +387,10 @@ #ifdef HAVE_VORBIS /** Information about Ogg/Vorbis file. */ struct FileInfo { + /** Constructor. */ + FileInfo() : valid(false), version(0), channels(0), + sampleRate(0), bitrate(0), duration(0) {} + /** * Read information about an Ogg/Vorbis file. * @param fn file name diff -Nru kid3-2.0.1/src/core/formats/taglibfile.cpp kid3-2.1/src/core/formats/taglibfile.cpp --- kid3-2.0.1/src/core/formats/taglibfile.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/formats/taglibfile.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 12 Sep 2006 * - * Copyright (C) 2006-2007 Urs Fleisch + * Copyright (C) 2006-2012 Urs Fleisch * * This file is part of Kid3. * @@ -223,6 +223,10 @@ /** Default text encoding */ TagLib::String::Type TagLibFile::s_defaultTextEncoding = TagLib::String::Latin1; +/** List of TagLib files with open file descriptor */ +QList TagLibFile::s_openFiles; + + /** * Constructor. * @@ -232,7 +236,9 @@ */ TagLibFile::TagLibFile(const QString& dn, const QString& fn, const QPersistentModelIndex& idx) : - TaggedFile(dn, fn, idx), m_tagV1(0), m_tagV2(0), m_fileRead(false) + TaggedFile(dn, fn, idx), m_tagV1(0), m_tagV2(0), m_fileRead(false), + m_tagInformationRead(false), m_hasTagV1(false), m_hasTagV2(false), + m_tagTypeV1(TT_Unknown), m_tagTypeV2(TT_Unknown) { } @@ -241,6 +247,7 @@ */ TagLibFile::~TagLibFile() { + closeFile(true); } /** @@ -269,6 +276,7 @@ markTag1Unchanged(); markTag2Unchanged(); m_fileRead = true; + registerOpenFile(this); #if TAGLIB_VERSION >= 0x010700 m_pictures.clear(); @@ -370,12 +378,54 @@ } } + // Cache information, so that it is available after file is closed. + m_tagInformationRead = true; + m_hasTagV1 = m_tagV1 && !m_tagV1->isEmpty(); + m_hasTagV2 = m_tagV2 && !m_tagV2->isEmpty(); + m_tagFormatV1 = getTagFormat(m_tagV1, m_tagTypeV1); + m_tagFormatV2 = getTagFormat(m_tagV2, m_tagTypeV2); + if (force) { setFilename(currentFilename()); } } /** + * Close file handle. + * TagLib keeps the file handle open until the FileRef is destroyed. + * This causes problems when the operating system has a limited number of + * open file handles. This method closes the file by assigning a new file + * reference. Note that this will also invalidate the tag pointers. + * The file is only closed if there are no unsaved tag changes or if the + * @a force parameter is set. + * + * @param force true to close the file even if tags are changed + */ +void TagLibFile::closeFile(bool force) +{ + if (force || (!isTag1Changed() && !isTag2Changed())) { + m_fileRef = TagLib::FileRef(); + m_tagV1 = 0; + m_tagV2 = 0; + m_fileRead = false; + deregisterOpenFile(this); + } +} + +/** + * Make sure that file is open. + * This method should be called before accessing m_fileRef, m_tagV1, m_tagV2. + * + * @param force true to force reopening of file even if it is already open + */ +void TagLibFile::makeFileOpen(bool force) +{ + if (!m_fileRead || force) { + readTags(force); + } +} + +/** * Write tags to file and rename it if necessary. * * @param force true to force writing even if file was not changed. @@ -512,9 +562,7 @@ } // If the file was changed, make sure it is written to disk. - // This is done when the file is closed, which is only done - // in the TagLib::File destructor. To force destruction, a new - // file reference is assigned, later readTags() is called. + // This is done when the file is closed. Later the file is opened again. // If the file is not properly closed, doubled tags can be // written if the file is finally closed! // This can be reproduced with an untagged MP3 file, then add @@ -525,7 +573,7 @@ #ifndef WIN32 if (fileChanged) #endif - m_fileRef = TagLib::FileRef(); + closeFile(true); // restore time stamp if (setUtime) { @@ -543,7 +591,7 @@ #ifndef WIN32 if (fileChanged) #endif - readTags(true); + makeFileOpen(true); return true; } @@ -554,6 +602,7 @@ */ void TagLibFile::deleteFramesV1(const FrameFilter& flt) { + makeFileOpen(); if (m_tagV1) { TaggedFile::deleteFramesV1(flt); } @@ -568,6 +617,7 @@ */ QString TagLibFile::getTitleV1() { + makeFileOpen(); if (m_tagV1) { TagLib::String str = m_tagV1->title(); return str.isNull() ? QString("") : TStringToQString(str); @@ -585,6 +635,7 @@ */ QString TagLibFile::getArtistV1() { + makeFileOpen(); if (m_tagV1) { TagLib::String str = m_tagV1->artist(); return str.isNull() ? QString("") : TStringToQString(str); @@ -602,6 +653,7 @@ */ QString TagLibFile::getAlbumV1() { + makeFileOpen(); if (m_tagV1) { TagLib::String str = m_tagV1->album(); return str.isNull() ? QString("") : TStringToQString(str); @@ -619,6 +671,7 @@ */ QString TagLibFile::getCommentV1() { + makeFileOpen(); if (m_tagV1) { TagLib::String str = m_tagV1->comment(); if (str.isNull()) { @@ -642,6 +695,7 @@ */ int TagLibFile::getYearV1() { + makeFileOpen(); if (m_tagV1) { return m_tagV1->year(); } else { @@ -658,6 +712,7 @@ */ int TagLibFile::getTrackNumV1() { + makeFileOpen(); if (m_tagV1) { return m_tagV1->track(); } else { @@ -674,6 +729,7 @@ */ QString TagLibFile::getGenreV1() { + makeFileOpen(); if (m_tagV1) { TagLib::String str = m_tagV1->genre(); return str.isNull() ? QString("") : TStringToQString(str); @@ -691,6 +747,7 @@ */ QString TagLibFile::getTitleV2() { + makeFileOpen(); if (m_tagV2) { TagLib::String str = m_tagV2->title(); return str.isNull() ? QString("") : TStringToQString(str); @@ -708,6 +765,7 @@ */ QString TagLibFile::getArtistV2() { + makeFileOpen(); if (m_tagV2) { TagLib::String str = m_tagV2->artist(); return str.isNull() ? QString("") : TStringToQString(str); @@ -725,6 +783,7 @@ */ QString TagLibFile::getAlbumV2() { + makeFileOpen(); if (m_tagV2) { TagLib::String str = m_tagV2->album(); return str.isNull() ? QString("") : TStringToQString(str); @@ -742,6 +801,7 @@ */ QString TagLibFile::getCommentV2() { + makeFileOpen(); if (m_tagV2) { TagLib::String str = m_tagV2->comment(); return str.isNull() ? QString("") : TStringToQString(str); @@ -759,6 +819,7 @@ */ int TagLibFile::getYearV2() { + makeFileOpen(); if (m_tagV2) { return m_tagV2->year(); } else { @@ -775,6 +836,7 @@ */ QString TagLibFile::getTrackV2() { + makeFileOpen(); if (m_tagV2) { int nr = m_tagV2->track(); if (nr == 0) @@ -825,6 +887,7 @@ */ QString TagLibFile::getGenreV2() { + makeFileOpen(); if (m_tagV2) { return getGenreString(m_tagV2->genre()); } else { @@ -839,6 +902,7 @@ */ bool TagLibFile::makeTagV1Settable() { + makeFileOpen(); if (!m_tagV1) { TagLib::File* file; if (!m_fileRef.isNull() && (file = m_fileRef.file()) != 0) { @@ -881,6 +945,7 @@ */ bool TagLibFile::makeTagV2Settable() { + makeFileOpen(); if (!m_tagV2) { TagLib::File* file; if (!m_fileRef.isNull() && (file = m_fileRef.file()) != 0) { @@ -1137,9 +1202,6 @@ } else { frame = new TagLib::ID3v2::CommentsFrame(enc); } - if (!frame) { - return false; - } frame->setText(tstr); #ifdef WIN32 // freed in Windows DLL => must be allocated in the same DLL @@ -1278,28 +1340,25 @@ if (num != static_cast(m_tagV2->track())) { TagLib::ID3v2::Tag* id3v2Tag = dynamic_cast(m_tagV2); if (id3v2Tag) { - TagLib::ID3v2::TextIdentificationFrame* frame; TagLib::String tstr = str.isEmpty() ? TagLib::String::null : QSTRING_TO_TSTRING(str); if (!setId3v2Unicode(m_tagV2, str, tstr, "TRCK")) { - if ((frame = new TagLib::ID3v2::TextIdentificationFrame( - "TRCK", getDefaultTextEncoding())) != 0) { - frame->setText(tstr); - id3v2Tag->removeFrames("TRCK"); + TagLib::ID3v2::TextIdentificationFrame* frame = + new TagLib::ID3v2::TextIdentificationFrame( + "TRCK", getDefaultTextEncoding()); + frame->setText(tstr); + id3v2Tag->removeFrames("TRCK"); #ifdef WIN32 - // freed in Windows DLL => must be allocated in the same DLL - TagLib::ID3v2::Frame* dllAllocatedFrame = - TagLib::ID3v2::FrameFactory::instance()->createFrame(frame->render()); - if (dllAllocatedFrame) { - id3v2Tag->addFrame(dllAllocatedFrame); - } - delete frame; + // freed in Windows DLL => must be allocated in the same DLL + TagLib::ID3v2::Frame* dllAllocatedFrame = + TagLib::ID3v2::FrameFactory::instance()->createFrame(frame->render()); + if (dllAllocatedFrame) { + id3v2Tag->addFrame(dllAllocatedFrame); + } + delete frame; #else - id3v2Tag->addFrame(frame); + id3v2Tag->addFrame(frame); #endif - } else { - m_tagV2->setTrack(num); - } } } else { m_tagV2->setTrack(num); @@ -1357,7 +1416,7 @@ */ bool TagLibFile::isTagInformationRead() const { - return m_fileRead; + return m_tagInformationRead; } /** @@ -1368,7 +1427,7 @@ */ bool TagLibFile::hasTagV1() const { - return m_tagV1 && !m_tagV1->isEmpty(); + return m_hasTagV1; } /** @@ -1401,7 +1460,7 @@ */ bool TagLibFile::hasTagV2() const { - return m_tagV2 && !m_tagV2->isEmpty(); + return m_hasTagV2; } /** @@ -1590,12 +1649,13 @@ * Get the format of a tag. * * @param tag tag, 0 if no tag available + * @param type the tag type is returned here * * @return string describing format of tag, * e.g. "ID3v1.1", "ID3v2.3", "Vorbis", "APE", * QString::null if unknown. */ -static QString getTagFormat(const TagLib::Tag* tag) +QString TagLibFile::getTagFormat(const TagLib::Tag* tag, TagType& type) { if (tag && !tag->isEmpty()) { const TagLib::ID3v1::Tag* id3v1Tag; @@ -1603,8 +1663,10 @@ const TagLib::Ogg::XiphComment* oggTag; const TagLib::APE::Tag* apeTag; if ((id3v1Tag = dynamic_cast(tag)) != 0) { + type = TT_Id3v1; return "ID3v1.1"; } else if ((id3v2Tag = dynamic_cast(tag)) != 0) { + type = TT_Id3v2; TagLib::ID3v2::Header* header = id3v2Tag->header(); if (header) { uint majorVersion = header->majorVersion(); @@ -1621,21 +1683,26 @@ return "ID3v2"; } } else if ((oggTag = dynamic_cast(tag)) != 0) { + type = TT_Vorbis; return "Vorbis"; } else if ((apeTag = dynamic_cast(tag)) != 0) { + type = TT_Ape; return "APE"; #if TAGLIB_VERSION >= 0x010600 #ifdef TAGLIB_WITH_MP4 } else if (dynamic_cast(tag) != 0) { + type = TT_Mp4; return "MP4"; #endif #ifdef TAGLIB_WITH_ASF } else if (dynamic_cast(tag) != 0) { + type = TT_Asf; return "ASF"; #endif #endif } } + type = TT_Unknown; return QString::null; } @@ -1648,7 +1715,7 @@ */ QString TagLibFile::getTagFormatV1() const { - return getTagFormat(m_tagV1); + return m_tagFormatV1; } /** @@ -1660,7 +1727,7 @@ */ QString TagLibFile::getTagFormatV2() const { - return getTagFormat(m_tagV2); + return m_tagFormatV2; } @@ -1697,6 +1764,7 @@ { Frame::FT_Other, I18N_NOOP("SYTC - Synchronized tempo codes"), false }, { Frame::FT_Album, I18N_NOOP("TALB - Album/Movie/Show title"), true }, { Frame::FT_Bpm, I18N_NOOP("TBPM - BPM (beats per minute)"), true }, + { Frame::FT_Other, I18N_NOOP("TCMP - iTunes compilation flag"), true }, { Frame::FT_Composer, I18N_NOOP("TCOM - Composer"), true }, { Frame::FT_Genre, I18N_NOOP("TCON - Content type"), true }, { Frame::FT_Copyright, I18N_NOOP("TCOP - Copyright message"), true }, @@ -1734,7 +1802,9 @@ { Frame::FT_Track, I18N_NOOP("TRCK - Track number/Position in set"), true }, { Frame::FT_Other, I18N_NOOP("TRSN - Internet radio station name"), true }, { Frame::FT_Other, I18N_NOOP("TRSO - Internet radio station owner"), true }, + { Frame::FT_Other, I18N_NOOP("TSO2 - Album artist sort order"), true }, { Frame::FT_Other, I18N_NOOP("TSOA - Album sort order"), true }, + { Frame::FT_Other, I18N_NOOP("TSOC - Composer sort order"), true }, { Frame::FT_Other, I18N_NOOP("TSOP - Performer sort order"), true }, { Frame::FT_Other, I18N_NOOP("TSOT - Title sort order"), true }, { Frame::FT_Isrc, I18N_NOOP("TSRC - ISRC (international standard recording code)"), true }, @@ -3392,7 +3462,55 @@ } } -#if TAGLIB_VERSION >= 0x010602 +#if TAGLIB_VERSION >= 0x010700 +/** + * Get a picture frame from a WM/Picture. + * + * @param picture ASF picture + * @param frame the picture frame is returned here + * + * @return true if ok. + */ +static bool parseAsfPicture(const TagLib::ASF::Picture& picture, Frame& frame) +{ + if (!picture.isValid()) + return false; + + TagLib::ByteVector data = picture.picture(); + QString description(TStringToQString(picture.description())); + PictureFrame::setFields(frame, Frame::Field::TE_ISO8859_1, "JPG", + TStringToQString(picture.mimeType()), + static_cast(picture.type()), + description, + QByteArray(data.data(), data.size())); + frame.setType(Frame::FT_Picture); + return true; +} + +/** + * Render the bytes of a WM/Picture from a picture frame. + * + * @param frame picture frame + * @param picture the ASF picture is returned here + */ +static void renderAsfPicture(const Frame& frame, TagLib::ASF::Picture& picture) +{ + Frame::Field::TextEncoding enc; + PictureFrame::PictureType pictureType; + QByteArray data; + QString imgFormat, mimeType, description; + PictureFrame::getFields(frame, enc, imgFormat, mimeType, pictureType, + description, data); + + if (frame.isValueChanged()) { + description = frame.getValue(); + } + picture.setMimeType(QSTRING_TO_TSTRING(mimeType)); + picture.setType(static_cast(pictureType)); + picture.setDescription(QSTRING_TO_TSTRING(description)); + picture.setPicture(TagLib::ByteVector(data.data(), data.size())); +} +#elif TAGLIB_VERSION >= 0x010602 /** * Get a picture frame from the bytes in a WM/Picture frame. * The WM/Picture frame has the following data: @@ -3454,6 +3572,9 @@ QString imgFormat, mimeType, description; PictureFrame::getFields(frame, enc, imgFormat, mimeType, pictureType, description, picture); + if (frame.isValueChanged()) { + description = frame.getValue(); + } data.resize(5); data[0] = pictureType; @@ -3510,7 +3631,13 @@ return TagLib::ASF::Attribute(TagLib::ByteVector(ba.data(), ba.size())); } } -#if TAGLIB_VERSION >= 0x010602 +#if TAGLIB_VERSION >= 0x010700 + else { + TagLib::ASF::Picture picture; + renderAsfPicture(frame, picture); + return TagLib::ASF::Attribute(picture); + } +#elif TAGLIB_VERSION >= 0x010602 else { TagLib::ByteVector bv; renderAsfPicture(frame, bv); @@ -3531,6 +3658,7 @@ */ bool TagLibFile::setFrameV2(const Frame& frame) { + makeFileOpen(); // If the frame has an index, change that specific frame int index = frame.getIndex(); if (index != -1 && m_tagV2) { @@ -3757,22 +3885,18 @@ id3Frame = new TagLib::ID3v2::CommentsFrame(enc); } else if (frameId == "APIC") { id3Frame = new TagLib::ID3v2::AttachedPictureFrame; - if (id3Frame) { - ((TagLib::ID3v2::AttachedPictureFrame*)id3Frame)->setTextEncoding(enc); - ((TagLib::ID3v2::AttachedPictureFrame*)id3Frame)->setMimeType( - "image/jpeg"); - ((TagLib::ID3v2::AttachedPictureFrame*)id3Frame)->setType( - TagLib::ID3v2::AttachedPictureFrame::FrontCover); - } + ((TagLib::ID3v2::AttachedPictureFrame*)id3Frame)->setTextEncoding(enc); + ((TagLib::ID3v2::AttachedPictureFrame*)id3Frame)->setMimeType( + "image/jpeg"); + ((TagLib::ID3v2::AttachedPictureFrame*)id3Frame)->setType( + TagLib::ID3v2::AttachedPictureFrame::FrontCover); } else if (frameId == "UFID") { // the bytevector must not be empty id3Frame = new TagLib::ID3v2::UniqueFileIdentifierFrame( TagLib::String(), TagLib::ByteVector(" ")); } else if (frameId == "GEOB") { id3Frame = new TagLib::ID3v2::GeneralEncapsulatedObjectFrame; - if (id3Frame) { - ((TagLib::ID3v2::GeneralEncapsulatedObjectFrame*)id3Frame)->setTextEncoding(enc); - } + ((TagLib::ID3v2::GeneralEncapsulatedObjectFrame*)id3Frame)->setTextEncoding(enc); } else if (frameId.startsWith("W")) { if (frameId == "WXXX") { id3Frame = new TagLib::ID3v2::UserUrlLinkFrame(enc); @@ -3783,9 +3907,7 @@ } } else if (frameId == "USLT") { id3Frame = new TagLib::ID3v2::UnsynchronizedLyricsFrame(enc); - if (id3Frame) { - ((TagLib::ID3v2::UnsynchronizedLyricsFrame*)id3Frame)->setLanguage("eng"); - } + ((TagLib::ID3v2::UnsynchronizedLyricsFrame*)id3Frame)->setLanguage("eng"); } if (!id3Frame) { TagLib::ID3v2::UserTextIdentificationFrame* txxxFrame = @@ -3991,6 +4113,7 @@ */ bool TagLibFile::deleteFrameV2(const Frame& frame) { + makeFileOpen(); // If the frame has an index, delete that specific frame int index = frame.getIndex(); if (index != -1 && m_tagV2) { @@ -4116,6 +4239,7 @@ */ void TagLibFile::deleteFramesV2(const FrameFilter& flt) { + makeFileOpen(); if (m_tagV2) { TagLib::ID3v2::Tag* id3v2Tag; TagLib::Ogg::XiphComment* oggTag; @@ -4272,6 +4396,7 @@ */ void TagLibFile::getAllFramesV2(FrameCollection& frames) { + makeFileOpen(); frames.clear(); if (m_tagV2) { TagLib::ID3v2::Tag* id3v2Tag; @@ -4514,7 +4639,13 @@ field.m_value = ba; frame.fieldList().push_back(field); } -#if TAGLIB_VERSION >= 0x010602 +#if TAGLIB_VERSION >= 0x010700 + ++i; + if (type == Frame::FT_Picture) { + parseAsfPicture((*ait).toPicture(), frame); + } + frames.insert(frame); +#elif TAGLIB_VERSION >= 0x010602 ++i; if (type == Frame::FT_Picture) { parseAsfPicture((*ait).toByteVector(), frame); @@ -4538,23 +4669,22 @@ } /** + * Close file handle which is held open by the TagLib object. + */ +void TagLibFile::closeFileHandle() +{ + closeFile(false); +} + +/** * Get a list of frame IDs which can be added. * * @return list with frame IDs. */ QStringList TagLibFile::getFrameIds() const { - TagLib::ID3v2::Tag* id3v2Tag; -#if TAGLIB_VERSION >= 0x010600 -#ifdef TAGLIB_WITH_MP4 - TagLib::MP4::Tag* mp4Tag; -#endif -#ifdef TAGLIB_WITH_ASF - TagLib::ASF::Tag* asfTag; -#endif -#endif QStringList lst; - if ((id3v2Tag = dynamic_cast(m_tagV2)) != 0) { + if (m_tagTypeV2 == TT_Id3v2) { for (int k = Frame::FT_FirstFrame; k <= Frame::FT_LastFrame; ++k) { lst.append(QCM_translate(Frame::getNameFromType(static_cast(k)))); } @@ -4566,7 +4696,7 @@ } #if TAGLIB_VERSION >= 0x010600 #ifdef TAGLIB_WITH_MP4 - } else if ((mp4Tag = dynamic_cast(m_tagV2)) != 0) { + } else if (m_tagTypeV2 == TT_Mp4) { TagLib::String name; Mp4ValueType valueType; Frame::Type type; @@ -4589,7 +4719,7 @@ } #endif #ifdef TAGLIB_WITH_ASF - } else if ((asfTag = dynamic_cast(m_tagV2)) != 0) { + } else if (m_tagTypeV2 == TT_Asf) { TagLib::String name; TagLib::ASF::Attribute::AttributeTypes valueType; Frame::Type type; @@ -4709,6 +4839,51 @@ } /** + * Register open TagLib file, so that the number of open files can be limited. + * If the number of open files exceeds a limit, files are closed. + * + * @param tagLibFile new open file to be registered + */ +void TagLibFile::registerOpenFile(TagLibFile* tagLibFile) +{ + if (s_openFiles.contains(tagLibFile)) + return; + + int numberOfFilesToClose = s_openFiles.size() - 15; + if (numberOfFilesToClose > 5) { + QList filesToClose; + for (QList::iterator it = s_openFiles.begin(); + it != s_openFiles.end(); + ++it) { + TagLibFile* tlf = *it; + if (!tlf->isTag1Changed() && !tlf->isTag2Changed()) { + filesToClose.append(tlf); + if (--numberOfFilesToClose <= 0) { + break; + } + } + } + for (QList::iterator it = filesToClose.begin(); + it != filesToClose.end(); + ++it) { + (*it)->closeFile(false); + } + } + s_openFiles.append(tagLibFile); +} + +/** + * Deregister open TagLib file. + * + * @param tagLibFile file which is no longer open + */ +void TagLibFile::deregisterOpenFile(TagLibFile* tagLibFile) +{ + s_openFiles.removeAll(tagLibFile); +} + + +/** * Create an TagLibFile object if it supports the filename's extension. * * @param dn directory name diff -Nru kid3-2.0.1/src/core/formats/taglibfile.h kid3-2.1/src/core/formats/taglibfile.h --- kid3-2.0.1/src/core/formats/taglibfile.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/formats/taglibfile.h 2012-05-11 05:46:04.000000000 +0000 @@ -454,6 +454,11 @@ virtual void getAllFramesV2(FrameCollection& frames); /** + * Close file handle which is held open by the TagLib object. + */ + virtual void closeFileHandle(); + + /** * Get a list of frame IDs which can be added. * * @return list with frame IDs. @@ -487,6 +492,20 @@ static TagLib::String::Type getDefaultTextEncoding() { return s_defaultTextEncoding; } private: + /** Tag type for cached information. */ + enum TagType { + TT_Unknown, + TT_Id3v1, + TT_Id3v2, + TT_Vorbis, + TT_Ape, + TT_Mp4, + TT_Asf + }; + + TagLibFile(const TagLibFile&); + TagLibFile& operator=(const TagLibFile&); + /** * Modify an ID3v2 frame. * @@ -496,8 +515,26 @@ void setId3v2Frame( TagLib::ID3v2::Frame* id3Frame, const Frame& frame) const; - TagLibFile(const TagLibFile&); - TagLibFile& operator=(const TagLibFile&); + /** + * Close file handle. + * TagLib keeps the file handle open until the FileRef is destroyed. + * This causes problems when the operating system has a limited number of + * open file handles. This method closes the file by assigning a new file + * reference. Note that this will also invalidate the tag pointers. + * The file is only closed if there are no unsaved tag changes or if the + * @a force parameter is set. + * + * @param force true to close the file even if tags are changed + */ + void closeFile(bool force = false); + + /** + * Make sure that file is open. + * This method should be called before accessing m_fileRef, m_tagV1, m_tagV2. + * + * @param force true to force reopening of file even if it is already open + */ + void makeFileOpen(bool force = false); /** * Create m_tagV1 if it does not already exist so that it can be set. @@ -513,11 +550,47 @@ */ bool makeTagV2Settable(); + /** + * Get the format of a tag. + * + * @param tag tag, 0 if no tag available + * @param type the tag type is returned here + * + * @return string describing format of tag, + * e.g. "ID3v1.1", "ID3v2.3", "Vorbis", "APE", + * QString::null if unknown. + */ + static QString getTagFormat(const TagLib::Tag* tag, TagType& type); + + /** + * Register open TagLib file, so that the number of open files can be limited. + * If the number of open files exceeds a limit, files are closed. + * + * @param tagLibFile new open file to be registered + */ + static void registerOpenFile(TagLibFile* tagLibFile); + + /** + * Deregister open TagLib file. + * + * @param tagLibFile file which is no longer open + */ + static void deregisterOpenFile(TagLibFile* tagLibFile); + TagLib::FileRef m_fileRef; /**< file reference */ TagLib::Tag* m_tagV1; /**< ID3v1 tags */ TagLib::Tag* m_tagV2; /**< ID3v2 tags */ bool m_fileRead; /**< true if file has been read */ + /* Cached information updated in readTags() */ + bool m_tagInformationRead; + bool m_hasTagV1; + bool m_hasTagV2; + TagType m_tagTypeV1; + TagType m_tagTypeV2; + QString m_tagFormatV1; + QString m_tagFormatV2; + #if TAGLIB_VERSION >= 0x010700 class Pictures : public QList { public: @@ -534,6 +607,9 @@ /** default text encoding */ static TagLib::String::Type s_defaultTextEncoding; + + /** list of TagLib files with open file descriptor */ + static QList s_openFiles; }; #endif // HAVE_TAGLIB diff -Nru kid3-2.0.1/src/core/import/amazonimporter.cpp kid3-2.1/src/core/import/amazonimporter.cpp --- kid3-2.0.1/src/core/import/amazonimporter.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/amazonimporter.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -34,13 +34,13 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ AmazonImporter::AmazonImporter( - QObject* parent, + QNetworkAccessManager* netMgr, TrackDataModel* trackDataModel) - : ServerImporter(parent, trackDataModel) + : ServerImporter(netMgr, trackDataModel) { setObjectName("AmazonImporter"); } @@ -89,18 +89,14 @@ */ void AmazonImporter::parseFindResults(const QByteArray& searchStr) { - /* products have the following format (depending on browser): - - - or: -
The Avenger by Amon Amarth (Audio CD - 2009) - Original recording reissued
+ /* products have the following format: +The Avenger + by Amon Amarth and Amon Amarth */ QString str = QString::fromLatin1(searchStr); QRegExp catIdTitleArtistRe( - "" - "([^<]+)<.*>\\s*by\\s*(?:<[^>]+>)?([^<]+)<"); + "" + "([^<]+)<.*>\\s*by\\s*(?:<[^>]+>)?([^<]+)<"); QStringList lines = str.remove('\r').split(QRegExp("\\n{2,}")); m_albumListModel->clear(); for (QStringList::const_iterator it = lines.begin(); it != lines.end(); ++it) { diff -Nru kid3-2.0.1/src/core/import/amazonimporter.h kid3-2.1/src/core/import/amazonimporter.h --- kid3-2.0.1/src/core/import/amazonimporter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/amazonimporter.h 2012-05-11 05:46:04.000000000 +0000 @@ -38,11 +38,11 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ - AmazonImporter(QObject* parent, - TrackDataModel* trackDataModel); + AmazonImporter(QNetworkAccessManager* netMgr, + TrackDataModel *trackDataModel); /** * Destructor. diff -Nru kid3-2.0.1/src/core/import/discogsimporter.cpp kid3-2.1/src/core/import/discogsimporter.cpp --- kid3-2.0.1/src/core/import/discogsimporter.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/discogsimporter.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -25,6 +25,7 @@ */ #include "discogsimporter.h" +#include #include "serverimporterconfig.h" #include "trackdatamodel.h" #include "configstore.h" @@ -36,12 +37,12 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ -DiscogsImporter::DiscogsImporter(QObject* parent, +DiscogsImporter::DiscogsImporter(QNetworkAccessManager* netMgr, TrackDataModel* trackDataModel) : - ServerImporter(parent, trackDataModel) + ServerImporter(netMgr, trackDataModel) { setObjectName("DiscogsImporter"); } @@ -76,14 +77,21 @@ void DiscogsImporter::parseFindResults(const QByteArray& searchStr) { // releases have the format: - // + //
+ // QString str = QString::fromUtf8(searchStr); - QRegExp idTitleRe("(.+)"); - QStringList lines = str.remove('\r').split("\n"); + QRegExp idTitleRe("class=\"data\".*(.+)"); + QStringList lines = str.remove('\r').split(QRegExp("\\n{2,}")); m_albumListModel->clear(); for (QStringList::const_iterator it = lines.begin(); it != lines.end(); ++it) { - if (idTitleRe.indexIn(*it) != -1) { - QString title(idTitleRe.cap(3)); + QString line(*it); + line.remove('\n'); + if (idTitleRe.indexIn(line) != -1) { + QString title(idTitleRe.cap(3).trimmed()); title.replace(QRegExp("<[^>]+>"), ""); if (!title.isEmpty()) { m_albumListModel->appendRow(new AlbumListItem( @@ -384,14 +392,16 @@ /* * credits can be found in "Credits" */ - start = str.indexOf("

Credits

"); + start = str.indexOf(">Credits= 0) { - start += 16; // skip "Credits" + start += 13; // skip "Credits" plus end of element (e.g. "3>") end = str.indexOf("
", start + 1); if (end > start) { QString creditsStr = str.mid(start, end - start); creditsStr.replace(nlSpaceRe, ""); // strip new lines and space after them creditsStr.replace("
", "\n"); + creditsStr.replace("", "\n"); + creditsStr.replace("–", " - "); creditsStr = removeHtml(creditsStr); // strip HTML tags and entities parseCredits(creditsStr, framesHdr); } @@ -445,6 +455,7 @@ FrameCollection frames(framesHdr); QRegExp posRe(""); QRegExp artistsRe("
-The Avenger - by Amon Amarth (Audio CD - 2009) - Original recording reissued
]*class=\"track_pos\">(\\d+)]+>([^<]+)"); + QRegExp moreArtistsRe("^([^<>]+)]+>([^<]+)"); QRegExp titleRe("class=\"track_title\"[^>]*>([^<]+)<"); QRegExp durationRe("]*class=\"track_duration\"[^>]*>(?:)?(\\d+):(\\d+)([^<]+)$"); @@ -472,8 +483,20 @@ if (artistsRe.indexIn(trackDataStr) >= 0) { // use the artist in the header as the album artist // and the artist in the track as the artist - frames.setArtist( - fixUpArtist(artistsRe.cap(1))); + QString artist(fixUpArtist(artistsRe.cap(1))); + // Look if there are more artists + int artistEndPos = artistsRe.pos() + artistsRe.matchedLength(); + while (moreArtistsRe.indexIn( + trackDataStr, artistEndPos, QRegExp::CaretAtOffset) >= + artistEndPos) { + artist += moreArtistsRe.cap(1); + artist += fixUpArtist(moreArtistsRe.cap(2)); + int endPos = moreArtistsRe.pos() + moreArtistsRe.matchedLength(); + if (endPos <= artistEndPos) // must be true for regexp + break; + artistEndPos = endPos; + } + frames.setArtist(artist); frames.setValue(Frame::FT_AlbumArtist, framesHdr.getArtist()); } } @@ -492,11 +515,17 @@ blockquoteStart += 12; int blockquoteEnd = trackDataStr.indexOf("", blockquoteStart); + if (blockquoteEnd == -1) { + // If the element is not correctly closed, search for + blockquoteEnd = trackDataStr.indexOf("", blockquoteStart); + } if (blockquoteEnd > blockquoteStart) { QString blockquoteStr(trackDataStr.mid(blockquoteStart, blockquoteEnd - blockquoteStart)); // additional track info like "Music By, Lyrics By - " blockquoteStr.replace("
", "\n"); + blockquoteStr.replace("", "\n"); + blockquoteStr.replace("–", " - "); blockquoteStr = removeHtml(blockquoteStr); parseCredits(blockquoteStr, frames); } @@ -566,7 +595,7 @@ */ sendRequest(discogsServer, QString("/search?type=releases&q=") + - encodeUrlQuery(artist + " " + album) + "&btn=Search", true); + encodeUrlQuery(artist + " " + album) + "&btn=Search"); } /** @@ -584,5 +613,6 @@ * Query looks like this: * http://www.discogs.com/release/761529 */ - sendRequest(discogsServer, QString("/") + cat + '/' + id, true); + sendRequest(discogsServer, QString("/") + QUrl::toPercentEncoding(cat) + '/' + + id); } diff -Nru kid3-2.0.1/src/core/import/discogsimporter.h kid3-2.1/src/core/import/discogsimporter.h --- kid3-2.0.1/src/core/import/discogsimporter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/discogsimporter.h 2012-05-11 05:46:04.000000000 +0000 @@ -38,11 +38,11 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ - DiscogsImporter(QObject* parent, - TrackDataModel* trackDataModel); + DiscogsImporter(QNetworkAccessManager* netMgr, + TrackDataModel *trackDataModel); /** * Destructor. diff -Nru kid3-2.0.1/src/core/import/fingerprintcalculator.cpp kid3-2.1/src/core/import/fingerprintcalculator.cpp --- kid3-2.0.1/src/core/import/fingerprintcalculator.cpp 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/core/import/fingerprintcalculator.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,406 @@ +/** + * \file fingerprintcalculator.cpp + * Chromaprint fingerprint calculator. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 21 Jan 2012 + * + * Copyright (C) 2012 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#define __STDC_CONSTANT_MACROS +#include "fingerprintcalculator.h" + +#ifdef HAVE_CHROMAPRINT + +#include +#include +extern "C" { +#include +#include + +#ifdef HAVE_AV_AUDIO_CONVERT +#include +#include + +/* + * Declarations taken from "ffmpeg/audioconvert.h", "ffmpeg/samplefmt.h". + */ +struct AVAudioConvert; +typedef struct AVAudioConvert AVAudioConvert; + +AVAudioConvert *av_audio_convert_alloc(enum AVSampleFormat out_fmt, int out_channels, + enum AVSampleFormat in_fmt, int in_channels, + const float *matrix, int flags); +void av_audio_convert_free(AVAudioConvert *ctx); +int av_audio_convert(AVAudioConvert *ctx, + void * const out[6], const int out_stride[6], + const void * const in[6], const int in_stride[6], int len); +#endif +} +#include +#include + +const int BUFFER_SIZE = AVCODEC_MAX_AUDIO_FRAME_SIZE * 2; + +/* + * The following classes are used to benefit from the C++ + * "Resource Acquisition Is Initialization" (RAII) idiom when dealing with + * AV resources. + */ + +class Packet { +public: + explicit Packet(AVPacket* packet) : m_ptr(packet) { + } + + AVPacket* data() { return m_ptr; } + + ~Packet() { + if (m_ptr && m_ptr->data) { + ::av_free_packet(m_ptr); + } + } + +private: + AVPacket* m_ptr; +}; + +class Format { +public: + Format(const char* fileName) : m_ptr(0), m_hasError(false) { + if ( +#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 2, 0) + ::av_open_input_file(&m_ptr, fileName, 0, 0, 0) != 0 +#else + ::avformat_open_input(&m_ptr, fileName, 0, 0) != 0 +#endif + || +#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 5, 0) + ::av_find_stream_info(m_ptr) < 0 +#else + ::avformat_find_stream_info(m_ptr, 0) < 0 +#endif + ) + m_hasError = true; + } + + ~Format() { + if (m_ptr) +#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 21, 0) + ::av_close_input_file(m_ptr); +#else + ::avformat_close_input(&m_ptr); +#endif + } + + bool hasError() const { return m_hasError; } + + unsigned int numStreams() const { + return m_ptr->nb_streams; + } + + AVStream** streams() const { return m_ptr->streams; } + + bool readFrame(Packet& packet) { + return ::av_read_frame(m_ptr, packet.data()) >= 0; + } + +private: + AVFormatContext* m_ptr; + bool m_hasError; +}; + +class Codec { +public: + explicit Codec(AVCodecContext* ptr = 0) : m_ptr(ptr), m_opened(false) { + } + + ~Codec() { + if (m_opened) + ::avcodec_close(m_ptr); + } + + bool isNull() const { return m_ptr == 0; } + + void assign(AVCodecContext* ptr) { m_ptr = ptr; } + + bool codecTypeIsAudio() const { +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 64, 0) + return m_ptr && m_ptr->codec_type == CODEC_TYPE_AUDIO; +#else + return m_ptr && m_ptr->codec_type == AVMEDIA_TYPE_AUDIO; +#endif + } + + bool open() { + AVCodec* codec; + m_opened = (m_ptr && + (codec = ::avcodec_find_decoder(m_ptr->codec_id)) != 0 && +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(53, 5, 0) + ::avcodec_open(m_ptr, codec) >= 0 +#else + ::avcodec_open2(m_ptr, codec, 0) >= 0 +#endif + ); + return m_opened; + } + + int channels() const { return m_ptr->channels; } + + AVSampleFormat sampleFormat() const { return m_ptr->sample_fmt; } + + int sampleRate() const { return m_ptr->sample_rate; } + + int decode(int16_t* samples, int* frameSize, AVPacket* pkt) { +#if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(52, 25, 0) + return ::avcodec_decode_audio2(m_ptr, + samples, frameSize, pkt->data, pkt->size); +#elif LIBAVCODEC_VERSION_INT < AV_VERSION_INT(53, 25, 0) + return ::avcodec_decode_audio3(m_ptr, + samples, frameSize, pkt); +#else + AVFrame frame; + int decoded = 0; + int len = ::avcodec_decode_audio4(m_ptr, &frame, &decoded, pkt); + if (len >= 0 && decoded) { + int planar = ::av_sample_fmt_is_planar(m_ptr->sample_fmt); + int planeSize; + int dataSize = ::av_samples_get_buffer_size(&planeSize, m_ptr->channels, + frame.nb_samples, m_ptr->sample_fmt, 1); + if (*frameSize < dataSize) + return -1; + ::memcpy(samples, frame.extended_data[0], planeSize); + if (planar && m_ptr->channels > 1) { + uint8_t* out = reinterpret_cast(samples) + planeSize; + for (int ch = 1; ch < m_ptr->channels; ++ch) { + ::memcpy(out, frame.extended_data[ch], planeSize); + out += planeSize; + } + } + *frameSize = dataSize; + } else { + *frameSize = 0; + } + return len; +#endif + } + +private: + AVCodecContext* m_ptr; + bool m_opened; +}; + +#ifdef HAVE_AV_AUDIO_CONVERT +class Converter { +public: + Converter() : m_ptr(0) {} + + ~Converter() { + if (m_ptr) + ::av_audio_convert_free(m_ptr); + } + + bool createForCodec(const Codec& codecCtx) { + m_ptr = ::av_audio_convert_alloc(SAMPLE_FMT_S16, codecCtx.channels(), + codecCtx.sampleFormat(), codecCtx.channels(), 0, 0); + return m_ptr != 0; + } + + int16_t* convert(const Codec& codecCtx, + int16_t* buffer1, int16_t* buffer2, + int& bufferSize) { + if (m_ptr) { + const void *ibuf[6] = { buffer1 }; + void *obuf[6] = { buffer2 }; +#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51, 4, 0) + int istride[6] = { ::av_get_bits_per_sample_format(codecCtx.sampleFormat()) / 8 }; +#else + int istride[6] = { ::av_get_bytes_per_sample(codecCtx.sampleFormat()) }; +#endif + int ostride[6] = { 2 }; + int len = bufferSize / istride[0]; + if (::av_audio_convert(m_ptr, obuf, ostride, ibuf, istride, len) < 0) { + return 0; + } + bufferSize = len * ostride[0]; + return buffer2; + } else { + return buffer1; + } + } + +private: + AVAudioConvert* m_ptr; +}; +#else +class Converter { +public: + bool createForCodec(const Codec&) { return false; } + int16_t* convert(const Codec&, int16_t* buffer1, int16_t*, int&) { + return buffer1; + } +}; +#endif + + +/** + * Constructor. + */ +FingerprintCalculator::FingerprintCalculator() +{ + ::av_register_all(); + ::av_log_set_level(AV_LOG_ERROR); + + m_buffer1 = reinterpret_cast(::av_malloc(BUFFER_SIZE + 16)); + m_buffer2 = reinterpret_cast(::av_malloc(BUFFER_SIZE + 16)); + m_chromaprintCtx = ::chromaprint_new(CHROMAPRINT_ALGORITHM_DEFAULT); +} + +/** + * Destructor. + */ +FingerprintCalculator::~FingerprintCalculator() +{ + ::chromaprint_free(m_chromaprintCtx); + ::av_free(m_buffer1); + ::av_free(m_buffer2); +} + +/** + * Calculate audio fingerprint for audio file. + * + * @param fileName path to audio file + * + * @return result of fingerprint calculation. + */ +FingerprintCalculator::Result FingerprintCalculator::calculateFingerprint( + const QString &fileName) { + Result result; + result.m_error = decodeAudioFile(fileName, result.m_duration); + if (result.m_error == Result::Ok) { + char* fingerprint; + if (::chromaprint_get_fingerprint(m_chromaprintCtx, &fingerprint)) { + result.m_fingerprint = QString::fromAscii(fingerprint); + ::chromaprint_dealloc(fingerprint); + } else { + result.m_error = Result::FingerprintCalculationFailed; + } + } + return result; +} + +/** + * Decode audio file. + * + * @param filePath path to audio file + * @param duration the length of the audio file in seconds is returned here + * + * @return Ok if OK, else error code. + */ +FingerprintCalculator::Result::Error FingerprintCalculator::decodeAudioFile( + const QString& filePath, int& duration) +{ + /* + * The code here is based on fpcalc.c from chromaprint-0.6/examples. + */ + QByteArray fileName(QFile::encodeName(filePath)); + Format format(fileName.constData()); + if (format.hasError()) + return Result::NoStreamFound; + + AVStream* stream = 0; + Codec codec; + for (unsigned i = 0; i < format.numStreams(); i++) { + codec.assign(format.streams()[i]->codec); + if (codec.codecTypeIsAudio()) { + stream = format.streams()[i]; + break; + } + } + if (!stream) { + return Result::NoStreamFound; + } + + if (!codec.open() || codec.channels() <= 0) + return Result::NoCodecFound; + + Converter converter; + if (codec.sampleFormat() != SAMPLE_FMT_S16) { + if (!converter.createForCodec(codec)) + return Result::NoConverterFound; + } + + duration = stream->time_base.num * stream->duration / stream->time_base.den; + + AVPacket packet, packetTemp; + ::av_init_packet(&packet); + ::av_init_packet(&packetTemp); + + const int MAX_LENGTH = 120; + int remaining = MAX_LENGTH * codec.channels() * codec.sampleRate(); + ::chromaprint_start(m_chromaprintCtx, codec.sampleRate(), codec.channels()); + + while (remaining > 0) { + Packet pkt(&packet); + if (!format.readFrame(pkt)) + break; + + packetTemp.data = packet.data; + packetTemp.size = packet.size; + + while (packetTemp.size > 0) { + int bufferSize = BUFFER_SIZE; + int consumed = codec.decode(m_buffer1, &bufferSize, &packetTemp); + + if (consumed < 0) { + break; + } + + packetTemp.data += consumed; + packetTemp.size -= consumed; + + if (bufferSize <= 0 || bufferSize > BUFFER_SIZE) { + continue; + } + + int16_t *buffer = converter.convert(codec, m_buffer1, m_buffer2, bufferSize); + if (!buffer) + break; + + int length = qMin(remaining, bufferSize / 2); + if (!::chromaprint_feed(m_chromaprintCtx, buffer, length)) { + return Result::FingerprintCalculationFailed; + } + + remaining -= length; + if (remaining <= 0) { + break; + } + } + } + + if (!::chromaprint_finish(m_chromaprintCtx)) { + return Result::FingerprintCalculationFailed; + } + + return Result::Ok; +} + +#endif // HAVE_CHROMAPRINT diff -Nru kid3-2.0.1/src/core/import/fingerprintcalculator.h kid3-2.1/src/core/import/fingerprintcalculator.h --- kid3-2.0.1/src/core/import/fingerprintcalculator.h 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/core/import/fingerprintcalculator.h 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,114 @@ +/** + * \file fingerprintcalculator.h + * Chromaprint fingerprint calculator. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 21 Jan 2012 + * + * Copyright (C) 2012 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#ifndef FINGERPRINTCALCULATOR_H +#define FINGERPRINTCALCULATOR_H + +#include "config.h" + +#ifdef HAVE_CHROMAPRINT + +#include + +/** + * Calculate Chromaprint audio fingerprints for audio files. + */ +class FingerprintCalculator { +public: + /** + * Result of fingerprint calculation. + */ + class Result { + public: + /** Types of error occuring in fingerprint calculation. */ + enum Error { + Ok, /**< Fingerprint calculation OK */ + Pending, /**< Not started */ + NoStreamFound, /**< Format not recognized or no audio stream found */ + NoCodecFound, /**< No codec found */ + NoConverterFound, /**< Sample rate conversion failed or unavailable */ + FingerprintCalculationFailed /**< Chromaprint error */ + }; + + /** Constructor. */ + Result() : m_duration(0), m_error(Pending) {} + + /** + * Get Chromaprint fingerprint. + * @return fingerprint. + */ + QString getFingerprint() { return m_fingerprint; } + + /** + * Get duration in seconds. + * @return duration. + */ + int getDuration() const { return m_duration; } + + /** + * Get error code. + * @return Ok if OK, else error code. + */ + Error getError() const { return m_error; } + + private: + friend class FingerprintCalculator; + + QString m_fingerprint; + int m_duration; + Error m_error; + }; + + /** + * Constructor. + */ + FingerprintCalculator(); + + /** + * Destructor. + */ + ~FingerprintCalculator(); + + /** + * Calculate audio fingerprint for audio file. + * + * @param fileName path to audio file + * + * @return result of fingerprint calculation. + */ + Result calculateFingerprint(const QString& fileName); + +private: + Result::Error decodeAudioFile(const QString &filePath, int &duration); + + qint16* m_buffer1; + qint16* m_buffer2; + void** m_chromaprintCtx; +}; + +#endif // HAVE_CHROMAPRINT + +#endif // FINGERPRINTCALCULATOR_H diff -Nru kid3-2.0.1/src/core/import/freedbimporter.cpp kid3-2.1/src/core/import/freedbimporter.cpp --- kid3-2.0.1/src/core/import/freedbimporter.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/freedbimporter.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -36,12 +36,12 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ -FreedbImporter::FreedbImporter(QObject* parent, - TrackDataModel* trackDataModel) : - ServerImporter(parent, trackDataModel) +FreedbImporter::FreedbImporter(QNetworkAccessManager* netMgr, + TrackDataModel *trackDataModel) : + ServerImporter(netMgr, trackDataModel) { setObjectName("FreedbImporter"); } @@ -167,10 +167,9 @@ */ trackDuration.clear(); QRegExp discLenRe("Disc length:\\s*\\d+"); - int discLenPos, len; - discLenPos = discLenRe.indexIn(text, 0); + int discLenPos = discLenRe.indexIn(text, 0); if (discLenPos != -1) { - len = discLenRe.matchedLength(); + int len = discLenRe.matchedLength(); discLenPos += 12; int discLen = text.mid(discLenPos, len - 12).toInt(); int trackOffsetPos = text.indexOf("Track frame offsets", 0); diff -Nru kid3-2.0.1/src/core/import/freedbimporter.h kid3-2.1/src/core/import/freedbimporter.h --- kid3-2.0.1/src/core/import/freedbimporter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/freedbimporter.h 2012-05-11 05:46:04.000000000 +0000 @@ -38,11 +38,11 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ - FreedbImporter(QObject* parent, - TrackDataModel* trackDataModel); + FreedbImporter(QNetworkAccessManager* netMgr, + TrackDataModel *trackDataModel); /** * Destructor. diff -Nru kid3-2.0.1/src/core/import/httpclient.cpp kid3-2.1/src/core/import/httpclient.cpp --- kid3-2.0.1/src/core/import/httpclient.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/httpclient.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -25,7 +25,9 @@ */ #include "httpclient.h" -#include +#include +#include +#include #include #include "configstore.h" #include "qtcompatmac.h" @@ -34,20 +36,12 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager */ -HttpClient::HttpClient(QObject* parent) : QObject(parent), m_rcvBodyLen(0) +HttpClient::HttpClient(QNetworkAccessManager* netMgr) : + QObject(netMgr), m_netMgr(netMgr), m_rcvBodyLen(0) { setObjectName("HttpClient"); - m_http = new QHttp(); - connect(m_http, SIGNAL(stateChanged(int)), - this, SLOT(slotStateChanged(int))); - connect(m_http, SIGNAL(dataReadProgress(int, int)), - this, SLOT(slotDataReadProgress(int, int))); - connect(m_http, SIGNAL(done(bool)), - this, SLOT(slotDone(bool))); - connect(m_http, SIGNAL(responseHeaderReceived(const QHttpResponseHeader&)), - this, SLOT(slotResponseHeaderReceived(const QHttpResponseHeader&))); } /** @@ -55,38 +49,10 @@ */ HttpClient::~HttpClient() { - m_http->close(); - m_http->disconnect(); - delete m_http; -} - -/** - * Called when the connection state changes. - * - * @param state HTTP connection state - */ -void HttpClient::slotStateChanged(int state) -{ - switch (state) { - case QHttp::HostLookup: - emitProgress(i18n("Ready."), CS_RequestConnection, CS_EstimatedBytes); - break; - case QHttp::Connecting: - emitProgress(i18n("Connecting..."), CS_Connecting, CS_EstimatedBytes); - break; - case QHttp::Sending: - emitProgress(i18n("Host found..."), CS_HostFound, CS_EstimatedBytes); - break; - case QHttp::Reading: - emitProgress(i18n("Request sent..."), CS_RequestSent, CS_EstimatedBytes); - break; - case QHttp::Connected: - emitProgress(i18n("Ready."), -1, -1); - break; - case QHttp::Unconnected: - case QHttp::Closing: - default: - ; + if (m_reply) { + m_reply->close(); + m_reply->disconnect(); + m_reply->deleteLater(); } } @@ -94,101 +60,90 @@ #define DATA_RECEIVED_FOR_PO I18N_NOOP("Data received: %1") /** - * Called to report connection progress. - * - * @param done bytes received - * @param total total bytes, 0 if unknown + * Called when the request is finished. */ -void HttpClient::slotDataReadProgress(int done, int total) +void HttpClient::networkReplyFinished() { - emitProgress(i18n("Data received: %1").arg(done), done, total); + if (QNetworkReply* reply = qobject_cast(sender())) { + QByteArray data(reply->readAll()); + m_rcvBodyType = reply->header(QNetworkRequest::ContentTypeHeader).toString(); + m_rcvBodyLen = reply->header(QNetworkRequest::ContentLengthHeader).toUInt(); + emit bytesReceived(data); + QString msg(i18n("Ready.")); + if (reply->error() != QNetworkReply::NoError) { + msg = i18n("Error"); + msg += ": "; + msg += reply->errorString(); + } + emitProgress(msg, data.size(), data.size()); + reply->deleteLater(); + } } /** - * Called when the request is finished. + * Called to report connection progress. * - * @param error true if error occurred + * @param received bytes received + * @param total total bytes */ -void HttpClient::slotDone(bool error) +void HttpClient::networkReplyProgress(qint64 received, qint64 total) { - if (error) { - QHttp::Error err = m_http->error(); - if (err != QHttp::UnexpectedClose) { - QString msg(i18n("Socket error: ")); - switch (err) { - case QHttp::ConnectionRefused: - msg += i18n("Connection refused"); - break; - case QHttp::HostNotFound: - msg += i18n("Host not found"); - break; - default: - msg += m_http->errorString(); - } - emitProgress(msg, -1, -1); - } - } - emit bytesReceived(m_http->readAll()); - if (!error) { - emitProgress(i18n("Ready."), CS_EstimatedBytes, CS_EstimatedBytes); - } + emitProgress(i18n("Data received: %1").arg(received), received, total); } /** - * Called when the response header is available. + * Called when an error occurred. * - * @param resp HTTP response header + * @param code error code */ -void HttpClient::slotResponseHeaderReceived(const QHttpResponseHeader& resp) +void HttpClient::networkReplyError(QNetworkReply::NetworkError) { - m_rcvBodyType = resp.contentType(); - m_rcvBodyLen = resp.contentLength(); + if (QNetworkReply* reply = qobject_cast(sender())) { + emitProgress(reply->errorString(), -1, -1); + } } + /** * Send a HTTP GET request. * * @param server host name * @param path path of the URL - * @param setUserAgent true to set user agent to Mozilla */ -void HttpClient::sendRequest(const QString& server, const QString& path, - bool setUserAgent) +void HttpClient::sendRequest(const QString& server, const QString& path) { m_rcvBodyLen = 0; m_rcvBodyType = ""; - QString dest; - int destPort; - splitNamePort(server, dest, destPort); - m_http->setHost(dest, destPort); QString proxy, username, password; int proxyPort = 0; + QNetworkProxy::ProxyType proxyType = QNetworkProxy::NoProxy; if (ConfigStore::s_miscCfg.m_useProxy) { splitNamePort(ConfigStore::s_miscCfg.m_proxy, proxy, proxyPort); + proxyType = QNetworkProxy::HttpProxy; } if (ConfigStore::s_miscCfg.m_useProxyAuthentication) { username = ConfigStore::s_miscCfg.m_proxyUserName; password = ConfigStore::s_miscCfg.m_proxyPassword; } - m_http->setProxy(proxy, proxyPort, username, password); - m_http->setHost(dest, destPort); - if (!setUserAgent) { - m_http->get(path); - } else { - // Set User-Agent to Mozilla to avoid that request is blocked. - QHttpRequestHeader header("GET", path); - if (destPort != 80) - header.setValue("Host", dest + ':' + QString::number(destPort)); - else - header.setValue("Host", dest); - header.setValue("User-Agent","Mozilla/5.0"); - header.setValue("Accept","text/html,application/xhtml+xml,application/xml" - ";q=0.9,*/*;q=0.8"); - header.setValue("Accept-Language","en-us,en;q=0.5"); - header.setValue("Accept-Charset","utf-8"); - header.setValue("Connection","keep-alive"); - m_http->request(header); - } + m_netMgr->setProxy(QNetworkProxy(proxyType, proxy, proxyPort, + username, password)); + + QString host(server); + if (host.endsWith(":80")) { + host.chop(3); + } + QUrl url; + url.setEncodedUrl(("http://" + host + path).toAscii()); + QNetworkRequest request(url); + QNetworkReply* reply = m_netMgr->get(request); + m_reply = reply; + connect(reply, SIGNAL(finished()), + this, SLOT(networkReplyFinished())); + connect(reply, SIGNAL(downloadProgress(qint64,qint64)), + this, SLOT(networkReplyProgress(qint64,qint64))); + connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), + this, SLOT(networkReplyError(QNetworkReply::NetworkError))); + emitProgress(i18n("Request sent..."), 0, 0); } /** @@ -196,7 +151,9 @@ */ void HttpClient::abort() { - m_http->abort(); + if (m_reply) { + m_reply->abort(); + } } /** diff -Nru kid3-2.0.1/src/core/import/httpclient.h kid3-2.1/src/core/import/httpclient.h --- kid3-2.0.1/src/core/import/httpclient.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/httpclient.h 2012-05-11 05:46:04.000000000 +0000 @@ -29,34 +29,25 @@ #include #include +#include +#include class QByteArray; -class QHttp; -class QHttpResponseHeader; +class QNetworkAccessManager; /** * Client to connect to HTTP server. */ -class HttpClient : public QObject -{ +class HttpClient : public QObject { Q_OBJECT public: - /** Connection progress steps. */ - enum ConnectionSteps { - CS_RequestConnection = 0, /**< Send Request */ - CS_Connecting = 1, /**< Connecting */ - CS_HostFound = 2, /**< Host Found */ - CS_RequestSent = 3, /**< Request Sent */ - CS_EstimatedBytes = 75000 /**< Estimated total number of bytes */ - }; - /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager */ - explicit HttpClient(QObject* parent = 0); + explicit HttpClient(QNetworkAccessManager* netMgr); /** * Destructor. @@ -68,10 +59,8 @@ * * @param server host name * @param path path of the URL - * @param setUserAgent true to set user agent to Mozilla */ - void sendRequest(const QString& server, const QString& path, - bool setUserAgent = false); + void sendRequest(const QString& server, const QString& path); /** * Abort request. @@ -115,33 +104,24 @@ private slots: /** - * Called when the connection state changes. - * - * @param state HTTP connection state + * Called when the request is finished. */ - void slotStateChanged(int state); + void networkReplyFinished(); /** * Called to report connection progress. * - * @param done bytes received - * @param total total bytes, 0 if unknown - */ - void slotDataReadProgress(int done, int total); - - /** - * Called when the request is finished. - * - * @param error true if error occurred + * @param received bytes received + * @param total total bytes */ - void slotDone(bool error); + void networkReplyProgress(qint64 received, qint64 total); /** - * Called when the response header is available. + * Called when an error occurred. * - * @param resp HTTP response header + * @param code error code */ - void slotResponseHeaderReceived(const QHttpResponseHeader& resp); + void networkReplyError(QNetworkReply::NetworkError); private: /** @@ -175,8 +155,10 @@ */ static QString getProxyOrDest(const QString& dst); - /** client socket */ - QHttp* m_http; + /** network access manager */ + QNetworkAccessManager* m_netMgr; + /** network reply if available, else 0 */ + QPointer m_reply; /** content length of entitiy-body, 0 if not available */ unsigned long m_rcvBodyLen; /** content type */ diff -Nru kid3-2.0.1/src/core/import/importclient.cpp kid3-2.1/src/core/import/importclient.cpp --- kid3-2.0.1/src/core/import/importclient.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/importclient.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -34,10 +34,10 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager */ -ImportClient::ImportClient(QObject* parent) : - HttpClient(parent), m_requestType(RT_None) +ImportClient::ImportClient(QNetworkAccessManager* netMgr) : + HttpClient(netMgr), m_requestType(RT_None) { setObjectName("ImportClient"); connect(this, SIGNAL(bytesReceived(const QByteArray&)), diff -Nru kid3-2.0.1/src/core/import/importclient.h kid3-2.1/src/core/import/importclient.h --- kid3-2.0.1/src/core/import/importclient.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/importclient.h 2012-05-11 05:46:04.000000000 +0000 @@ -28,13 +28,14 @@ #define IMPORTCLIENT_H #include "httpclient.h" +#include "kid3api.h" class ServerImporterConfig; /** * Client to connect to server with import data. */ -class ImportClient : public HttpClient +class KID3_CORE_EXPORT ImportClient : public HttpClient { Q_OBJECT @@ -42,9 +43,9 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager */ - explicit ImportClient(QObject* parent = 0); + explicit ImportClient(QNetworkAccessManager* netMgr); /** * Destructor. diff -Nru kid3-2.0.1/src/core/import/importparser.cpp kid3-2.1/src/core/import/importparser.cpp --- kid3-2.0.1/src/core/import/importparser.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/importparser.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -30,6 +30,13 @@ #include "qtcompatmac.h" /** + * Constructor. + */ +ImportParser::ImportParser() : m_trackIncrEnabled(false), m_trackIncrNr(0) +{ +} + +/** * Get help text for format codes supported by setFormat(). * * @return help text. diff -Nru kid3-2.0.1/src/core/import/importparser.h kid3-2.1/src/core/import/importparser.h --- kid3-2.0.1/src/core/import/importparser.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/importparser.h 2012-05-11 05:46:04.000000000 +0000 @@ -31,15 +31,21 @@ #include #include #include +#include "kid3api.h" class FrameCollection; /** * Import parser. */ -class ImportParser { +class KID3_CORE_EXPORT ImportParser { public: /** + * Constructor. + */ + ImportParser(); + + /** * Set import format. * * @param fmt format regexp @@ -63,7 +69,7 @@ * * @return list with track durations. */ - QList getTrackDurations() { return m_trackDuration; } + QList getTrackDurations() const { return m_trackDuration; } /** * Get help text for format codes supported by setFormat(). diff -Nru kid3-2.0.1/src/core/import/musicbrainzclient.cpp kid3-2.1/src/core/import/musicbrainzclient.cpp --- kid3-2.0.1/src/core/import/musicbrainzclient.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/musicbrainzclient.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 15 Sep 2005 * - * Copyright (C) 2005-2007 Urs Fleisch + * Copyright (C) 2005-2012 Urs Fleisch * * This file is part of Kid3. * @@ -25,190 +25,170 @@ */ #include "musicbrainzclient.h" -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT -#include #include -#if HAVE_TUNEPIMP >= 5 #include -#endif -#include "freedbimporter.h" +#include "httpclient.h" #include "trackdatamodel.h" +#include "fingerprintcalculator.h" #include "qtcompatmac.h" -#if HAVE_TUNEPIMP >= 5 -/** - * Constructor. - * - * @param numFiles number of files to be queried - * @param serverName server name - * @param serverPort server port - * @param proxyName proxy name, empty if no proxy - * @param proxyPort proxy port - */ -LookupQuery::LookupQuery(int numFiles, - const QString& serverName, unsigned short serverPort, - const QString& proxyName, unsigned short proxyPort) : - m_numFiles(numFiles), m_serverName(serverName), m_serverPort(serverPort), - m_proxyName(proxyName), m_proxyPort(proxyPort), - m_currentFile(-1), m_fileQueries(new FileQuery[numFiles]), - m_sock(new QTcpSocket) -{ - for (int i = 0; i < m_numFiles; ++i) { - m_fileQueries[i].requested = false; - m_fileQueries[i].puid = ""; - } - connect(m_sock, SIGNAL(connected()), - this, SLOT(socketConnected())); - connect(m_sock, SIGNAL(error(QAbstractSocket::SocketError)), - this, SLOT(socketError(QAbstractSocket::SocketError))); - connect(m_sock, SIGNAL(disconnected()), - this, SLOT(socketConnectionClosed())); -} - -/** - * Destructor. - */ -LookupQuery::~LookupQuery() -{ - m_sock->close(); - m_sock->disconnect(); - delete m_sock; - delete [] m_fileQueries; -} - -/** - * Connect to server to query information about the current file. - */ -void LookupQuery::socketQuery() -{ - if (m_currentFile >= 0 && m_currentFile < m_numFiles) { - QString destName = m_proxyName.isEmpty() ? m_serverName : m_proxyName; - unsigned short destPort = m_proxyName.isEmpty() ? m_serverPort : m_proxyPort; - m_request = "GET http://"; - m_request += m_serverName; - if (m_serverPort != 80) { - m_request += ':'; - m_request += QString::number(m_serverPort); - } - m_request += "/ws/1/track/?type=xml&puid="; - m_request += m_fileQueries[m_currentFile].puid; - m_request += " HTTP/1.0\r\nHost: "; - m_request += m_serverName; - m_request += "\r\nUser-agent: Kid3/" VERSION "\r\n\r\n"; - m_sock->connectToHost(destName, destPort); - m_fileQueries[m_currentFile].requested = true; - } -} +namespace { /** - * Query the next file. - */ -void LookupQuery::queryNext() -{ - // handle the first pending query - for (int i = 0; i < m_numFiles; ++i) { - if (!m_fileQueries[i].requested && - !m_fileQueries[i].puid.isEmpty()) { - m_currentFile = i; - socketQuery(); - return; + * Parse response from acoustid.org. + * @param bytes response in JSON format + * @return list of MusicBrainz IDs + */ +QStringList parseAcoustidIds(const QByteArray& bytes) +{ + /* + * The response from acoustid.org is in JSON format and looks like this: + * { + * "status": "ok", + * "results": [{ + * "recordings": [{"id": "14fef9a4-9b50-4e9f-9e22-490fd86d1861"}], + * "score": 0.938621, "id": "29bf7ce3-0182-40da-b840-5420203369c4" + * }] + * } + */ + QStringList ids; + if (bytes.indexOf("\"status\": \"ok\"") >= 0) { + int startPos = bytes.indexOf("\"recordings\": ["); + if (startPos >= 0) { + startPos += 15; + int endPos = bytes.indexOf(']', startPos); + if (endPos > startPos) { + QRegExp idRe("\"id\":\\s*\"([^\"]+)\""); + QString recordings(bytes.mid(startPos, endPos - startPos)); + int pos = 0; + while ((pos = idRe.indexIn(recordings, pos)) != -1) { + ids.append(idRe.cap(1)); + pos += idRe.matchedLength(); + } + } } } - // no pending query => socketQuery() will be done in next query() - m_currentFile = -1; + return ids; } /** - * Query a PUID from the server. + * Parse response from MusicBrainz server. * - * @param puid PUID - * @param index index of file - */ -void LookupQuery::query(const char* puid, int index) -{ - m_fileQueries[index].puid = QString(puid); - // if no request is being executed, start the current request - if (m_currentFile < 0 || m_currentFile >= m_numFiles || - !m_fileQueries[m_currentFile].requested) { - m_currentFile = index; - socketQuery(); - } -} - -/** - * Send query when the socket is connected. - */ -void LookupQuery::socketConnected() -{ - m_sock->write(m_request.toLatin1().data(), m_request.length()); -} - -/** - * Error on socket connection. - */ -void LookupQuery::socketError(QAbstractSocket::SocketError err) -{ - if (err != QAbstractSocket::RemoteHostClosedError) { - qDebug("Socket Error: %s", m_sock->errorString().toLatin1().data()); - queryNext(); + * @param bytes XML response from MusicBrainz + * @param trackDataVector the resulting track data will be appended to this + * vector + */ +void parseMusicBrainzMetadata(const QByteArray& bytes, + ImportTrackDataVector& trackDataVector) +{ + /* + * The XML response from MusicBrainz looks like this (simplified): + * + * + * + * Trip the Darkness + * 192000 + * + * + * + * Lacuna Coil + * + * + * + * + * + * Dark Adrenaline + * 2012-01-24 + * + * + * + * + * 1 + * + * + * + * + * + * + * + * + */ + int start = bytes.indexOf(""); + QByteArray xmlStr = start >= 0 && end > start ? + bytes.mid(start, end + 11 - start) : bytes; + QDomDocument doc; + if (doc.setContent(xmlStr, false)) { + QDomElement recording = + doc.namedItem("metadata").namedItem("recording").toElement(); + if (!recording.isNull()) { + bool ok; + ImportTrackData frames; + frames.setTitle(recording.namedItem("title").toElement().text()); + int length = recording.namedItem("length").toElement().text().toInt(&ok); + if (ok) { + frames.setImportDuration(length / 1000); + } + QDomNode artistNode = recording.namedItem("artist-credit"); + if (!artistNode.isNull()) { + QString artist(artistNode.namedItem("name-credit").namedItem("artist"). + namedItem("name").toElement().text()); + frames.setArtist(artist); + } + QDomNode releaseNode = recording.namedItem("release-list"). + namedItem("release"); + if (!releaseNode.isNull()) { + frames.setAlbum(releaseNode.namedItem("title").toElement().text()); + QString date(releaseNode.namedItem("date").toElement().text()); + if (!date.isEmpty()) { + QRegExp dateRe("(\\d{4})(?:-\\d{2})?(?:-\\d{2})?"); + int year = 0; + if (dateRe.exactMatch(date)) { + year = dateRe.cap(1).toInt(); + } else { + year = date.toInt(); + } + if (year != 0) { + frames.setYear(year); + } + } + QDomNode trackNode = releaseNode.namedItem("medium-list"). + namedItem("medium").namedItem("track-list").namedItem("track"); + if (!trackNode.isNull()) { + int trackNr = trackNode.namedItem("position").toElement().text(). + toInt(&ok); + if (ok) { + frames.setTrack(trackNr); + } + } + } + trackDataVector.append(frames); + } } } -/** - * Read received data when the server has closed the connection. - */ -void LookupQuery::socketConnectionClosed() -{ - unsigned long len = m_sock->bytesAvailable(); - QByteArray buf; - buf.resize(len + 1 ); - m_sock->read(buf.data(), len); - m_sock->close(); - - int xmlStart = buf.indexOf("= 0 && - m_currentFile >= 0 && m_currentFile < m_numFiles && - m_fileQueries[m_currentFile].requested) { - emit queryResponseReceived(m_currentFile, buf.mid(xmlStart, len - xmlStart)); - } - queryNext(); } -#endif /** * Constructor. * + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values, * is passed with filenames set */ -MusicBrainzClient::MusicBrainzClient(TrackDataModel* trackDataModel) : - m_trackDataModel(trackDataModel), m_tp(0), m_ids(0), m_numFiles(0) -#if HAVE_TUNEPIMP >= 5 - , m_lookupQuery(0) -#endif -{ - m_tp = tp_New("kid3", VERSION); -#ifdef WIN32 - tp_WSAInit(m_tp); -#endif -#if HAVE_TUNEPIMP >= 4 - tp_SetID3Encoding(m_tp, eUTF8); -#else - tp_SetUseUTF8(m_tp, 1); -#endif -#if HAVE_TUNEPIMP >= 5 - tp_SetMusicDNSClientId(m_tp, "a95f5c7cd37fd4bce12dc86d196fb4fe"); -#else - tp_SetAutoFileLookup(m_tp, 1); -#endif - tp_SetRenameFiles(m_tp, 0); - tp_SetMoveFiles(m_tp, 0); - tp_SetWriteID3v1(m_tp, 0); - tp_SetClearTags(m_tp, 0); - tp_SetAutoSaveThreshold(m_tp, -1); - tp_SetAutoRemovedSavedFiles(m_tp, 0); +MusicBrainzClient::MusicBrainzClient(QNetworkAccessManager* netMgr, + TrackDataModel *trackDataModel) : + QObject(netMgr), + m_httpClient(new HttpClient(netMgr)), + m_fingerprintCalculator(new FingerprintCalculator), + m_trackDataModel(trackDataModel), + m_state(Idle), m_currentIndex(-1) +{ + connect(m_httpClient, SIGNAL(bytesReceived(QByteArray)), + this, SLOT(receiveBytes(QByteArray))); } /** @@ -216,443 +196,179 @@ */ MusicBrainzClient::~MusicBrainzClient() { - removeFiles(); - if (m_tp) { -#ifdef WIN32 - tp_WSAStop(m_tp); -#endif - tp_Delete(m_tp); - } + delete m_fingerprintCalculator; } /** - * Get i for m_id[i] == id. - * - * @return index, -1 if not found. + * Verify if m_currentIndex is in range of m_idsOfTrack. + * @return true if index OK, false if index was invalid and state is reset. */ -int MusicBrainzClient::getIndexOfId(int id) const +bool MusicBrainzClient::verifyIdIndex() { - for (int i = 0; i < m_numFiles; ++i) { - if (m_ids[i] == id) { - return i; - } + if (m_currentIndex < 0 || m_currentIndex >= m_idsOfTrack.size()) { + qWarning("Invalid index %d for IDs (size %d)", + m_currentIndex, m_idsOfTrack.size()); + resetState(); + return false; } - return -1; + return true; } /** - * Get the file name for an ID. - * - * @param id ID of file - * - * @return absolute file name, QString::null if not found. + * Verify if m_currentIndex is in range of m_filenameOfTrack. + * @return true if index OK, false if index was invalid and state is reset. */ -QString MusicBrainzClient::getFilename(int id) const +bool MusicBrainzClient::verifyTrackIndex() { - int idx = getIndexOfId(id); - if (idx >= 0) { - return m_trackDataModel->trackData().at(idx).getAbsFilename(); + if (m_currentIndex < 0 || m_currentIndex >= m_filenameOfTrack.size()) { + qWarning("Invalid index %d for track (size %d)", + m_currentIndex, m_filenameOfTrack.size()); + resetState(); + return false; } - return QString::null; + return true; } /** - * Get a text for a file status. - * - * @param statusCode file status code - * - * @return status text, 0 if not found. + * Reset the state to Idle and no track. */ -static const char* getFileStatusText(TPFileStatus statusCode) +void MusicBrainzClient::resetState() { - static const struct id_str_s { TPFileStatus id; const char* str; } - id_str[] = { -#if HAVE_TUNEPIMP >= 4 - { eMetadataRead, I18N_NOOP("Metadata Read") }, -#endif - { eUnrecognized, I18N_NOOP("Unrecognized") }, - { eRecognized, I18N_NOOP("Recognized") }, - { ePending, I18N_NOOP("Pending") }, -#if HAVE_TUNEPIMP >= 5 - { ePUIDLookup, I18N_NOOP("PUID Lookup") }, - { ePUIDCollision, I18N_NOOP("PUID Collision") }, -#else - { eTRMLookup, I18N_NOOP("TRM Lookup") }, - { eTRMCollision, I18N_NOOP("TRM Collision") }, -#endif - { eFileLookup, I18N_NOOP("File Lookup") }, - { eUserSelection, I18N_NOOP("User Selection") }, - { eVerified, I18N_NOOP("Verified") }, - { eSaved, I18N_NOOP("Saved") }, - { eDeleted, I18N_NOOP("Deleted") }, - { eError, I18N_NOOP("Error") }, - { eLastStatus, 0 } - }; - - const struct id_str_s* is = &id_str[0]; - while (is->str) { - if (is->id == statusCode) { - break; - } - ++is; - } - return is->str; + m_currentIndex = -1; + m_state = Idle; } /** - * Poll the status of the MusicBrainz query. + * Receive response from web service. + * @param bytes bytes received */ -void MusicBrainzClient::pollStatus() +void MusicBrainzClient::receiveBytes(const QByteArray& bytes) { - TPCallbackEnum type; - int id; -#if HAVE_TUNEPIMP >= 4 - TPFileStatus statusCode; - while (tp_GetNotification(m_tp, &type, &id, &statusCode)) -#else - while (tp_GetNotification(m_tp, &type, &id)) -#endif - { - QString fn = getFilename(id); - int index = getIndexOfId(id); - switch (type) { - case tpFileAdded: - emit statusChanged(index, i18n("Pending")); - break; - case tpFileRemoved: - emit statusChanged(index, i18n("Removed")); - break; - case tpFileChanged: - { -#if HAVE_TUNEPIMP >= 4 - if (statusCode == eUnrecognized) { - char trm[255]; - trm[0] = '\0'; - track_t track = tp_GetTrack(m_tp, id); - if (track) { - tr_Lock(track); -#if HAVE_TUNEPIMP >= 5 - tr_GetPUID(track, trm, sizeof(trm)); -#else - tr_GetTRM(track, trm, sizeof(trm)); -#endif - if (trm[0] == '\0') { - tr_SetStatus(track, ePending); - tp_Wake(m_tp, track); - } - tr_Unlock(track); - tp_ReleaseTrack(m_tp, track); - } - } -#else - TPFileStatus statusCode = eLastStatus; - track_t track = tp_GetTrack(m_tp, id); - if (track) { - tr_Lock(track); - statusCode = tr_GetStatus(track); - tr_Unlock(track); - tp_ReleaseTrack(m_tp, track); - } -#endif - if (statusCode != eLastStatus) { - const char* statusText = getFileStatusText(statusCode); - emit statusChanged(index, QCM_translate(statusText)); - if (statusCode == eRecognized) { - ImportTrackData trackData; - getMetaData(id, trackData); - emit metaDataReceived(index, trackData); - } -#if HAVE_TUNEPIMP >= 5 - else if (statusCode == ePUIDLookup || - statusCode == ePUIDCollision || - statusCode == eFileLookup) { - char puid[255]; - puid[0] = '\0'; - track_t track = tp_GetTrack(m_tp, id); - if (track) { - tr_Lock(track); - tr_GetPUID(track, puid, sizeof(puid)); - tr_Unlock(track); - tp_ReleaseTrack(m_tp, track); - } - if (m_lookupQuery) { - m_lookupQuery->query(puid, index); - } - } -#else - else if (statusCode == eTRMCollision || - statusCode == eUserSelection) { - ImportTrackDataVector trackDataList; - if (getResults(id, trackDataList)) { - emit resultsReceived(index, trackDataList); - } - } -#endif - } - break; + switch (m_state) { + case GettingIds: + if (!verifyIdIndex()) + return; + m_idsOfTrack[m_currentIndex] = parseAcoustidIds(bytes); + if (m_idsOfTrack.at(m_currentIndex).isEmpty()) { + emit statusChanged(m_currentIndex, i18n("Unrecognized")); + } + m_state = GettingMetadata; + processNextStep(); + break; + case GettingMetadata: + parseMusicBrainzMetadata(bytes, m_currentTrackData); + if (!verifyIdIndex()) + return; + if (m_idsOfTrack.at(m_currentIndex).isEmpty()) { + int numResults = m_currentTrackData.size(); + if (numResults == 1) { + emit statusChanged(m_currentIndex, i18n("Recognized")); + emit metaDataReceived(m_currentIndex, m_currentTrackData.first()); + } else if (numResults > 1) { + emit statusChanged(m_currentIndex, i18n("User Selection")); + emit resultsReceived(m_currentIndex, m_currentTrackData); } - case tpWriteTagsComplete: - emit statusChanged(index, i18n("Written")); - break; - default: - break; } + processNextStep(); + break; + default: + ; } } /** - * Set configuration. - * - * @param server server - * @param proxy proxy - * @param useProxy true if proxy has to be used + * Process next step in importing from fingerprints. */ -void MusicBrainzClient::setConfig( - const QString& server, const QString& proxy, bool useProxy) +void MusicBrainzClient::processNextStep() { - int port; - QString ip; - FreedbImporter::splitNamePort(server, ip, port); - tp_SetServer(m_tp, ip.toLatin1().data(), port); - - if (useProxy) { - FreedbImporter::splitNamePort(proxy, ip, port); - tp_SetProxy(m_tp, ip.toLatin1().data(), port); - } else { - tp_SetProxy(m_tp, "", 80); - } -} - -/** - * Add the files in the file list. - */ -void MusicBrainzClient::addFiles() -{ - if (m_ids) { - removeFiles(); - } - const ImportTrackDataVector& trackDataVector(m_trackDataModel->trackData()); - m_numFiles = trackDataVector.size(); - m_ids = new int[m_numFiles]; -#if HAVE_TUNEPIMP >= 5 - char serverName[80], proxyName[80]; - short serverPort, proxyPort; - tp_GetServer(m_tp, serverName, sizeof(serverName) - 1, &serverPort); - tp_GetProxy(m_tp, proxyName, sizeof(proxyName) - 1, &proxyPort); - m_lookupQuery = new LookupQuery(m_numFiles, serverName, serverPort, - proxyName, proxyPort); - connect(m_lookupQuery, SIGNAL(queryResponseReceived(int, const QByteArray&)), - this, SLOT(parseLookupResponse(int, const QByteArray&))); -#endif - int i = 0; - for (ImportTrackDataVector::const_iterator it = trackDataVector.constBegin(); - it != trackDataVector.constEnd(); - ++it) { - if (it->isEnabled()) { -#if HAVE_TUNEPIMP >= 4 - m_ids[i++] = tp_AddFile(m_tp, QFile::encodeName((*it).getAbsFilename()), 0); -#else - m_ids[i++] = tp_AddFile(m_tp, QFile::encodeName((*it).getAbsFilename())); -#endif + switch (m_state) { + case Idle: + break; + case CalculatingFingerprint: + { + if (!verifyTrackIndex()) + return; + emit statusChanged(m_currentIndex, i18n("Fingerprint")); + FingerprintCalculator::Result fp = + m_fingerprintCalculator->calculateFingerprint( + m_filenameOfTrack.at(m_currentIndex)); + if (fp.getError() != FingerprintCalculator::Result::Ok) { + emit statusChanged(m_currentIndex, i18n("Error")); + processNextTrack(); } + m_state = GettingIds; + emit statusChanged(m_currentIndex, i18n("ID Lookup")); + QString path("/v2/lookup?client=LxDbFAXo&meta=recordingids&duration=" + + QString::number(fp.getDuration()) + + "&fingerprint=" + fp.getFingerprint()); + m_httpClient->sendRequest("api.acoustid.org", path); + break; } -} - -/** - * Remove all files. - */ -void MusicBrainzClient::removeFiles() -{ - if (m_ids && m_numFiles > 0) { - for (int i = 0; i < m_numFiles; ++i) { - tp_Remove(m_tp, m_ids[i]); + case GettingMetadata: + { + if (!verifyIdIndex()) + return; + QStringList& ids = m_idsOfTrack[m_currentIndex]; + if (!ids.isEmpty()) { + emit statusChanged(m_currentIndex, i18n("Metadata Lookup")); + QString path("/ws/2/recording/" + ids.takeFirst() + + "?inc=artists+releases+media"); + m_httpClient->sendRequest(m_musicBrainzServer, path); + } else { + processNextTrack(); } - delete [] m_ids; - m_ids = 0; -#if HAVE_TUNEPIMP >= 5 - delete m_lookupQuery; - m_lookupQuery = 0; -#endif - m_numFiles = 0; + break; + } + case GettingIds: + qWarning("processNextStep() called in state GettingIds"); + resetState(); } } /** - * Get meta data for recognized file. - * - * @param id ID of file - * @param trackData the meta data is returned here + * Process next track. + * If all tracks have been processed, the state is reset to Idle. */ -void MusicBrainzClient::getMetaData(int id, ImportTrackData& trackData) +void MusicBrainzClient::processNextTrack() { - metadata_t* data = md_New(); - if (data) { - track_t track = tp_GetTrack(m_tp, id); - if (track) { - tr_Lock(track); - md_Clear(data); - tr_GetServerMetadata(track, data); - trackData.setTitle(QString::fromUtf8(data->track)); - trackData.setArtist(QString::fromUtf8(data->artist)); - trackData.setAlbum(QString::fromUtf8(data->album)); - trackData.setTrack(data->trackNum); - trackData.setYear(data->releaseYear); - // year does not seem to work, so at least we should not - // overwrite it with 0 - if (trackData.getYear() == 0) { - trackData.setYear(-1); - } - trackData.setImportDuration(data->duration / 1000); - tr_Unlock(track); - tp_ReleaseTrack(m_tp, track); - } - md_Delete(data); + if (m_currentIndex < m_filenameOfTrack.size() - 1) { + ++m_currentIndex; + m_state = CalculatingFingerprint; + } else { + resetState(); } -} - -#if HAVE_TUNEPIMP >= 5 - -bool MusicBrainzClient::getResults(int, ImportTrackDataVector&) { - return false; + m_currentTrackData.clear(); + processNextStep(); } /** - * Process server response with lookup data. + * Set configuration. * - * @param index index of file - * @param response response from server + * @param server server */ -void MusicBrainzClient::parseLookupResponse(int index, const QByteArray& response) +void MusicBrainzClient::setConfig(const QString& server) { - ImportTrackDataVector trackDataList; - QDomDocument doc; - QByteArray xmlStr = response; - int end = xmlStr.indexOf(""); - if (end >= 0 && end + 12 < static_cast(xmlStr.size())) { - xmlStr.resize(end + 12); - } - if (doc.setContent(xmlStr, false)) { - QDomElement trackList = - doc.namedItem("metadata").toElement().namedItem("track-list").toElement(); - - for (QDomNode trackNode = trackList.namedItem("track"); - !trackNode.isNull(); - trackNode = trackNode.nextSibling()) { - QDomElement track = trackNode.toElement(); - - ImportTrackData trackData; - trackData.setArtist( - track.namedItem("artist").toElement().namedItem("name").toElement().text()); - trackData.setTitle(track.namedItem("title").toElement().text()); - - for (QDomNode releaseNode = - track.namedItem("release-list").toElement().namedItem("release"); - !releaseNode.isNull(); - releaseNode = releaseNode.nextSibling() ) { - QDomElement release = releaseNode.toElement(); - - trackData.setAlbum(release.namedItem("title").toElement().text()); - trackData.setTrack(-1); - QDomNode releaseTrackNode = release.namedItem("track-list"); - if (!releaseTrackNode.isNull()) { - QDomElement releaseTrack = releaseTrackNode.toElement(); - if (!releaseTrack.attribute("offset").isEmpty()) - trackData.setTrack(releaseTrack.attribute("offset").toInt() + 1); - } - } - trackDataList.append(trackData); - } - } - - if (trackDataList.size() > 1) { - emit resultsReceived(index, trackDataList); - emit statusChanged(index, i18n("User Selection")); - } else if (trackDataList.size() == 1) { - emit metaDataReceived(index, *trackDataList.begin()); - emit statusChanged(index, i18n("Recognized")); - } else { - emit statusChanged(index, i18n("Unrecognized")); - } + m_musicBrainzServer = server; } -#else - /** - * Get results for an ambiguous file. - * - * @param id ID of file - * @param trackDataList the results are returned here - * - * @return true if some results were received, - * false if no results available. + * Add the files in the file list. */ -bool MusicBrainzClient::getResults(int id, ImportTrackDataVector& trackDataList) +void MusicBrainzClient::addFiles() { - bool resultsAvailable = false; - track_t track = tp_GetTrack(m_tp, id); - if (track) { - tr_Lock(track); - int num = tr_GetNumResults(track); - result_t* results; - if (num > 0 && (results = new result_t[num]) != 0) { - TPResultType type; - tr_GetResults(track, &type, results, &num); - if (type == eTrackList) { - albumtrackresult_t** albumTrackResults = - reinterpret_cast(results); - for (int i = 0; i < num; ++i) { - albumtrackresult_t* res = *albumTrackResults++; - ImportTrackData trackData; - trackData.setTitle(QString::fromUtf8(res->name)); -#if HAVE_TUNEPIMP >= 4 - trackData.setArtist(QString::fromUtf8(res->artist.name)); - trackData.setAlbum(QString::fromUtf8(res->album.name)); - trackData.setYear(res->album.releaseYear); -#else - trackData.setArtist(QString::fromUtf8(res->artist->name)); - trackData.setAlbum(QString::fromUtf8(res->album->name)); - trackData.setYear(res->album->releaseYear); -#endif - trackData.setTrack(res->trackNum); - // year does not seem to work, so at least we should not - // overwrite it with 0 - if (trackData.getYear() == 0) { - trackData.setYear(-1); - } - trackData.setImportDuration(res->duration / 1000); - trackDataList.push_back(trackData); - resultsAvailable = true; - } - } -// Handling eArtistList and eAlbumList results does not help much, -// so it is not done. -// else if (type == eArtistList) { -// artistresult_t** artistResults = -// reinterpret_cast(results); -// qDebug("Artist List for %d:", id); -// for (int i = 0; i < num; ++i) { -// artistresult_t* res = *artistResults++; -// qDebug("%2d. %d%% %s", i, res->relevance, res->name); -// } -// } else if (type == eAlbumList) { -// albumresult_t** albumResults = -// reinterpret_cast(results); -// qDebug("Album List for %d:", id); -// for (int i = 0; i < num; ++i) { -// albumresult_t* res = *albumResults++; -// qDebug("%2d. %d%% %s - %s", i, res->relevance, res->artist->name, res->name); -// } -// } - - rs_Delete(type, results, num); - delete [] results; + m_filenameOfTrack.clear(); + m_idsOfTrack.clear(); + const ImportTrackDataVector& trackDataVector(m_trackDataModel->trackData()); + for (ImportTrackDataVector::const_iterator it = trackDataVector.constBegin(); + it != trackDataVector.constEnd(); + ++it) { + if (it->isEnabled()) { + m_filenameOfTrack.append(it->getAbsFilename()); + m_idsOfTrack.append(QStringList()); } - tr_Unlock(track); - tp_ReleaseTrack(m_tp, track); } - return resultsAvailable; + resetState(); + processNextTrack(); } -#endif - -#endif // HAVE_TUNEPIMP +#endif // HAVE_CHROMAPRINT diff -Nru kid3-2.0.1/src/core/import/musicbrainzclient.h kid3-2.1/src/core/import/musicbrainzclient.h --- kid3-2.0.1/src/core/import/musicbrainzclient.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/musicbrainzclient.h 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 15 Sep 2005 * - * Copyright (C) 2005-2007 Urs Fleisch + * Copyright (C) 2005-2012 Urs Fleisch * * This file is part of Kid3. * @@ -30,118 +30,23 @@ #include "config.h" #include -#include -#ifdef HAVE_TUNEPIMP -#if HAVE_TUNEPIMP >= 5 -#include -#else -#include -#endif +#ifdef HAVE_CHROMAPRINT + +#include "trackdata.h" class QByteArray; +class QNetworkAccessManager; class ImportTrackData; class ImportTrackDataVector; class TrackDataModel; - -#if HAVE_TUNEPIMP >= 5 -/** - * A HTTP query to a musicbrainz server for HAVE_TUNEPIMP >= 5. - */ -class LookupQuery : public QObject { -Q_OBJECT - -public: - /** - * Constructor. - * - * @param numFiles number of files to be queried - * @param serverName server name - * @param serverPort server port - * @param proxyName proxy name, empty if no proxy - * @param proxyPort proxy port - */ - LookupQuery(int numFiles, - const QString& serverName, unsigned short serverPort = 80, - const QString& proxyName = "", unsigned short proxyPort = 80); - - /** - * Destructor. - */ - virtual ~LookupQuery(); - - /** - * Query a PUID from the server. - * - * @param puid PUID - * @param index index of file - */ - void query(const char* puid, int index); - -signals: - /** - * Emitted when the query response is received - */ - void queryResponseReceived(int, const QByteArray&); - -private slots: - /** - * Send query when the socket is connected. - */ - void socketConnected(); - - /** - * Error on socket connection. - */ - void socketError(QAbstractSocket::SocketError err); - /** - * Read received data when the server has closed the connection. - */ - void socketConnectionClosed(); - -private: - /** - * Connect to server to query information about the current file. - */ - void socketQuery(); - - /** - * Query the next file. - */ - void queryNext(); - - struct FileQuery { - bool requested; - QString puid; - }; - - /** Number of files to be queried. */ - int m_numFiles; - /** MusicBrainz server */ - QString m_serverName; - /** Port of MusicBrainz server */ - unsigned short m_serverPort; - /** Proxy */ - QString m_proxyName; - /** Port of proxy */ - unsigned short m_proxyPort; - /** - * -1 if not yet started, - * 0..m_numFiles-1 if a file is currently processed, - * >=m_numFiles if all files processed. - */ - int m_currentFile; - FileQuery* m_fileQueries; - QTcpSocket* m_sock; - QString m_request; -}; -#endif // HAVE_TUNEPIMP >= 5 - +class HttpClient; +class FingerprintCalculator; /** * MusicBrainz client. */ -class MusicBrainzClient : public QObject +class KID3_CORE_EXPORT MusicBrainzClient : public QObject { Q_OBJECT @@ -149,29 +54,24 @@ /** * Constructor. * + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values, - * is passed with filenames set + * is passed with filenames set */ - explicit MusicBrainzClient(TrackDataModel* trackDataModel); + MusicBrainzClient(QNetworkAccessManager* netMgr, + TrackDataModel* trackDataModel); + /** * Destructor. */ virtual ~MusicBrainzClient(); /** - * Poll the status of the MusicBrainz query. - */ - void pollStatus(); - - /** * Set configuration. * - * @param server server - * @param proxy proxy - * @param useProxy true if proxy has to be used + * @param server server */ - void setConfig(const QString& server, const QString& proxy, - bool useProxy); + void setConfig(const QString& server); /** * Add the files in the file list. @@ -179,9 +79,9 @@ void addFiles(); /** - * Remove all files. + * Reset the client state. */ - void removeFiles(); + void resetState(); signals: /** @@ -203,65 +103,39 @@ void resultsReceived(int, ImportTrackDataVector&); private slots: - /** - * Process server response with lookup data. - * - * @param index index of file - * @param response response from server - */ - void parseLookupResponse(int index, const QByteArray& response); + void receiveBytes(const QByteArray& bytes); private: - /** - * Get i for m_id[i] == id. - * - * @return index, -1 if not found. - */ - int getIndexOfId(int id) const; - - /** - * Get the file name for an ID. - * - * @param id ID of file - * - * @return absolute file name, QString::null if not found. - */ - QString getFilename(int id) const; - - /** - * Get meta data for recognized file. - * - * @param id ID of file - * @param trackData the meta data is returned here - */ - void getMetaData(int id, ImportTrackData& trackData); + enum State { + Idle, + CalculatingFingerprint, + GettingIds, + GettingMetadata + }; - /** - * Get results for an ambiguous file. - * - * @param id ID of file - * @param trackDataList the results are returned here - * - * @return true if some results were received, - * false if no results available. - */ - bool getResults(int id, ImportTrackDataVector& trackDataList); + bool verifyIdIndex(); + bool verifyTrackIndex(); + void processNextStep(); + void processNextTrack(); + HttpClient* m_httpClient; + FingerprintCalculator* m_fingerprintCalculator; TrackDataModel* m_trackDataModel; - tunepimp_t m_tp; - int* m_ids; - int m_numFiles; -#if HAVE_TUNEPIMP >= 5 - LookupQuery* m_lookupQuery; -#endif + State m_state; + QVector m_filenameOfTrack; + QVector m_idsOfTrack; + int m_currentIndex; + ImportTrackDataVector m_currentTrackData; + QString m_musicBrainzServer; }; -#else // HAVE_TUNEPIMP + +#else // HAVE_CHROMAPRINT // Just to suppress moc "No relevant classes found" warning. class MusicBrainzClient : public QObject { Q_OBJECT }; -#endif // HAVE_TUNEPIMP +#endif // HAVE_CHROMAPRINT #endif // MUSICBRAINZCLIENT_H diff -Nru kid3-2.0.1/src/core/import/musicbrainzreleaseimporter.cpp kid3-2.1/src/core/import/musicbrainzreleaseimporter.cpp --- kid3-2.0.1/src/core/import/musicbrainzreleaseimporter.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/musicbrainzreleaseimporter.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -26,6 +26,7 @@ #include "musicbrainzreleaseimporter.h" #include +#include #include "serverimporterconfig.h" #include "trackdatamodel.h" #include "configstore.h" @@ -34,12 +35,12 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ MusicBrainzReleaseImporter::MusicBrainzReleaseImporter( - QObject* parent, TrackDataModel* trackDataModel) : - ServerImporter(parent, trackDataModel) + QNetworkAccessManager* netMgr, TrackDataModel *trackDataModel) : + ServerImporter(netMgr, trackDataModel) { setObjectName("MusicBrainzReleaseImporter"); } @@ -96,16 +97,19 @@ */ void MusicBrainzReleaseImporter::parseFindResults(const QByteArray& searchStr) { - /* + /* simplified XML result: - - + + Odin - B00008OUEN - - Wizard - - + + + + Wizard + Wizard + + + */ int start = searchStr.indexOf("appendRow(new AlbumListItem( name + " - " + title, @@ -136,17 +141,25 @@ } /** - * Fix up attribute strings by separating them by commas and inserting spaces - * between camel case words. + * Uppercase the first characters of each word in a string. * - * @param str camel case string, e.g. "ElectricGuitar AcousticGuitar" + * @param str string with words to uppercase * - * @return fixed up string, e.g. "Electric Guitar, Acoustic Guitar". + * @return string with first letters in uppercase. */ -static QString fixUpCamelCase(QString str) +static QString upperCaseFirstLetters(const QString& str) { - str.replace(QRegExp("\\s+"), ", "); - return str.replace(QRegExp("([a-z])([A-Z])"), "\\1 \\2"); + QString result(str); + int len = result.length(); + int pos = 0; + while (pos < len) { + result[pos] = result.at(pos).toUpper(); + pos = result.indexOf(' ', pos); + if (pos++ == -1) { + break; + } + } + return result; } /** @@ -168,7 +181,7 @@ { QString value = frames.getValue(type); if (!value.isEmpty()) value += Frame::stringListSeparator(); - value += involvement; + value += upperCaseFirstLetters(involvement); value += Frame::stringListSeparator(); value += involvee; frames.setValue(type, value); @@ -191,25 +204,25 @@ namedItem("name").toElement().text()); if (!artist.isEmpty()) { QString type(relation.toElement().attribute("type")); - if (type == "Instrument") { - QString attributes(relation.toElement().attribute("attributes")); - if (!attributes.isEmpty()) { + if (type == "instrument") { + QDomNode attributeList(relation.toElement().namedItem("attribute-list")); + if (!attributeList.isNull()) { addInvolvedPeople(frames, Frame::FT_Performer, - fixUpCamelCase(attributes), artist); + attributeList.firstChild().toElement().text(), artist); } - } else if (type == "Vocal") { + } else if (type == "vocal") { addInvolvedPeople(frames, Frame::FT_Performer, type, artist); } else { static const struct { const char* credit; Frame::Type type; } creditToType[] = { - { "Composer", Frame::FT_Composer }, - { "Conductor", Frame::FT_Conductor }, - { "PerformingOrchestra", Frame::FT_AlbumArtist }, - { "Lyricist", Frame::FT_Lyricist }, - { "Publisher", Frame::FT_Publisher }, - { "Remixer", Frame::FT_Remixer } + { "composer", Frame::FT_Composer }, + { "conductor", Frame::FT_Conductor }, + { "performing orchestra", Frame::FT_AlbumArtist }, + { "lyricist", Frame::FT_Lyricist }, + { "publisher", Frame::FT_Publisher }, + { "remixer", Frame::FT_Remixer } }; bool found = false; for (unsigned i = 0; @@ -221,9 +234,8 @@ break; } } - if (!found && type != "Tribute") { - addInvolvedPeople(frames, Frame::FT_Arranger, - fixUpCamelCase(type), artist); + if (!found && type != "tribute") { + addInvolvedPeople(frames, Frame::FT_Arranger, type, artist); } } } @@ -242,18 +254,28 @@ { /* - + Odin + + + + Wizard + Wizard + + + + 2003-08-19 B00008OUEN - - Wizard - Wizard - - - - The Prophecy - 319173 - + + + 1 + + + 1 + + The Prophecy + 319173 + */ int start = albumStr.indexOf(""); @@ -265,7 +287,23 @@ doc.namedItem("metadata").toElement().namedItem("release").toElement(); FrameCollection framesHdr; framesHdr.setAlbum(release.namedItem("title").toElement().text()); - framesHdr.setArtist(release.namedItem("artist").toElement().namedItem("name").toElement().text()); + framesHdr.setArtist(release.namedItem("artist-credit").toElement(). + namedItem("name-credit").toElement(). + namedItem("artist").toElement(). + namedItem("name").toElement().text()); + QString date(release.namedItem("date").toElement().text()); + if (!date.isEmpty()) { + QRegExp dateRe("(\\d{4})(?:-\\d{2})?(?:-\\d{2})?"); + int year = 0; + if (dateRe.exactMatch(date)) { + year = dateRe.cap(1).toInt(); + } else { + year = date.toInt(); + } + if (year != 0) { + framesHdr.setYear(year); + } + } ImportTrackDataVector trackDataVector(m_trackDataModel->getTrackData()); trackDataVector.setCoverArtUrl(QString::null); @@ -280,23 +318,12 @@ const bool additionalTags = getAdditionalTags(); if (additionalTags) { - // release year and label can be found in the release-event-list - QDomElement releaseEventList(release.namedItem("release-event-list").toElement()); - if (!releaseEventList.isNull()) { - QDomElement event((releaseEventList.namedItem("event").toElement())); - if (!event.isNull()) { - QString date(event.attribute("date")); - QRegExp dateRe("(\\d{4})(?:-\\d{2})?(?:-\\d{2})?"); - int year = 0; - if (dateRe.exactMatch(date)) { - year = dateRe.cap(1).toInt(); - } else { - year = date.toInt(); - } - if (year != 0) { - framesHdr.setYear(year); - } - QString label(event.namedItem("label").namedItem("name").toElement().text()); + // label can be found in the label-info-list + QDomElement labelInfoList(release.namedItem("label-info-list").toElement()); + if (!labelInfoList.isNull()) { + QDomElement labelInfo((labelInfoList.namedItem("label-info").toElement())); + if (!labelInfo.isNull()) { + QString label(labelInfo.namedItem("label").namedItem("name").toElement().text()); if (!label.isEmpty()) { framesHdr.setValue(Frame::FT_Publisher, label); } @@ -311,11 +338,11 @@ QDomElement relationList(relationListNode.toElement()); if (!relationList.isNull()) { QString targetType(relationList.attribute("target-type")); - if (targetType == "Artist") { + if (targetType == "artist") { if (additionalTags) { parseCredits(relationList, framesHdr); } - } else if (targetType == "Url") { + } else if (targetType == "url") { if (coverArt) { QDomNode relationNode(relationList.firstChild()); while (!relationNode.isNull()) { @@ -323,9 +350,9 @@ QDomElement relation(relationNode.toElement()); if (!relation.isNull()) { QString type(relation.attribute("type")); - if (type == "CoverArtLink" || type == "AmazonAsin") { + if (type == "cover art link" || type == "amazon asin") { trackDataVector.setCoverArtUrl( - relation.attribute("target")); + relation.namedItem("target").toElement().text()); } } } @@ -341,59 +368,84 @@ ImportTrackDataVector::iterator it = trackDataVector.begin(); bool atTrackDataListEnd = (it == trackDataVector.end()); - int trackNr = 1; + int discNr = 1, trackNr = 1, position; + bool ok; FrameCollection frames(framesHdr); - QDomElement trackList = release.namedItem("track-list").toElement(); - for (QDomNode trackNode = trackList.namedItem("track"); - !trackNode.isNull(); - trackNode = trackNode.nextSibling()) { - QDomElement track = trackNode.toElement(); - frames.setTrack(trackNr); - frames.setTitle(track.namedItem("title").toElement().text()); - int duration = track.namedItem("duration").toElement().text().toInt() / 1000; - if (additionalTags) { - QString artist(track.namedItem("artist").toElement(). - namedItem("name").toElement().text()); - if (!artist.isEmpty()) { - // use the artist in the header as the album artist - // and the artist in the track as the artist - frames.setArtist(artist); - frames.setValue(Frame::FT_AlbumArtist, framesHdr.getArtist()); + QDomElement mediumList = release.namedItem("medium-list").toElement(); + int mediumCount = mediumList.attribute("count").toInt(); + for (QDomNode mediumNode = mediumList.namedItem("medium"); + !mediumNode.isNull(); + mediumNode = mediumNode.nextSibling()) { + position = mediumNode.namedItem("position").toElement().text().toInt(&ok); + if (ok) { + discNr = position; + } + QDomElement trackList = mediumNode.namedItem("track-list").toElement(); + for (QDomNode trackNode = trackList.namedItem("track"); + !trackNode.isNull(); + trackNode = trackNode.nextSibling()) { + if (mediumCount > 1) { + frames.setValue(Frame::FT_Disc, QString::number(discNr)); } - QDomNode relationListNode(trackNode.firstChild()); - while (!relationListNode.isNull()) { - if (relationListNode.nodeName() == "relation-list") { - QDomElement relationList(relationListNode.toElement()); - if (!relationList.isNull()) { - if (relationList.attribute("target-type") == "Artist") { - parseCredits(relationList, frames); + QDomElement track = trackNode.toElement(); + position = track.namedItem("position").toElement().text().toInt(&ok); + if (ok) { + trackNr = position; + } + frames.setTrack(trackNr); + int duration = track.namedItem("length").toElement().text().toInt(); + QDomElement recording = track.namedItem("recording").toElement(); + if (!recording.isNull()) { + frames.setTitle(recording.namedItem("title").toElement().text()); + int length = recording.namedItem("length").toElement().text().toInt(&ok); + if (ok) { + duration = length; + } + if (additionalTags) { + QDomNode artistNode = recording.namedItem("artist-credit"); + if (!artistNode.isNull()) { + QString artist(artistNode.toElement(). + namedItem("name-credit").toElement(). + namedItem("artist").toElement(). + namedItem("name").toElement().text()); + if (!artist.isEmpty()) { + // use the artist in the header as the album artist + // and the artist in the track as the artist + frames.setArtist(artist); + frames.setValue(Frame::FT_AlbumArtist, framesHdr.getArtist()); } } + QDomElement relationList = + recording.namedItem("relation-list").toElement(); + if (!relationList.isNull() && + relationList.attribute("target-type") == "artist") { + parseCredits(relationList, frames); + } } - relationListNode = relationListNode.nextSibling(); } - } - if (atTrackDataListEnd) { - ImportTrackData trackData; - trackData.setFrameCollection(frames); - trackData.setImportDuration(duration); - trackDataVector.push_back(trackData); - } else { - while (!atTrackDataListEnd && !it->isEnabled()) { - ++it; - atTrackDataListEnd = (it == trackDataVector.end()); - } - if (!atTrackDataListEnd) { - (*it).setFrameCollection(frames); - (*it).setImportDuration(duration); - ++it; - atTrackDataListEnd = (it == trackDataVector.end()); + duration /= 1000; + if (atTrackDataListEnd) { + ImportTrackData trackData; + trackData.setFrameCollection(frames); + trackData.setImportDuration(duration); + trackDataVector.push_back(trackData); + } else { + while (!atTrackDataListEnd && !it->isEnabled()) { + ++it; + atTrackDataListEnd = (it == trackDataVector.end()); + } + if (!atTrackDataListEnd) { + (*it).setFrameCollection(frames); + (*it).setImportDuration(duration); + ++it; + atTrackDataListEnd = (it == trackDataVector.end()); + } } + ++trackNr; + frames = framesHdr; } - ++trackNr; - frames = framesHdr; + ++discNr; } - // handle redundant tracks frames.clear(); while (!atTrackDataListEnd) { @@ -427,12 +479,27 @@ { /* * Query looks like this: - * http://musicbrainz.org/ws/1/release/?type=xml&artist=wizard&title=odin + * http://musicbrainz.org/ws/2/release?query=artist:wizard%20AND%20release:odin */ - sendRequest(cfg->m_server, - QString("/ws/1/release/?type=xml&artist=") + - encodeUrlQuery(artist) + - "&title=" + encodeUrlQuery(album)); + QString path("/ws/2/release?query="); + if (!artist.isEmpty()) { + QString artistQuery(artist.contains(' ') + ? QString('"') + artist + '"' + : artist); + if (!album.isEmpty()) { + artistQuery += " AND "; + } + path += "artist:"; + path += QUrl::toPercentEncoding(artistQuery); + } + if (!album.isEmpty()) { + QString albumQuery(album.contains(' ') + ? QString('"') + album + '"' + : album); + path += "release:"; + path += QUrl::toPercentEncoding(albumQuery); + } + sendRequest(cfg->m_server, path); } /** @@ -448,16 +515,16 @@ { /* * Query looks like this: - * http://musicbrainz.org/ws/1/release/978c7ed1-a854-4ef2-bd4e-e7c1317be854/?type=xml&inc=artist+tracks + * http://musicbrainz.org/ws/2/release/978c7ed1-a854-4ef2-bd4e-e7c1317be854?inc=artists+recordings */ - QString path("/ws/1/"); + QString path("/ws/2/"); path += cat; path += '/'; path += id; - path += "/?type=xml&inc=artist+tracks"; + path += "?inc=artists+recordings"; if (cfg->m_additionalTags) { - path += "+release-events+artist-rels+release-rels+track-rels+" - "track-level-rels+labels"; + path += "+artist-rels+artist-credits+release-rels+recording-rels+" + "recording-level-rels+labels"; } if (cfg->m_coverArt) { path += "+url-rels"; diff -Nru kid3-2.0.1/src/core/import/musicbrainzreleaseimporter.h kid3-2.1/src/core/import/musicbrainzreleaseimporter.h --- kid3-2.0.1/src/core/import/musicbrainzreleaseimporter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/musicbrainzreleaseimporter.h 2012-05-11 05:46:04.000000000 +0000 @@ -38,10 +38,10 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ - MusicBrainzReleaseImporter(QObject* parent, + MusicBrainzReleaseImporter(QNetworkAccessManager* netMgr, TrackDataModel* trackDataModel); /** diff -Nru kid3-2.0.1/src/core/import/serverimporter.cpp kid3-2.1/src/core/import/serverimporter.cpp --- kid3-2.0.1/src/core/import/serverimporter.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/serverimporter.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -34,12 +34,12 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ -ServerImporter::ServerImporter(QObject* parent, +ServerImporter::ServerImporter(QNetworkAccessManager* netMgr, TrackDataModel* trackDataModel) - : ImportClient(parent), + : ImportClient(netMgr), m_albumListModel(new QStandardItemModel(this)), m_trackDataModel(trackDataModel), m_additionalTagsEnabled(false), m_coverArtEnabled(false) diff -Nru kid3-2.0.1/src/core/import/serverimporter.h kid3-2.1/src/core/import/serverimporter.h --- kid3-2.0.1/src/core/import/serverimporter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/serverimporter.h 2012-05-11 05:46:04.000000000 +0000 @@ -47,11 +47,11 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ - ServerImporter(QObject* parent, - TrackDataModel* trackDataModel); + ServerImporter(QNetworkAccessManager* netMgr, + TrackDataModel *trackDataModel); /** * Destructor. diff -Nru kid3-2.0.1/src/core/import/Sources.cmake kid3-2.1/src/core/import/Sources.cmake --- kid3-2.0.1/src/core/import/Sources.cmake 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/Sources.cmake 2012-05-11 05:46:04.000000000 +0000 @@ -1,6 +1,7 @@ set(import_SRCS import/amazonimporter.cpp import/discogsimporter.cpp + import/fingerprintcalculator.cpp import/freedbimporter.cpp import/httpclient.cpp import/importclient.cpp diff -Nru kid3-2.0.1/src/core/import/textimporter.h kid3-2.1/src/core/import/textimporter.h --- kid3-2.0.1/src/core/import/textimporter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/textimporter.h 2012-05-11 05:46:04.000000000 +0000 @@ -28,6 +28,7 @@ #define TEXTIMPORTER_H #include +#include "kid3api.h" class ImportTrackDataVector; class ImportParser; @@ -37,7 +38,7 @@ /** * Import tags from text. */ -class TextImporter { +class KID3_CORE_EXPORT TextImporter { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/import/trackdatamatcher.h kid3-2.1/src/core/import/trackdatamatcher.h --- kid3-2.0.1/src/core/import/trackdatamatcher.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/trackdatamatcher.h 2012-05-11 05:46:04.000000000 +0000 @@ -27,6 +27,8 @@ #ifndef TRACKDATAMATCHER_H #define TRACKDATAMATCHER_H +#include "kid3api.h" + class TrackDataModel; /** @@ -41,7 +43,7 @@ * @param diffCheckEnable true if time difference check is enabled * @param maxDiff maximum allowed time difference */ -bool matchWithLength(TrackDataModel* trackDataModel, +bool KID3_CORE_EXPORT matchWithLength(TrackDataModel* trackDataModel, bool diffCheckEnable, int maxDiff); /** @@ -49,14 +51,14 @@ * * @param trackDataModel tracks to match */ -bool matchWithTrack(TrackDataModel* trackDataModel); +bool KID3_CORE_EXPORT matchWithTrack(TrackDataModel* trackDataModel); /** * Match import data with title. * * @param trackDataModel tracks to match */ -bool matchWithTitle(TrackDataModel* trackDataModel); +bool KID3_CORE_EXPORT matchWithTitle(TrackDataModel* trackDataModel); } diff -Nru kid3-2.0.1/src/core/import/tracktypeimporter.cpp kid3-2.1/src/core/import/tracktypeimporter.cpp --- kid3-2.0.1/src/core/import/tracktypeimporter.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/tracktypeimporter.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -34,12 +34,12 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ -TrackTypeImporter::TrackTypeImporter(QObject* parent, - TrackDataModel* trackDataModel) : - FreedbImporter(parent, trackDataModel) +TrackTypeImporter::TrackTypeImporter(QNetworkAccessManager* netMgr, + TrackDataModel *trackDataModel) : + FreedbImporter(netMgr, trackDataModel) { setObjectName("TrackTypeImporter"); } diff -Nru kid3-2.0.1/src/core/import/tracktypeimporter.h kid3-2.1/src/core/import/tracktypeimporter.h --- kid3-2.0.1/src/core/import/tracktypeimporter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/import/tracktypeimporter.h 2012-05-11 05:46:04.000000000 +0000 @@ -38,11 +38,11 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager * @param trackDataModel track data to be filled with imported values */ - TrackTypeImporter(QObject* parent, - TrackDataModel* trackDataModel); + TrackTypeImporter(QNetworkAccessManager* netMgr, + TrackDataModel *trackDataModel); /** * Destructor. diff -Nru kid3-2.0.1/src/core/model/audioplayer.h kid3-2.1/src/core/model/audioplayer.h --- kid3-2.0.1/src/core/model/audioplayer.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/audioplayer.h 2012-05-11 05:46:04.000000000 +0000 @@ -33,6 +33,7 @@ #ifdef HAVE_PHONON #include +#include "kid3api.h" namespace Phonon { class AudioOutput; @@ -42,7 +43,7 @@ /** * Audio player toolbar. */ -class AudioPlayer : public QObject { +class KID3_CORE_EXPORT AudioPlayer : public QObject { Q_OBJECT public: diff -Nru kid3-2.0.1/src/core/model/commandformatreplacer.cpp kid3-2.1/src/core/model/commandformatreplacer.cpp --- kid3-2.0.1/src/core/model/commandformatreplacer.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/commandformatreplacer.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -90,16 +90,20 @@ if (!name.isNull()) { if (name == "file") { - result = m_files.front(); + if (!m_files.isEmpty()) { + result = m_files.front(); + } } else if (name == "directory") { - result = m_files.front(); - if (!m_isDir) { - int sepPos = result.lastIndexOf('/'); - if (sepPos < 0) { - sepPos = result.lastIndexOf(QDir::separator()); - } - if (sepPos >= 0) { - result.truncate(sepPos); + if (!m_files.isEmpty()) { + result = m_files.front(); + if (!m_isDir) { + int sepPos = result.lastIndexOf('/'); + if (sepPos < 0) { + sepPos = result.lastIndexOf(QDir::separator()); + } + if (sepPos >= 0) { + result.truncate(sepPos); + } } } } else if (name == "browser") { diff -Nru kid3-2.0.1/src/core/model/commandformatreplacer.h kid3-2.1/src/core/model/commandformatreplacer.h --- kid3-2.0.1/src/core/model/commandformatreplacer.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/commandformatreplacer.h 2012-05-11 05:46:04.000000000 +0000 @@ -32,7 +32,7 @@ /** * Replaces context command format codes in a string. */ -class CommandFormatReplacer : public FrameFormatReplacer { +class KID3_CORE_EXPORT CommandFormatReplacer : public FrameFormatReplacer { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/model/commandstablemodel.cpp kid3-2.1/src/core/model/commandstablemodel.cpp --- kid3-2.0.1/src/core/model/commandstablemodel.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/commandstablemodel.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -282,5 +282,10 @@ cmdList.append(*it); } } + if (cmdList.isEmpty()) { + // Make sure that their is at least one entry, so that new entries can + // be added. + cmdList.append(MiscConfig::MenuCommand()); + } return cmdList; } diff -Nru kid3-2.0.1/src/core/model/commandstablemodel.h kid3-2.1/src/core/model/commandstablemodel.h --- kid3-2.0.1/src/core/model/commandstablemodel.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/commandstablemodel.h 2012-05-11 05:46:04.000000000 +0000 @@ -31,11 +31,12 @@ #include #include #include "miscconfig.h" +#include "kid3api.h" /** * Context menu commands configuration table model. */ -class CommandsTableModel : public QAbstractTableModel { +class KID3_CORE_EXPORT CommandsTableModel : public QAbstractTableModel { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/model/configtablemodel.h kid3-2.1/src/core/model/configtablemodel.h --- kid3-2.0.1/src/core/model/configtablemodel.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/configtablemodel.h 2012-05-11 05:46:04.000000000 +0000 @@ -32,11 +32,12 @@ #include #include #include +#include "kid3api.h" /** * Context menu commands configuration table model. */ -class ConfigTableModel : public QAbstractTableModel { +class KID3_CORE_EXPORT ConfigTableModel : public QAbstractTableModel { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/model/dirlist.h kid3-2.1/src/core/model/dirlist.h --- kid3-2.0.1/src/core/model/dirlist.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/dirlist.h 2012-05-11 05:46:04.000000000 +0000 @@ -28,11 +28,12 @@ #define DIRLIST_H #include +#include "kid3api.h" /** * List of directories to operate on. */ -class DirList : public QListView { +class KID3_CORE_EXPORT DirList : public QListView { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/model/dirrenamer.cpp kid3-2.1/src/core/model/dirrenamer.cpp --- kid3-2.0.1/src/core/model/dirrenamer.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/dirrenamer.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -28,12 +28,16 @@ #include #include #include "qtcompatmac.h" +#include "saferename.h" +#include "fileproxymodel.h" +#include "modeliterator.h" /** * Constructor. * @param parent parent object */ -DirRenamer::DirRenamer(QObject* parent) : QObject(parent), m_aborted(false) +DirRenamer::DirRenamer(QObject* parent) : QObject(parent), m_aborted(false), + m_tagVersion(TrackData::TagV2V1), m_actionCreate(false) { setObjectName("DirRenamer"); } @@ -103,13 +107,15 @@ * * @param olddir old directory name * @param newdir new directory name + * @param index model index of item to rename * @param errorMsg if not NULL and an error occurred, a message is * appended here, otherwise it is not touched * * @return true if rename successful. */ bool DirRenamer::renameDirectory( - const QString& olddir, const QString& newdir, QString* errorMsg) const + const QString& olddir, const QString& newdir, + const QPersistentModelIndex& index, QString* errorMsg) const { if (QFileInfo(newdir).exists()) { if (errorMsg) { @@ -123,7 +129,11 @@ } return false; } - if (QDir().rename(olddir, newdir) && QFileInfo(newdir).isDir()) { + if (index.isValid()) { + // The directory must be closed before renaming on Windows. + TaggedFileIterator::closeFileHandles(index); + } + if (Utils::safeRename(olddir, newdir) && QFileInfo(newdir).isDir()) { return true; } else { if (errorMsg) { @@ -145,11 +155,12 @@ * @param newfn new file name * @param errorMsg if not NULL and an error occurred, a message is * appended here, otherwise it is not touched + * @param index model index of item to rename * * @return true if rename successful or newfn already exists. */ bool DirRenamer::renameFile(const QString& oldfn, const QString& newfn, - QString* errorMsg) const + const QPersistentModelIndex& index, QString* errorMsg) const { if (QFileInfo(newfn).isFile()) { return true; @@ -166,7 +177,11 @@ } return false; } - if (QDir().rename(oldfn, newfn) && QFileInfo(newfn).isFile()) { + if (TaggedFile* taggedFile = FileProxyModel::getTaggedFileOfIndex(index)) { + // The file must be closed before renaming on Windows. + taggedFile->closeFileHandle(); + } + if (Utils::safeRename(oldfn, newfn) && QFileInfo(newfn).isFile()) { return true; } else { if (errorMsg) { @@ -227,8 +242,10 @@ * @param type type of action * @param src source file or directory name * @param dest destination file or directory name + * @param index model index of item to rename */ -void DirRenamer::addAction(RenameAction::Type type, const QString& src, const QString& dest) +void DirRenamer::addAction(RenameAction::Type type, const QString& src, const QString& dest, + const QPersistentModelIndex& index) { // do not add an action if the source or destination is already in an action for (RenameActionList::const_iterator it = m_actions.begin(); @@ -240,7 +257,7 @@ } } - m_actions.push_back(RenameAction(type, src, dest)); + m_actions.push_back(RenameAction(type, src, dest, index)); } /** @@ -354,7 +371,8 @@ if (!createDir) { addAction(RenameAction::RenameFile, dirWithFiles + '/' + taggedFile->getFilename(), - currentDirname + newPart + '/' + taggedFile->getFilename()); + currentDirname + newPart + '/' + taggedFile->getFilename(), + taggedFile->getIndex()); } currentDirname = currentDirname + newPart; } @@ -377,10 +395,12 @@ // directory already exists => move files addAction(RenameAction::RenameFile, currentDirname + '/' + taggedFile->getFilename(), - parentWithNewPart + '/' + taggedFile->getFilename()); + parentWithNewPart + '/' + taggedFile->getFilename(), + taggedFile->getIndex()); currentDirname = parentWithNewPart; } else { - addAction(RenameAction::RenameDirectory, currentDirname, parentWithNewPart); + addAction(RenameAction::RenameDirectory, currentDirname, parentWithNewPart, + taggedFile->getIndex().parent()); currentDirname = parentWithNewPart; } } else { @@ -409,14 +429,15 @@ createDirectory((*it).m_dest, errorMsg); break; case RenameAction::RenameDirectory: - if (renameDirectory((*it).m_src, (*it).m_dest, errorMsg)) { + if (renameDirectory((*it).m_src, (*it).m_dest, (*it).m_index, + errorMsg)) { if ((*it).m_src == m_dirName) { m_dirName = (*it).m_dest; } } break; case RenameAction::RenameFile: - renameFile((*it).m_src, (*it).m_dest, errorMsg); + renameFile((*it).m_src, (*it).m_dest, (*it).m_index, errorMsg); break; case RenameAction::ReportError: default: diff -Nru kid3-2.0.1/src/core/model/dirrenamer.h kid3-2.1/src/core/model/dirrenamer.h --- kid3-2.0.1/src/core/model/dirrenamer.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/dirrenamer.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,13 +30,14 @@ #include #include #include "trackdata.h" +#include "kid3api.h" class TaggedFile; /** * Directory renamer. */ -class DirRenamer : public QObject { +class KID3_CORE_EXPORT DirRenamer : public QObject { public: /** * Constructor. @@ -160,9 +161,11 @@ * @param type type of action * @param src source file or directory name * @param dest destination file or directory name + * @param index model index of item to rename */ - RenameAction(Type type, const QString& src, const QString& dest) : - m_type(type), m_src(src), m_dest(dest) {} + RenameAction(Type type, const QString& src, const QString& dest, + const QPersistentModelIndex& index) : + m_type(type), m_src(src), m_dest(dest), m_index(index) {} /** * Constructor. @@ -186,6 +189,7 @@ Type m_type; /**< type of action */ QString m_src; /**< source file or directory name */ QString m_dest; /**< destination file or directory name */ + QPersistentModelIndex m_index; /**< model index of item to rename */ }; /** List of rename actions. */ @@ -209,11 +213,13 @@ * @param newdir new directory name * @param errorMsg if not NULL and an error occurred, a message is * appended here, otherwise it is not touched + * @param index model index of item to rename * * @return true if rename successful. */ bool renameDirectory( - const QString& olddir, const QString& newdir, QString* errorMsg) const; + const QString& olddir, const QString& newdir, + const QPersistentModelIndex& index, QString *errorMsg) const; /** * Rename a file. @@ -222,11 +228,12 @@ * @param newfn new file name * @param errorMsg if not NULL and an error occurred, a message is * appended here, otherwise it is not touched + * @param index model index of item to rename * * @return true if rename successful or newfn already exists. */ bool renameFile(const QString& oldfn, const QString& newfn, - QString* errorMsg) const; + const QPersistentModelIndex& index, QString* errorMsg) const; /** * Add a rename action. @@ -234,9 +241,11 @@ * @param type type of action * @param src source file or directory name * @param dest destination file or directory name + * @param index model index of item to rename */ void addAction(RenameAction::Type type, const QString& src, - const QString& dest); + const QString& dest, + const QPersistentModelIndex& index = QPersistentModelIndex()); /** * Add a rename action. diff -Nru kid3-2.0.1/src/core/model/downloadclient.cpp kid3-2.1/src/core/model/downloadclient.cpp --- kid3-2.0.1/src/core/model/downloadclient.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/downloadclient.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -30,10 +30,10 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager */ -DownloadClient::DownloadClient(QObject* parent) : HttpClient(parent), - m_canceled(false) +DownloadClient::DownloadClient(QNetworkAccessManager* netMgr) : + HttpClient(netMgr), m_canceled(false) { connect(this, SIGNAL(bytesReceived(const QByteArray&)), this, SLOT(requestFinished(const QByteArray&))); @@ -59,9 +59,7 @@ m_url += hostName; m_url += path; emit downloadStarted(m_url); - emit progress(i18n("Ready."), - HttpClient::CS_RequestConnection, - HttpClient::CS_EstimatedBytes); + emit progress(i18n("Ready."), 0, 0); sendRequest(hostName, path); } diff -Nru kid3-2.0.1/src/core/model/downloadclient.h kid3-2.1/src/core/model/downloadclient.h --- kid3-2.0.1/src/core/model/downloadclient.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/downloadclient.h 2012-05-11 05:46:04.000000000 +0000 @@ -40,9 +40,9 @@ /** * Constructor. * - * @param parent parent object + * @param netMgr network access manager */ - explicit DownloadClient(QObject* parent = 0); + explicit DownloadClient(QNetworkAccessManager* netMgr); /** * Destructor. diff -Nru kid3-2.0.1/src/core/model/expressionparser.cpp kid3-2.1/src/core/model/expressionparser.cpp --- kid3-2.0.1/src/core/model/expressionparser.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/expressionparser.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -139,21 +139,6 @@ m_rpnIterator = m_rpnStack.begin(); } -/** - * Get the next token from the RPN stack. - * - * @return token, QString::null if stack is empty. - */ -QString ExpressionParser::getToken() -{ - if (!m_rpnStack.empty()) { - QString token = m_rpnStack.front(); - m_rpnStack.pop_front(); - return token; - } - return QString::null; -} - /** * Convert a string to a boolean. diff -Nru kid3-2.0.1/src/core/model/expressionparser.h kid3-2.1/src/core/model/expressionparser.h --- kid3-2.0.1/src/core/model/expressionparser.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/expressionparser.h 2012-05-11 05:46:04.000000000 +0000 @@ -105,13 +105,6 @@ private: /** - * Get the next token from the RPN stack. - * - * @return token, QString::null if stack is empty. - */ - QString getToken(); - - /** * Compare operator priority. * * @return true if op1 has less priority than op2. diff -Nru kid3-2.0.1/src/core/model/externalprocess.cpp kid3-2.1/src/core/model/externalprocess.cpp --- kid3-2.0.1/src/core/model/externalprocess.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/externalprocess.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 22 Feb 2007 * - * Copyright (C) 2007 Urs Fleisch + * Copyright (C) 2007-2012 Urs Fleisch * * This file is part of Kid3. * @@ -46,26 +46,24 @@ setModal(false); QVBoxLayout* vlayout = new QVBoxLayout(this); m_textEdit = new QTextEdit(this); - if (vlayout && m_textEdit) { - vlayout->setSpacing(6); - vlayout->setMargin(6); - m_textEdit->setReadOnly(true); - vlayout->addWidget(m_textEdit); - QHBoxLayout* buttonLayout = new QHBoxLayout; - QPushButton* clearButton = new QPushButton(i18n("C&lear"), this); - QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, - QSizePolicy::Minimum); - QPushButton* closeButton = new QPushButton(i18n("&Close"), this); - if (buttonLayout && clearButton && hspacer && closeButton) { - buttonLayout->addWidget(clearButton); - buttonLayout->addItem(hspacer); - buttonLayout->addWidget(closeButton); - connect(clearButton, SIGNAL(clicked()), m_textEdit, SLOT(clear())); - connect(closeButton, SIGNAL(clicked()), this, SLOT(accept())); - vlayout->addLayout(buttonLayout); - } - } - resize(586, 424); + vlayout->setSpacing(6); + vlayout->setMargin(6); + m_textEdit->setReadOnly(true); + m_textEdit->setLineWrapMode(QTextEdit::NoWrap); + m_textEdit->setStyleSheet("font-family: \"Courier\";"); + vlayout->addWidget(m_textEdit); + QHBoxLayout* buttonLayout = new QHBoxLayout; + QPushButton* clearButton = new QPushButton(i18n("C&lear"), this); + QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, + QSizePolicy::Minimum); + QPushButton* closeButton = new QPushButton(i18n("&Close"), this); + buttonLayout->addWidget(clearButton); + buttonLayout->addItem(hspacer); + buttonLayout->addWidget(closeButton); + connect(clearButton, SIGNAL(clicked()), m_textEdit, SLOT(clear())); + connect(closeButton, SIGNAL(clicked()), this, SLOT(accept())); + vlayout->addLayout(buttonLayout); + resize(600, 424); } /** @@ -74,6 +72,50 @@ ExternalProcess::OutputViewer::~OutputViewer() {} /** + * Append text. + */ +void ExternalProcess::OutputViewer::append(const QString& text) +{ + if (text.isEmpty()) + return; + + QString txt(text); + txt.replace("\r\n", "\n"); + int startPos = 0; + int txtLen = txt.length(); + while (startPos < txtLen) { + QChar ch; + int len; + int crLfPos = txt.indexOf(QRegExp("[\\r\\n]"), startPos); + if (crLfPos >= startPos) { + ch = txt.at(crLfPos); + len = crLfPos - startPos; + } else { + ch = QChar(); + len = -1; + } + QString line(txt.mid(startPos, len)); + if (!m_textEdit->textCursor().atBlockEnd()) { + QTextCursor cursor = m_textEdit->textCursor(); + cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, + line.length()); + m_textEdit->setTextCursor(cursor); + } + m_textEdit->insertPlainText(line); + if (ch == '\r') { + m_textEdit->moveCursor(QTextCursor::StartOfLine); + } else if (ch == '\n') { + m_textEdit->moveCursor(QTextCursor::EndOfLine); + m_textEdit->insertPlainText(ch); + } + if (len == -1) { + break; + } + startPos = crLfPos + 1; + } +} + +/** * Scroll text to bottom. */ void ExternalProcess::OutputViewer::scrollToBottom() @@ -124,41 +166,34 @@ if (!m_process) { m_process = new QProcess(m_parent); } - if (m_process) { - if (m_process->state() != QProcess::NotRunning) { - m_process = new QProcess(m_parent); - } + if (m_process->state() != QProcess::NotRunning) { + m_process = new QProcess(m_parent); + } - if (showOutput) { - if (!m_outputViewer) { - m_outputViewer = new OutputViewer(0); - } - if (m_outputViewer) { - connect(m_process, SIGNAL(readyReadStandardOutput()), - this, SLOT(readFromStdout())); - connect(m_process, SIGNAL(readyReadStandardError()), - this, SLOT(readFromStderr())); - m_outputViewer->setWindowTitle(name); - m_outputViewer->show(); - m_outputViewer->raise(); - m_outputViewer->scrollToBottom(); - } - } else { - disconnect(m_process, SIGNAL(readyReadStandardOutput()), - this, SLOT(readFromStdout())); - disconnect(m_process, SIGNAL(readyReadStandardError()), - this, SLOT(readFromStderr())); + if (showOutput) { + if (!m_outputViewer) { + m_outputViewer = new OutputViewer(0); } + m_process->setProcessChannelMode(QProcess::MergedChannels); + connect(m_process, SIGNAL(readyReadStandardOutput()), + this, SLOT(readFromStdout())); + m_outputViewer->setWindowTitle(name); + m_outputViewer->show(); + m_outputViewer->raise(); + m_outputViewer->scrollToBottom(); + } else { + disconnect(m_process, SIGNAL(readyReadStandardOutput()), + this, SLOT(readFromStdout())); + } - QStringList arguments = args; - QString program = arguments.takeFirst(); - m_process->start(program, arguments); - if (!m_process->waitForStarted(10000)) { - QMessageBox::warning( - m_parent, name, - i18n("Could not execute ") + args.join(" "), - QMessageBox::Ok, Qt::NoButton); - } + QStringList arguments = args; + QString program = arguments.takeFirst(); + m_process->start(program, arguments); + if (!m_process->waitForStarted(10000)) { + QMessageBox::warning( + m_parent, name, + i18n("Could not execute ") + args.join(" "), + QMessageBox::Ok, Qt::NoButton); } } @@ -169,11 +204,3 @@ { m_outputViewer->append(m_process->readAllStandardOutput()); } - -/** - * Read data from standard error and display it in the output viewer. - */ -void ExternalProcess::readFromStderr() -{ - m_outputViewer->append(m_process->readAllStandardError()); -} diff -Nru kid3-2.0.1/src/core/model/externalprocess.h kid3-2.1/src/core/model/externalprocess.h --- kid3-2.0.1/src/core/model/externalprocess.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/externalprocess.h 2012-05-11 05:46:04.000000000 +0000 @@ -29,6 +29,7 @@ #include #include +#include "kid3api.h" class QProcess; class QString; @@ -38,7 +39,7 @@ /** * Handler for external process. */ -class ExternalProcess : public QObject { +class KID3_CORE_EXPORT ExternalProcess : public QObject { Q_OBJECT public: @@ -62,9 +63,7 @@ /** * Append text. */ - void append(const QString& text) { - m_textEdit->append(text); - } + void append(const QString& text); /** * Scroll text to bottom. @@ -105,11 +104,6 @@ */ void readFromStdout(); - /** - * Read data from standard error and display it in the output viewer. - */ - void readFromStderr(); - private: QWidget* m_parent; QProcess* m_process; diff -Nru kid3-2.0.1/src/core/model/filefilter.h kid3-2.1/src/core/model/filefilter.h --- kid3-2.0.1/src/core/model/filefilter.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/filefilter.h 2012-05-11 05:46:04.000000000 +0000 @@ -37,7 +37,7 @@ /** * Filter for tagged files. */ -class FileFilter : public QObject { +class KID3_CORE_EXPORT FileFilter : public QObject { Q_OBJECT public: /** Type of filter event. */ diff -Nru kid3-2.0.1/src/core/model/fileproxymodel.cpp kid3-2.1/src/core/model/fileproxymodel.cpp --- kid3-2.0.1/src/core/model/fileproxymodel.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/fileproxymodel.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 22-Mar-2011 * - * Copyright (C) 2011 Urs Fleisch + * Copyright (C) 2011-2012 Urs Fleisch * * This file is part of Kid3. * @@ -26,7 +26,6 @@ #include "fileproxymodel.h" #include -#include "taggedfile.h" #include "taggedfileiconprovider.h" #include "config.h" #ifdef HAVE_ID3LIB @@ -435,19 +434,6 @@ return model->filePath(index); } -/** - * Release a tagged file or directory index from an index. - * If the index has a TaggedFile, it will be deleted. - * - * @param index model index - */ -void FileProxyModel::releaseTaggedFileOfIndex(const QModelIndex& index) { - // setData() will not invalidate the model, so this should be safe. - QAbstractItemModel* model = const_cast(index.model()); - if (model) - model->setData(index, QVariant(), FileProxyModel::TaggedFileRole); -} - #if defined HAVE_ID3LIB && defined HAVE_TAGLIB /** * Read tagged file with TagLib. @@ -459,21 +445,20 @@ TaggedFile* FileProxyModel::readWithTagLib(TaggedFile* taggedFile) { const QPersistentModelIndex& index = taggedFile->getIndex(); - if (TagLibFile* tagLibFile = new TagLibFile( - taggedFile->getDirname(), taggedFile->getFilename(), index)) { - if (index.isValid()) { - QVariant data; - data.setValue(static_cast(tagLibFile)); - // setData() will not invalidate the model, so this should be safe. - QAbstractItemModel* setDataModel = const_cast( - index.model()); - if (setDataModel) { - setDataModel->setData(index, data, FileProxyModel::TaggedFileRole); - } + TagLibFile* tagLibFile = new TagLibFile( + taggedFile->getDirname(), taggedFile->getFilename(), index); + if (index.isValid()) { + QVariant data; + data.setValue(static_cast(tagLibFile)); + // setData() will not invalidate the model, so this should be safe. + QAbstractItemModel* setDataModel = const_cast( + index.model()); + if (setDataModel) { + setDataModel->setData(index, data, FileProxyModel::TaggedFileRole); } - taggedFile = tagLibFile; - taggedFile->readTags(false); } + taggedFile = tagLibFile; + taggedFile->readTags(false); return taggedFile; } @@ -487,21 +472,20 @@ TaggedFile* FileProxyModel::readWithId3Lib(TaggedFile* taggedFile) { const QPersistentModelIndex& index = taggedFile->getIndex(); - if (Mp3File* id3libFile = new Mp3File( - taggedFile->getDirname(), taggedFile->getFilename(), index)) { - if (index.isValid()) { - QVariant data; - data.setValue(static_cast(id3libFile)); - // setData() will not invalidate the model, so this should be safe. - QAbstractItemModel* setDataModel = const_cast( - index.model()); - if (setDataModel) { - setDataModel->setData(index, data, FileProxyModel::TaggedFileRole); - } + Mp3File* id3libFile = new Mp3File( + taggedFile->getDirname(), taggedFile->getFilename(), index); + if (index.isValid()) { + QVariant data; + data.setValue(static_cast(id3libFile)); + // setData() will not invalidate the model, so this should be safe. + QAbstractItemModel* setDataModel = const_cast( + index.model()); + if (setDataModel) { + setDataModel->setData(index, data, FileProxyModel::TaggedFileRole); } - taggedFile = id3libFile; - taggedFile->readTags(false); } + taggedFile = id3libFile; + taggedFile->readTags(false); return taggedFile; } diff -Nru kid3-2.0.1/src/core/model/fileproxymodel.h kid3-2.1/src/core/model/fileproxymodel.h --- kid3-2.0.1/src/core/model/fileproxymodel.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/fileproxymodel.h 2012-05-11 05:46:04.000000000 +0000 @@ -32,15 +32,16 @@ #include #include #include +#include "taggedfile.h" +#include "kid3api.h" class QFileSystemModel; -class TaggedFile; class TaggedFileIconProvider; /** * Proxy for filesystem model which filters files. */ -class FileProxyModel : public QSortFilterProxyModel { +class KID3_CORE_EXPORT FileProxyModel : public QSortFilterProxyModel { Q_OBJECT public: /** Custom role, extending QFileSystemModel::Roles. */ @@ -201,14 +202,6 @@ static QString getPathIfIndexOfDir(const QModelIndex& index); /** - * Release a tagged file or directory index from an index. - * If the index has a TaggedFile, it will be deleted. - * - * @param index model index - */ - static void releaseTaggedFileOfIndex(const QModelIndex& index); - - /** * Read tagged file with TagLib. * * @param taggedFile tagged file diff -Nru kid3-2.0.1/src/core/model/frametablemodel.cpp kid3-2.1/src/core/model/frametablemodel.cpp --- kid3-2.0.1/src/core/model/frametablemodel.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/frametablemodel.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 01 May 2011 * - * Copyright (C) 2011 Urs Fleisch + * Copyright (C) 2011-2012 Urs Fleisch * * This file is part of Kid3. * @@ -316,7 +316,7 @@ const Frame* FrameTableModel::getFrameOfIndex(const QModelIndex& index) const { if (index.isValid() && index.row() < static_cast(m_frames.size())) { - FrameCollection::iterator it = frameAt(index.row()); + FrameCollection::const_iterator it = frameAt(index.row()); return &(*it); } return 0; @@ -576,34 +576,32 @@ bool id3v1 = ftModel && ftModel->isId3v1(); if (type == Frame::FT_Genre) { QComboBox* cb = new QComboBox(parent); - if (cb) { - if (!id3v1) { - cb->setEditable(true); - cb->setAutoCompletion(true); - cb->setDuplicatesEnabled(false); - } + if (!id3v1) { + cb->setEditable(true); + cb->setAutoCompletion(true); + cb->setDuplicatesEnabled(false); + } - QStringList strList; - for (const char** sl = Genres::s_strList; *sl != 0; ++sl) { - strList += *sl; - } - if (ConfigStore::s_miscCfg.m_onlyCustomGenres) { - cb->addItem(""); - } else { - cb->addItems(strList); - } - if (id3v1) { - for (QStringList::const_iterator it = - ConfigStore::s_miscCfg.m_customGenres.begin(); - it != ConfigStore::s_miscCfg.m_customGenres.end(); - ++it) { - if (Genres::getNumber(*it) != 255) { - cb->addItem(*it); - } + QStringList strList; + for (const char** sl = Genres::s_strList; *sl != 0; ++sl) { + strList += *sl; + } + if (ConfigStore::s_miscCfg.m_onlyCustomGenres) { + cb->addItem(""); + } else { + cb->addItems(strList); + } + if (id3v1) { + for (QStringList::const_iterator it = + ConfigStore::s_miscCfg.m_customGenres.begin(); + it != ConfigStore::s_miscCfg.m_customGenres.end(); + ++it) { + if (Genres::getNumber(*it) != 255) { + cb->addItem(*it); } - } else { - cb->addItems(ConfigStore::s_miscCfg.m_customGenres); } + } else { + cb->addItems(ConfigStore::s_miscCfg.m_customGenres); } return cb; } else if (id3v1 && diff -Nru kid3-2.0.1/src/core/model/frametablemodel.h kid3-2.1/src/core/model/frametablemodel.h --- kid3-2.0.1/src/core/model/frametablemodel.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/frametablemodel.h 2012-05-11 05:46:04.000000000 +0000 @@ -32,11 +32,12 @@ #include #include #include "frame.h" +#include "kid3api.h" /** * Model for table with frames. */ -class FrameTableModel : public QAbstractTableModel { +class KID3_CORE_EXPORT FrameTableModel : public QAbstractTableModel { Q_OBJECT public: /** Custom role. */ @@ -320,7 +321,7 @@ /** Delegate for table widget items. */ -class FrameItemDelegate : public QItemDelegate { +class KID3_CORE_EXPORT FrameItemDelegate : public QItemDelegate { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/model/iframeeditor.h kid3-2.1/src/core/model/iframeeditor.h --- kid3-2.0.1/src/core/model/iframeeditor.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/iframeeditor.h 2012-05-11 05:46:04.000000000 +0000 @@ -27,13 +27,15 @@ #ifndef IFRAMEEDITOR_H #define IFRAMEEDITOR_H +#include "kid3api.h" + class Frame; class TaggedFile; /** * Interface for editor of frame fields. */ -class IFrameEditor { +class KID3_CORE_EXPORT IFrameEditor { public: /** * Destructor. diff -Nru kid3-2.0.1/src/core/model/kid3application.cpp kid3-2.1/src/core/model/kid3application.cpp --- kid3-2.0.1/src/core/model/kid3application.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/kid3application.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -30,6 +30,7 @@ #include #include #include +#include #ifdef CONFIG_USE_KDE #include #else @@ -37,6 +38,7 @@ #endif #ifdef HAVE_QTDBUS #include +#include #include "scriptinterface.h" #endif #include "fileproxymodel.h" @@ -59,6 +61,9 @@ #include "discogsimporter.h" #include "amazonimporter.h" #include "qtcompatmac.h" +#ifdef HAVE_CHROMAPRINT +#include "musicbrainzclient.h" +#endif #ifdef HAVE_PHONON #include "audioplayer.h" #endif @@ -97,13 +102,15 @@ m_framesV2SelectionModel(new QItemSelectionModel(m_framesV2Model, this)), m_framelist(new FrameList(m_framesV2Model, m_framesV2SelectionModel)), m_configStore(new ConfigStore), - m_downloadClient(new DownloadClient(this)), + m_netMgr(new QNetworkAccessManager(this)), + m_downloadClient(new DownloadClient(m_netMgr)), m_textExporter(new TextExporter(this)), m_dirRenamer(new DirRenamer(this)), #ifdef HAVE_PHONON m_player(0), #endif - m_downloadImageDest(ImageForSelectedFiles) + m_downloadImageDest(ImageForSelectedFiles), + m_musicBrainzClient(0) { setObjectName("Kid3Application"); m_fileProxyModel->setSourceModel(m_fileSystemModel); @@ -119,11 +126,14 @@ ConfigStore::s_fnFormatCfg.setAsFilenameFormatter(); m_importers - << new FreedbImporter(this, m_trackDataModel) - << new TrackTypeImporter(this, m_trackDataModel) - << new DiscogsImporter(this, m_trackDataModel) - << new AmazonImporter(this, m_trackDataModel) - << new MusicBrainzReleaseImporter(this, m_trackDataModel); + << new FreedbImporter(m_netMgr, m_trackDataModel) + << new TrackTypeImporter(m_netMgr, m_trackDataModel) + << new DiscogsImporter(m_netMgr, m_trackDataModel) + << new AmazonImporter(m_netMgr, m_trackDataModel) + << new MusicBrainzReleaseImporter(m_netMgr, m_trackDataModel); +#ifdef HAVE_CHROMAPRINT + m_musicBrainzClient = new MusicBrainzClient(m_netMgr, m_trackDataModel); +#endif #ifdef HAVE_QTDBUS if (QDBusConnection::sessionBus().isConnected()) { @@ -214,7 +224,7 @@ { m_configStore->readFromConfig(); if (ConfigStore::s_miscCfg.m_nameFilter.isEmpty()) { - createFilterString(&ConfigStore::s_miscCfg.m_nameFilter); + ConfigStore::s_miscCfg.m_nameFilter = createFilterString(); } setTextEncodings(); if (ConfigStore::s_freedbCfg.m_server == "freedb2.org:80") { @@ -251,7 +261,8 @@ dir = QDir(dir).absolutePath(); } - QStringList nameFilters(ConfigStore::s_miscCfg.m_nameFilter.split(' ')); + QStringList nameFilters(ConfigStore::s_miscCfg.getNameFilterPatterns(). + split(' ')); m_fileProxyModel->setNameFilters(nameFilters); m_fileSystemModel->setFilter(QDir::AllEntries | QDir::AllDirs); QModelIndex rootIndex = m_fileSystemModel->setRootPath(dir); @@ -1737,99 +1748,42 @@ return imgurl; } -#ifndef WIN32 -/** - * Get all combinations with lower- and uppercase characters. - * - * @param str original string - * - * @return string with all combinations, separated by spaces. - */ -static QString lowerUpperCaseCombinations(const QString& str) -{ - QString result; - QString lc(str.toLower()); - QString uc(str.toUpper()); - - // get a mask of all alphabetic characters in the string - unsigned char numChars = 0, charMask = 0, posMask = 1; - int numPos = lc.length(); - if (numPos > 8) numPos = 8; - for (int pos = 0; pos < numPos; ++pos, posMask <<= 1) { - if (lc[pos] >= 'a' && lc[pos] <= 'z') { - charMask |= posMask; - ++numChars; - } - } - - int numCombinations = 1 << numChars; - for (int comb = 0; comb < numCombinations; ++comb) { - posMask = 1; - int combMask = 1; - if (!result.isEmpty()) { - result += ' '; - } - for (int pos = 0; pos < numPos; ++pos, posMask <<= 1) { - if (charMask & posMask) { - if (comb & combMask) { - result += uc[pos]; - } else { - result += lc[pos]; - } - combMask <<= 1; - } else { - result += lc[pos]; - } - } - } - - return result; -} -#endif - /** * Create a filter string for the file dialog. * The filter string contains entries for all supported types. * - * @param defaultNameFilter if not 0, return default name filter here - * * @return filter string. */ -QString Kid3Application::createFilterString(QString* defaultNameFilter) const +QString Kid3Application::createFilterString() const { QStringList extensions = TaggedFile::getSupportedFileExtensions(); - QString result, allCombinations; + QString result, allPatterns; for (QStringList::const_iterator it = extensions.begin(); it != extensions.end(); ++it) { QString text = (*it).mid(1).toUpper(); - QString lowerExt = '*' + *it; -#ifdef WIN32 - const QString& combinations = lowerExt; -#else - QString combinations = lowerUpperCaseCombinations(lowerExt); -#endif - if (!allCombinations.isEmpty()) { - allCombinations += ' '; + QString pattern = '*' + *it; + if (!allPatterns.isEmpty()) { + allPatterns += ' '; } - allCombinations += combinations; + allPatterns += pattern; #ifdef CONFIG_USE_KDE - result += combinations; + result += pattern; result += '|'; result += text; result += " ("; - result += lowerExt; + result += pattern; result += ")\n"; #else result += text; result += " ("; - result += combinations; + result += pattern; result += ");;"; #endif } #ifdef CONFIG_USE_KDE - QString allExt = allCombinations; + QString allExt = allPatterns; allExt += '|'; allExt += i18n("All Supported Files"); allExt += '\n'; @@ -1837,15 +1791,11 @@ #else QString allExt = i18n("All Supported Files"); allExt += " ("; - allExt += allCombinations; + allExt += allPatterns; allExt += ");;"; result = allExt + result + i18n("All Files (*)"); #endif - if (defaultNameFilter) { - *defaultNameFilter = allCombinations; - } - return result; } diff -Nru kid3-2.0.1/src/core/model/kid3application.h kid3-2.1/src/core/model/kid3application.h --- kid3-2.0.1/src/core/model/kid3application.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/kid3application.h 2012-05-11 05:46:04.000000000 +0000 @@ -38,6 +38,7 @@ class QFileSystemModel; class QItemSelectionModel; class QModelIndex; +class QNetworkAccessManager; class FileProxyModel; class DirProxyModel; class TrackDataModel; @@ -49,6 +50,7 @@ class FrameList; class IFrameEditor; class ServerImporter; +class MusicBrainzClient; class TextExporter; class DirRenamer; #ifdef HAVE_PHONON @@ -58,7 +60,7 @@ /** * Kid3 application logic, independent of GUI. */ -class Kid3Application : public QObject { +class KID3_CORE_EXPORT Kid3Application : public QObject { Q_OBJECT public: /** Destination for downloadImage(). */ @@ -147,6 +149,12 @@ Kid3Settings* getSettings() const; /** + * Get configuration. + * @return configuration. + */ + ConfigStore* getConfigStore() const { return m_configStore; } + + /** * Get download client. * @return download client. */ @@ -165,6 +173,12 @@ QList getServerImporters() { return m_importers; } /** + * Get MusicBrainz client. + * @return MusicBrainz client if supported, else 0 + */ + MusicBrainzClient* getMusicBrainzClient() { return m_musicBrainzClient; } + + /** * Get directory renamer. * @return directory renamer. */ @@ -384,11 +398,9 @@ * Create a filter string for the file dialog. * The filter string contains entries for all supported types. * - * @param defaultNameFilter if not 0, return default name filter here - * * @return filter string. */ - QString createFilterString(QString* defaultNameFilter = 0) const; + QString createFilterString() const; /** * Get image destination set by downloadImage(). @@ -853,6 +865,8 @@ FrameList* m_framelist; /** Configuration */ ConfigStore* m_configStore; + /** Network access manager */ + QNetworkAccessManager* m_netMgr; /** Download client */ DownloadClient* m_downloadClient; /** Text exporter */ @@ -879,7 +893,8 @@ QString m_tagsToFilenameFormat; /** Importers for different servers */ QList m_importers; - + /** Importer for MusicBrainz fingerprints */ + MusicBrainzClient* m_musicBrainzClient; /** Current directory */ static QString s_dirName; }; diff -Nru kid3-2.0.1/src/core/model/modeliterator.cpp kid3-2.1/src/core/model/modeliterator.cpp --- kid3-2.0.1/src/core/model/modeliterator.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/modeliterator.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -219,6 +219,19 @@ return result; } +/** + * Try to close the file handles. + * + * @param index root of model to iterate + */ +void TaggedFileIterator::closeFileHandles(const QModelIndex& index) +{ + TaggedFileIterator it(index); + while (it.hasNext()) { + it.next()->closeFileHandle(); + } +} + /** * Constructor. @@ -398,7 +411,8 @@ * @param selectModel selection model */ TaggedFileOfSelectedDirectoriesIterator::TaggedFileOfSelectedDirectoriesIterator( - const QItemSelectionModel* selectModel) : m_dirIdx(0), m_row(0), m_nextFile(0) + const QItemSelectionModel* selectModel) : m_model(0), m_dirIdx(0), m_row(0), + m_nextFile(0) { if (selectModel && (m_model = qobject_cast(selectModel->model())) diff -Nru kid3-2.0.1/src/core/model/modeliterator.h kid3-2.1/src/core/model/modeliterator.h --- kid3-2.0.1/src/core/model/modeliterator.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/modeliterator.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,6 +30,7 @@ #include #include #include +#include "kid3api.h" class QItemSelectionModel; class TaggedFile; @@ -156,7 +157,7 @@ /** * Abstract base class for tagged file iterators. */ -class AbstractTaggedFileIterator { +class KID3_CORE_EXPORT AbstractTaggedFileIterator { public: /** * Destructor. @@ -196,7 +197,7 @@ * } * @endcode */ -class TaggedFileIterator : public AbstractTaggedFileIterator { +class KID3_CORE_EXPORT TaggedFileIterator : public AbstractTaggedFileIterator { public: /** * Constructor. @@ -223,6 +224,13 @@ */ virtual TaggedFile* peekNext() const { return m_nextFile; } + /** + * Try to close the file handles. + * + * @param index root of model to iterate + */ + static void closeFileHandles(const QModelIndex& index); + private: ModelIterator m_it; TaggedFile* m_nextFile; @@ -301,7 +309,7 @@ * } * @endcode */ -class TaggedFileOfDirectoryIterator : public AbstractTaggedFileIterator { +class KID3_CORE_EXPORT TaggedFileOfDirectoryIterator : public AbstractTaggedFileIterator { public: /** * Constructor. @@ -451,7 +459,6 @@ QModelIndexList getIndexesOfDirWithSubDirs(const QModelIndex& dirIndex); const FileProxyModel* m_model; - const QItemSelectionModel* m_selectModel; QModelIndexList m_dirIndexes; int m_dirIdx; int m_row; diff -Nru kid3-2.0.1/src/core/model/texttablemodel.h kid3-2.1/src/core/model/texttablemodel.h --- kid3-2.0.1/src/core/model/texttablemodel.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/texttablemodel.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,11 +30,12 @@ #include #include #include +#include "kid3api.h" /** * Model to display a text with tabulators in a table. */ -class TextTableModel : public QAbstractTableModel { +class KID3_CORE_EXPORT TextTableModel : public QAbstractTableModel { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/model/trackdatamodel.h kid3-2.1/src/core/model/trackdatamodel.h --- kid3-2.0.1/src/core/model/trackdatamodel.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/model/trackdatamodel.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,11 +30,12 @@ #include #include #include "trackdata.h" +#include "kid3api.h" /** * Model for table with track data. */ -class TrackDataModel : public QAbstractTableModel { +class KID3_CORE_EXPORT TrackDataModel : public QAbstractTableModel { Q_OBJECT public: /** Additional track properties extending Frame::Type. */ diff -Nru kid3-2.0.1/src/core/tags/formatreplacer.h kid3-2.1/src/core/tags/formatreplacer.h --- kid3-2.0.1/src/core/tags/formatreplacer.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/formatreplacer.h 2012-05-11 05:46:04.000000000 +0000 @@ -11,11 +11,12 @@ #define FORMATREPLACER_H #include +#include "kid3api.h" /** * Replaces format codes in a string. */ -class FormatReplacer { +class KID3_CORE_EXPORT FormatReplacer { public: /** Flags for replacePercentCodes(). */ enum FormatStringFlags { diff -Nru kid3-2.0.1/src/core/tags/frame.cpp kid3-2.1/src/core/tags/frame.cpp --- kid3-2.0.1/src/core/tags/frame.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/frame.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -543,16 +543,22 @@ * * @return iterator or end() if not found. */ -FrameCollection::iterator FrameCollection::findByName(const QString& name) const +FrameCollection::const_iterator FrameCollection::findByName(const QString& name) const { Frame::Type type = Frame::getTypeFromName(name); Frame frame(type, "", name, -1); const_iterator it = find(frame); if (it == end()) { - QString ucName = name.toUpper(); + QString ucName = name.toUpper().remove('/'); int len = ucName.length(); for (it = begin(); it != end(); ++it) { - if (ucName == it->getName().toUpper().left(len)) { + QString ucFrameName(it->getName().toUpper().remove('/')); + if (ucName == ucFrameName.left(len)) { + break; + } + int nlPos = ucFrameName.indexOf("\n"); + if (nlPos > 0 && ucName == ucFrameName.mid(nlPos + 1, len)) { + // Description in TXXX, WXXX, COMM, PRIV matches break; } } @@ -567,7 +573,7 @@ * * @return iterator or end() if not found. */ -FrameCollection::iterator FrameCollection::findByIndex(int index) const +FrameCollection::const_iterator FrameCollection::findByIndex(int index) const { const_iterator it; for (it = begin(); it != end(); ++it) { @@ -649,7 +655,7 @@ void FrameCollection::markChangedFrames(const FrameCollection& other) { for (FrameCollection::iterator it = begin(); it != end(); ++it) { - iterator otherIt = it->getIndex() != -1 + const_iterator otherIt = it->getIndex() != -1 ? other.findByIndex(it->getIndex()) : other.find(*it); Frame& frame = const_cast(*it); @@ -717,7 +723,7 @@ if (type <= Frame::FT_LastFrame) { return (m_enabledFrames & (1 << type)) != 0; } else if (!name.isEmpty()) { - std::set::iterator it = m_disabledOtherFrames.find(name); + std::set::const_iterator it = m_disabledOtherFrames.find(name); return it == m_disabledOtherFrames.end(); } else { return true; @@ -830,7 +836,7 @@ name.truncate(len - 2); } - FrameCollection::iterator it = m_frames.findByName(name); + FrameCollection::const_iterator it = m_frames.findByName(name); if (it != m_frames.end()) { result = it->getValue(); if (result.isNull()) { diff -Nru kid3-2.0.1/src/core/tags/frame.h kid3-2.1/src/core/tags/frame.h --- kid3-2.0.1/src/core/tags/frame.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/frame.h 2012-05-11 05:46:04.000000000 +0000 @@ -32,9 +32,10 @@ #include #include #include +#include "kid3api.h" /** Generalized frame. */ -class Frame { +class KID3_CORE_EXPORT Frame { public: /** Generalized frame types. */ enum Type { @@ -414,7 +415,7 @@ }; /** Collection of frames. */ -class FrameCollection : public std::multiset { +class KID3_CORE_EXPORT FrameCollection : public std::multiset { public: /** * Constructor. @@ -478,7 +479,7 @@ * * @return iterator or end() if not found. */ - iterator findByName(const QString& name) const; + const_iterator findByName(const QString& name) const; /** * Find a frame by index. @@ -487,7 +488,7 @@ * * @return iterator or end() if not found. */ - iterator findByIndex(int index) const; + const_iterator findByIndex(int index) const; /** * Get value by type. @@ -641,7 +642,7 @@ /** * Replaces frame format codes in a string. */ -class FrameFormatReplacer : public FormatReplacer { +class KID3_CORE_EXPORT FrameFormatReplacer : public FormatReplacer { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/tags/genres.cpp kid3-2.1/src/core/tags/genres.cpp --- kid3-2.0.1/src/core/tags/genres.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/genres.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -125,7 +125,6 @@ "Musical", // 77, "National Folk", // 82, "Native American", // 64, - "Negerpunk", // 133, "New Age", // 10, "New Wave", // 66, "Noise", // 39, @@ -184,6 +183,7 @@ "Tribal", // 72, "Trip-Hop", // 27, "Vocal", // 28, + "World Music", // 133, "Custom", // place for temporary custom genres 0 // end of StrList }; @@ -283,7 +283,6 @@ 77, 82, 64, - 133, 10, 66, 39, @@ -341,7 +340,8 @@ 31, 72, 27, - 28 + 28, + 133 }; const char** Genres::s_strList = &s_genre[0]; diff -Nru kid3-2.0.1/src/core/tags/pictureframe.cpp kid3-2.1/src/core/tags/pictureframe.cpp --- kid3-2.0.1/src/core/tags/pictureframe.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/pictureframe.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 03 Mar 2008 * - * Copyright (C) 2008-2009 Urs Fleisch + * Copyright (C) 2008-2012 Urs Fleisch * * This file is part of Kid3. * @@ -439,14 +439,12 @@ if (file.open(QIODevice::ReadOnly)) { size_t size = file.size(); char* data = new char[size]; - if (data) { - QDataStream stream(&file); - stream.readRawData(data, size); - QByteArray ba; - ba = QByteArray(data, size); - result = setData(frame, ba); - delete [] data; - } + QDataStream stream(&file); + stream.readRawData(data, size); + QByteArray ba; + ba = QByteArray(data, size); + result = setData(frame, ba); + delete [] data; file.close(); } } diff -Nru kid3-2.0.1/src/core/tags/pictureframe.h kid3-2.1/src/core/tags/pictureframe.h --- kid3-2.0.1/src/core/tags/pictureframe.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/pictureframe.h 2012-05-11 05:46:04.000000000 +0000 @@ -32,7 +32,7 @@ class QImage; /** Frame containing picture. */ -class PictureFrame : public Frame { +class KID3_CORE_EXPORT PictureFrame : public Frame { public: /** Picture type, compatible with ID3v2 and FLAC. */ enum PictureType { diff -Nru kid3-2.0.1/src/core/tags/taggedfile.cpp kid3-2.1/src/core/tags/taggedfile.cpp --- kid3-2.0.1/src/core/tags/taggedfile.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/taggedfile.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -32,6 +32,7 @@ #include "configstore.h" #include "genres.h" #include "modeliterator.h" +#include "saferename.h" QList TaggedFile::s_resolvers; @@ -357,7 +358,8 @@ { "%g", "%\\{genre\\}" }, { "%\\{year\\}", "%\\{date\\}" }, { "%\\{track\\}", "%\\{track number\\}" }, - { "%\\{tracknumber\\}", "%\\{track number\\}" } + { "%\\{tracknumber\\}", "%\\{track number\\}" }, + { "%\\{discnumber\\}", "%\\{disc number\\}" } }; int percentIdx = 0, nr = 1; for (unsigned i = 0; i < sizeof(codeToName) / sizeof(codeToName[0]); ++i) { @@ -372,7 +374,8 @@ QString code = pattern.mid(percentIdx + 3, closingBracePos - percentIdx - 3).toLower(); codePos[code] = nr++; - if (code == "track number" || code == "date") { + if (code == "track number" || code == "date" || code == "disc number" || + code == "bpm") { pattern.replace(percentIdx, closingBracePos - percentIdx + 2, "(\\d{1,4})"); percentIdx += 9; } else { @@ -516,12 +519,12 @@ // insensitive filesystems (e.g. Windows). QString temp_filename(fnNew); temp_filename.append("_CASE"); - if (!QDir(m_dirname).rename(fnOld, temp_filename)) { + if (!Utils::safeRename(m_dirname, fnOld, temp_filename)) { qDebug("rename(%s, %s) failed", fnOld.toLatin1().data(), temp_filename.toLatin1().data()); return false; } - if (!QDir(m_dirname).rename(temp_filename, fnNew)) { + if (!Utils::safeRename(m_dirname, temp_filename, fnNew)) { qDebug("rename(%s, %s) failed", temp_filename.toLatin1().data(), fnNew.toLatin1().data()); return false; @@ -530,7 +533,7 @@ qDebug("rename(%s, %s): %s already exists", fnOld.toLatin1().data(), fnNew.toLatin1().data(), fnNew.toLatin1().data()); return false; - } else if (!QDir(m_dirname).rename(fnOld, fnNew)) { + } else if (!Utils::safeRename(m_dirname, fnOld, fnNew)) { qDebug("rename(%s, %s) failed", fnOld.toLatin1().data(), fnNew.toLatin1().data()); return false; @@ -1040,6 +1043,17 @@ } /** + * Close any file handles which are held open by the tagged file object. + * The default implementation does nothing. If a concrete subclass holds + * any file handles open, it has to close them in this method. This method + * can be used before operations which require that a file is not open, + * e.g. file renaming on Windows. + */ +void TaggedFile::closeFileHandle() +{ +} + +/** * Set frames in tag 2. * * @param frames frame collection diff -Nru kid3-2.0.1/src/core/tags/taggedfile.h kid3-2.1/src/core/tags/taggedfile.h --- kid3-2.0.1/src/core/tags/taggedfile.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/taggedfile.h 2012-05-11 05:46:04.000000000 +0000 @@ -34,7 +34,7 @@ #include "frame.h" /** Base class for tagged files. */ -class TaggedFile { +class KID3_CORE_EXPORT TaggedFile { public: /** Abstract base class for pluggable file type resolution. */ class Resolver { @@ -536,6 +536,15 @@ virtual void getAllFramesV2(FrameCollection& frames); /** + * Close any file handles which are held open by the tagged file object. + * The default implementation does nothing. If a concrete subclass holds + * any file handles open, it has to close them in this method. This method + * can be used before operations which require that a file is not open, + * e.g. file renaming on Windows. + */ + virtual void closeFileHandle(); + + /** * Set frames in tag 1. * * @param frames frame collection diff -Nru kid3-2.0.1/src/core/tags/trackdata.h kid3-2.1/src/core/tags/trackdata.h --- kid3-2.0.1/src/core/tags/trackdata.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/tags/trackdata.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,11 +30,12 @@ #include #include "frame.h" #include "taggedfile.h" +#include "kid3api.h" /** * Track data, frames with association to tagged file. */ -class TrackData : public FrameCollection { +class KID3_CORE_EXPORT TrackData : public FrameCollection { public: /** Tag version contained in track data. */ enum TagVersion { @@ -238,7 +239,7 @@ /** * Vector containing tracks to import and artist, album names. */ -class ImportTrackDataVector : public QVector { +class KID3_CORE_EXPORT ImportTrackDataVector : public QVector { public: /** * Clear vector and associated data. @@ -298,7 +299,7 @@ /** * Replaces track data format codes in a string. */ -class TrackDataFormatReplacer : public FrameFormatReplacer { +class KID3_CORE_EXPORT TrackDataFormatReplacer : public FrameFormatReplacer { public: /** * Constructor. diff -Nru kid3-2.0.1/src/core/utils/kid3api.h kid3-2.1/src/core/utils/kid3api.h --- kid3-2.0.1/src/core/utils/kid3api.h 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/core/utils/kid3api.h 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,53 @@ +/** + * \file kid3api.h + * Macros for import and export of shared library symbols. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 26 Feb 2012 + * + * Copyright (C) 2012 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#ifndef KID3API_H +#define KID3API_H + +#ifdef KID3_SHARED + +#include + +#ifdef KID3_BUILD_CORE_LIB +#define KID3_CORE_EXPORT Q_DECL_EXPORT +#else +#define KID3_CORE_EXPORT Q_DECL_IMPORT +#endif + +#ifdef KID3_BUILD_GUI_LIB +#define KID3_GUI_EXPORT Q_DECL_EXPORT +#else +#define KID3_GUI_EXPORT Q_DECL_IMPORT +#endif + +#else + +#define KID3_CORE_EXPORT +#define KID3_GUI_EXPORT + +#endif + +#endif // KID3API_H diff -Nru kid3-2.0.1/src/core/utils/movetotrash.cpp kid3-2.1/src/core/utils/movetotrash.cpp --- kid3-2.0.1/src/core/utils/movetotrash.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/utils/movetotrash.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -31,9 +31,13 @@ #ifdef Q_OS_WIN32 #include +#ifdef Q_CC_MSVC +#include +#else #include #include #include +#endif bool Utils::moveToTrash(const QString& path) { diff -Nru kid3-2.0.1/src/core/utils/movetotrash.h kid3-2.1/src/core/utils/movetotrash.h --- kid3-2.0.1/src/core/utils/movetotrash.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/utils/movetotrash.h 2012-05-11 05:46:04.000000000 +0000 @@ -27,6 +27,8 @@ #ifndef MOVETOTRASH_H #define MOVETOTRASH_H +#include "kid3api.h" + class QString; namespace Utils { @@ -38,7 +40,7 @@ * * @return true if ok. */ - bool moveToTrash(const QString& path); + bool KID3_CORE_EXPORT moveToTrash(const QString& path); } diff -Nru kid3-2.0.1/src/core/utils/qtcompatmac.h kid3-2.1/src/core/utils/qtcompatmac.h --- kid3-2.0.1/src/core/utils/qtcompatmac.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/utils/qtcompatmac.h 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 31 Oct 2006 * - * Copyright (C) 2006-2009 Urs Fleisch + * Copyright (C) 2006-2012 Urs Fleisch * * This file is part of Kid3. * @@ -44,6 +44,16 @@ #define QCM_translate(s) QCoreApplication::translate("@default", s) +#if QT_VERSION >= 0x040600 + +#define QCM_QIcon_fromTheme(n) QIcon::fromTheme(n, QIcon(":/images/" n ".png")) + +#else + +#define QCM_QIcon_fromTheme(n) QIcon(":/images/" n ".png") + +#endif + #endif #endif // QTCOMPATMAC_H diff -Nru kid3-2.0.1/src/core/utils/saferename.cpp kid3-2.1/src/core/utils/saferename.cpp --- kid3-2.0.1/src/core/utils/saferename.cpp 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/core/utils/saferename.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,70 @@ +/** + * \file saferename.cpp + * Safely rename a file. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 16 Feb 2012 + * + * Copyright (C) 2012 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#include "saferename.h" +#include + +#ifdef Q_OS_WIN32 + +bool Utils::hasIllegalFileNameCharacters(const QString& fileName) +{ + static const char illegalChars[] = "<>:\"|?*"; + QString fileNameWithoutDrive( + (QDir::isAbsolutePath(fileName) && fileName.mid(1, 2) == ":/") + ? fileName.mid(3) : fileName); + for (const char* chPtr = illegalChars; *chPtr; ++chPtr) { + if (fileNameWithoutDrive.contains(*chPtr)) { + return true; + } + } + return false; +} + +#else + +bool Utils::hasIllegalFileNameCharacters(const QString&) +{ + return false; +} + +#endif + +bool Utils::safeRename(const QString& oldName, const QString& newName) +{ + if (hasIllegalFileNameCharacters(newName)) + return false; + + return QDir().rename(oldName, newName); +} + +bool Utils::safeRename(const QString& dirPath, + const QString& oldName, const QString& newName) +{ + if (hasIllegalFileNameCharacters(newName)) + return false; + + return QDir(dirPath).rename(oldName, newName); +} diff -Nru kid3-2.0.1/src/core/utils/saferename.h kid3-2.1/src/core/utils/saferename.h --- kid3-2.0.1/src/core/utils/saferename.h 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/core/utils/saferename.h 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,73 @@ +/** + * \file saferename.h + * Safely rename a file. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 16 Feb 2012 + * + * Copyright (C) 2012 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#ifndef SAFERENAME_H +#define SAFERENAME_H + +#include "kid3api.h" + +class QString; + +namespace Utils { + +/** + * Check if file name has illegal characters. + * + * @param fileName file name + * + * @return true if file name contains illegal characters. + */ +bool KID3_CORE_EXPORT hasIllegalFileNameCharacters(const QString& fileName); + +/** + * Rename a file. + * Renames the file using QDir::rename() if @a newName does not contain + * illegal characters. + * + * @param oldName old file name + * @param newName new file name + * + * @return true if ok. + */ +bool KID3_CORE_EXPORT safeRename(const QString& oldName, const QString& newName); + +/** + * Rename a file. + * Renames the file using QDir::rename() if @a newName does not contain + * illegal characters. + * + * @param dirPath directory path + * @param oldName old file name + * @param newName new file name + * + * @return true if ok. + */ +bool KID3_CORE_EXPORT safeRename(const QString& dirPath, + const QString& oldName, const QString& newName); + +} + +#endif // SAFERENAME_H diff -Nru kid3-2.0.1/src/core/utils/Sources.cmake kid3-2.1/src/core/utils/Sources.cmake --- kid3-2.0.1/src/core/utils/Sources.cmake 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/core/utils/Sources.cmake 2012-05-11 05:46:04.000000000 +0000 @@ -1,5 +1,6 @@ set(utils_SRCS utils/movetotrash.cpp + utils/saferename.cpp ) set(utils_MOC_HDRS) diff -Nru kid3-2.0.1/src/gui/app/CMakeLists.txt kid3-2.1/src/gui/app/CMakeLists.txt --- kid3-2.0.1/src/gui/app/CMakeLists.txt 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/app/CMakeLists.txt 2012-05-11 05:46:04.000000000 +0000 @@ -17,7 +17,7 @@ if (APPLE) # Icon and properties for .plist file set(MACOSX_BUNDLE_ICON_FILE kid3.icns) - set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${CPACK_PACKAGE_VERSION}) set(MACOSX_BUNDLE_GUI_IDENTIFIER "net.sourceforge.kid3") set(MACOSX_BUNDLE_COPYRIGHT "Copyright (c) 2003-${RELEASE_YEAR} Urs Fleisch") set_source_files_properties(kid3.icns @@ -36,6 +36,7 @@ endif (APPLE) if (UNIX AND NOT APPLE) + find_program(GZIP_PROGRAM gzip) # install desktop file and icons for Linux add_custom_command(OUTPUT kid3-qt.desktop COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/fixdesktop.pl @@ -45,9 +46,19 @@ add_custom_target("desktop-file" ALL DEPENDS kid3-qt.desktop) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kid3-qt.desktop DESTINATION "${WITH_DATAROOTDIR}/applications") - install(FILES hisc-app-kid3.svgz - DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/scalable/apps" - RENAME kid3-qt.svgz) + if (GZIP_PROGRAM) + add_custom_command(OUTPUT kid3-qt.svg + COMMAND ${GZIP_PROGRAM} -cd ${CMAKE_CURRENT_SOURCE_DIR}/hisc-app-kid3.svgz >kid3-qt.svg + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/hisc-app-kid3.svgz + ) + set(kid3_SRCS ${kid3_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/kid3-qt.svg) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kid3-qt.svg + DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/scalable/apps") + else (GZIP_PROGRAM) + install(FILES hisc-app-kid3.svgz + DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/scalable/apps" + RENAME kid3-qt.svgz) + endif (GZIP_PROGRAM) install(FILES hi48-app-kid3.png DESTINATION "${WITH_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME kid3-qt.png) @@ -120,4 +131,15 @@ endif (APPLE OR WIN32) + if (WIN32) + # Unfortunately, the binutils which come with the gcc-4.4.0 in the MinGW + # for Qt generate an executable which cannot be analyzed with dumpbin. + # This happens when Kid3 is linked with libav (used with Chromaprint). + # Therefore, the dependencies for kid3.exe are not added to the bundle. + # This workaround adds the missing files. + install(FILES "${QT_BINARY_DIR}/QtNetwork4.dll" + "${QT_BINARY_DIR}/QtXml4.dll" + DESTINATION ${WITH_BINDIR}) + endif (WIN32) + endif (WITH_KDE) Binary files /tmp/WLG0NRjBIA/kid3-2.0.1/src/gui/app/hi16-app-kid3.png and /tmp/YU0glY9yMC/kid3-2.1/src/gui/app/hi16-app-kid3.png differ Binary files /tmp/WLG0NRjBIA/kid3-2.0.1/src/gui/app/hi32-app-kid3.png and /tmp/YU0glY9yMC/kid3-2.1/src/gui/app/hi32-app-kid3.png differ Binary files /tmp/WLG0NRjBIA/kid3-2.0.1/src/gui/app/hi48-app-kid3.png and /tmp/YU0glY9yMC/kid3-2.1/src/gui/app/hi48-app-kid3.png differ Binary files /tmp/WLG0NRjBIA/kid3-2.0.1/src/gui/app/images/configure.png and /tmp/YU0glY9yMC/kid3-2.1/src/gui/app/images/configure.png differ Binary files /tmp/WLG0NRjBIA/kid3-2.0.1/src/gui/app/images/preferences-system.png and /tmp/YU0glY9yMC/kid3-2.1/src/gui/app/images/preferences-system.png differ diff -Nru kid3-2.0.1/src/gui/app/kid3.desktop kid3-2.1/src/gui/app/kid3.desktop --- kid3-2.0.1/src/gui/app/kid3.desktop 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/app/kid3.desktop 2012-05-11 05:46:04.000000000 +0000 @@ -1,5 +1,7 @@ [Desktop Entry] Name=Kid3 +Name[sr]=Кид3 +Name[sr@ijekavian]=Кид3 Exec=kid3 %f Icon=kid3 Type=Application @@ -14,6 +16,10 @@ GenericName[nl]=Audio tag editor GenericName[pl]=Edytor znaczników audio GenericName[ru]=Программа-редактор аудио-тегов +GenericName[sr]=Уређивач аудио ознака +GenericName[sr@ijekavian]=Уређивач аудио ознака +GenericName[sr@latin]=Uređivač audio oznaka +GenericName[sr@ijekavianlatin]=Uređivač audio oznaka Terminal=false Categories=Qt;KDE;AudioVideo;Audio;AudioVideoEditing; StartupNotify=true Binary files /tmp/WLG0NRjBIA/kid3-2.0.1/src/gui/app/kid3.ico and /tmp/YU0glY9yMC/kid3-2.1/src/gui/app/kid3.ico differ diff -Nru kid3-2.0.1/src/gui/app/kid3.qrc kid3-2.1/src/gui/app/kid3.qrc --- kid3-2.0.1/src/gui/app/kid3.qrc 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/app/kid3.qrc 2012-05-11 05:46:04.000000000 +0000 @@ -1,7 +1,7 @@ images/application-exit.png - images/configure.png + images/preferences-system.png images/document-export.png images/document-import.png images/document-open.png diff -Nru kid3-2.0.1/src/gui/app/main.cpp kid3-2.1/src/gui/app/main.cpp --- kid3-2.0.1/src/gui/app/main.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/app/main.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 9 Jan 2003 * - * Copyright (C) 2003-2010 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -68,16 +68,14 @@ } else { Kid3MainWindow* kid3 = new Kid3MainWindow; - if (kid3) { - kid3->show(); + kid3->show(); - KCmdLineArgs* args = KCmdLineArgs::parsedArgs(); + KCmdLineArgs* args = KCmdLineArgs::parsedArgs(); - if (args->count()) { - kid3->confirmedOpenDirectory(args->arg(0)); - } - args->clear(); + if (args->count()) { + kid3->confirmedOpenDirectory(args->arg(0)); } + args->clear(); } return app.exec(); @@ -139,11 +137,9 @@ #endif Kid3MainWindow* kid3 = new Kid3MainWindow; - if (kid3) { - kid3->show(); - if (argc > 1) { - kid3->confirmedOpenDirectory(QFile::decodeName(argv[1])); - } + kid3->show(); + if (argc > 1) { + kid3->confirmedOpenDirectory(QFile::decodeName(argv[1])); } return app.exec(); } diff -Nru kid3-2.0.1/src/gui/CMakeLists.txt kid3-2.1/src/gui/CMakeLists.txt --- kid3-2.0.1/src/gui/CMakeLists.txt 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/CMakeLists.txt 2012-05-11 05:46:04.000000000 +0000 @@ -11,6 +11,8 @@ set(gui_MOC_HDRS ${gui_MOC_HDRS} ${${_subdir}_MOC_HDRS}) endforeach() +add_definitions(-DKID3_BUILD_GUI_LIB) + if (WITH_GCC_PCH) ADD_KID3_PCH_RULE(gui_SRCS) endif (WITH_GCC_PCH) diff -Nru kid3-2.0.1/src/gui/dialogs/browsecoverartdialog.cpp kid3-2.1/src/gui/dialogs/browsecoverartdialog.cpp --- kid3-2.0.1/src/gui/dialogs/browsecoverartdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/browsecoverartdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 11-Jan-2009 * - * Copyright (C) 2009 Urs Fleisch + * Copyright (C) 2009-2012 Urs Fleisch * * This file is part of Kid3. * @@ -76,97 +76,83 @@ setSizeGripEnabled(true); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - - m_edit = new QTextEdit(this); - if (m_edit) { - m_edit->setReadOnly(true); - vlayout->addWidget(m_edit); - } - - QGroupBox* artistAlbumBox = new QGroupBox(i18n("&Artist/Album"), this); - if (artistAlbumBox) { - m_artistLineEdit = new QLineEdit(artistAlbumBox); - m_albumLineEdit = new QLineEdit(artistAlbumBox); - QHBoxLayout* hbox = new QHBoxLayout; - hbox->setMargin(2); - hbox->addWidget(m_artistLineEdit); - hbox->addWidget(m_albumLineEdit); - artistAlbumBox->setLayout(hbox); - vlayout->addWidget(artistAlbumBox); - connect(m_artistLineEdit, SIGNAL(returnPressed()), - this, SLOT(showPreview())); - connect(m_albumLineEdit, SIGNAL(returnPressed()), - this, SLOT(showPreview())); - } - - QGroupBox* srcbox = new QGroupBox(i18n("&Source"), this); - if (srcbox) { - m_formatListEdit = new FormatListEdit( - QStringList() << i18n("Source:") - << i18n("URL:"), - QStringList() << QString() - << getToolTip(), - srcbox); - - QVBoxLayout* vbox = new QVBoxLayout; - vbox->setMargin(2); - vbox->addWidget(m_formatListEdit); - srcbox->setLayout(vbox); - vlayout->addWidget(srcbox); - connect(m_formatListEdit, SIGNAL(formatChanged()), - this, SLOT(showPreview())); - } - - QGroupBox* tabbox = new QGroupBox(i18n("&URL extraction"), this); - if (tabbox) { - m_matchUrlTable = new ConfigTable(tabbox); - m_matchUrlTableModel = new ConfigTableModel(tabbox); - m_matchUrlTableModel->setLabels( - QStringList() << i18n("Match") << i18n("Picture URL")); - m_matchUrlTable->setModel(m_matchUrlTableModel); - m_matchUrlTable->setHorizontalResizeModes( - m_matchUrlTableModel->getHorizontalResizeModes()); - QVBoxLayout* tablayout = new QVBoxLayout; - tablayout->setMargin(2); - tablayout->addWidget(m_matchUrlTable); - tabbox->setLayout(tablayout); - vlayout->addWidget(tabbox); - } - QHBoxLayout* hlayout = new QHBoxLayout; - if (hlayout) { - hlayout->setSpacing(6); - QPushButton* helpButton = new QPushButton(i18n("&Help"), this); - if (helpButton) { - helpButton->setAutoDefault(false); - hlayout->addWidget(helpButton); - connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); - } - QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this); - if (saveButton) { - saveButton->setAutoDefault(false); - hlayout->addWidget(saveButton); - connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); - } - QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, - QSizePolicy::Minimum); - hlayout->addItem(hspacer); - - QPushButton* browseButton = new QPushButton(i18n("&Browse"), this); - QPushButton* cancelButton = new QPushButton(i18n("&Cancel"), this); - if (browseButton && cancelButton) { - browseButton->setAutoDefault(false); - cancelButton->setAutoDefault(false); - hlayout->addWidget(browseButton); - hlayout->addWidget(cancelButton); - connect(browseButton, SIGNAL(clicked()), this, SLOT(accept())); - connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); - } - vlayout->addLayout(hlayout); - } - } + vlayout->setMargin(6); + vlayout->setSpacing(6); + + m_edit = new QTextEdit(this); + m_edit->setReadOnly(true); + vlayout->addWidget(m_edit); + + QGroupBox* artistAlbumBox = new QGroupBox(i18n("&Artist/Album"), this); + m_artistLineEdit = new QLineEdit(artistAlbumBox); + m_albumLineEdit = new QLineEdit(artistAlbumBox); + QHBoxLayout* hbox = new QHBoxLayout; + hbox->setMargin(2); + hbox->addWidget(m_artistLineEdit); + hbox->addWidget(m_albumLineEdit); + artistAlbumBox->setLayout(hbox); + vlayout->addWidget(artistAlbumBox); + connect(m_artistLineEdit, SIGNAL(returnPressed()), + this, SLOT(showPreview())); + connect(m_albumLineEdit, SIGNAL(returnPressed()), + this, SLOT(showPreview())); + + QGroupBox* srcbox = new QGroupBox(i18n("&Source"), this); + m_formatListEdit = new FormatListEdit( + QStringList() << i18n("Source:") + << i18n("URL:"), + QStringList() << QString() + << getToolTip(), + srcbox); + + QVBoxLayout* vbox = new QVBoxLayout; + vbox->setMargin(2); + vbox->addWidget(m_formatListEdit); + srcbox->setLayout(vbox); + vlayout->addWidget(srcbox); + connect(m_formatListEdit, SIGNAL(formatChanged()), + this, SLOT(showPreview())); + + QGroupBox* tabbox = new QGroupBox(i18n("&URL extraction"), this); + m_matchUrlTable = new ConfigTable(tabbox); + m_matchUrlTableModel = new ConfigTableModel(tabbox); + m_matchUrlTableModel->setLabels( + QStringList() << i18n("Match") << i18n("Picture URL")); + m_matchUrlTable->setModel(m_matchUrlTableModel); + m_matchUrlTable->setHorizontalResizeModes( + m_matchUrlTableModel->getHorizontalResizeModes()); + QVBoxLayout* tablayout = new QVBoxLayout; + tablayout->setMargin(2); + tablayout->addWidget(m_matchUrlTable); + tabbox->setLayout(tablayout); + vlayout->addWidget(tabbox); + + QHBoxLayout* hlayout = new QHBoxLayout; + hlayout->setSpacing(6); + QPushButton* helpButton = new QPushButton(i18n("&Help"), this); + helpButton->setAutoDefault(false); + hlayout->addWidget(helpButton); + connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); + + QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this); + saveButton->setAutoDefault(false); + hlayout->addWidget(saveButton); + connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); + + QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, + QSizePolicy::Minimum); + hlayout->addItem(hspacer); + + QPushButton* browseButton = new QPushButton(i18n("&Browse"), this); + QPushButton* cancelButton = new QPushButton(i18n("&Cancel"), this); + browseButton->setAutoDefault(false); + cancelButton->setAutoDefault(false); + hlayout->addWidget(browseButton); + hlayout->addWidget(cancelButton); + connect(browseButton, SIGNAL(clicked()), this, SLOT(accept())); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); + + vlayout->addLayout(hlayout); } /** @@ -274,10 +260,8 @@ if (!m_process) { m_process = new ExternalProcess(this); } - if (m_process) { - m_process->launchCommand( - i18n("Browse Cover Art"), - QStringList() << ConfigStore::s_miscCfg.m_browser << m_url); - } + m_process->launchCommand( + i18n("Browse Cover Art"), + QStringList() << ConfigStore::s_miscCfg.m_browser << m_url); QDialog::accept(); } diff -Nru kid3-2.0.1/src/gui/dialogs/browserdialog.cpp kid3-2.1/src/gui/dialogs/browserdialog.cpp --- kid3-2.0.1/src/gui/dialogs/browserdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/browserdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 10 Jun 2009 * - * Copyright (C) 2003-2009 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -51,9 +51,6 @@ setObjectName("BrowserDialog"); setWindowTitle(caption); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (!vlayout) { - return ; - } vlayout->setSpacing(6); vlayout->setMargin(6); diff -Nru kid3-2.0.1/src/gui/dialogs/configdialog.cpp kid3-2.1/src/gui/dialogs/configdialog.cpp --- kid3-2.0.1/src/gui/dialogs/configdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/configdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 17 Sep 2003 * - * Copyright (C) 2003-2007 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -49,6 +49,10 @@ #include #include #include +#include +#include +#include "shortcutsmodel.h" +#include "shortcutsdelegate.h" #endif #include "formatconfig.h" @@ -58,6 +62,7 @@ #include "configtable.h" #include "commandstablemodel.h" #include "contexthelp.h" +#include "configstore.h" enum { TextEncodingV1Latin1Index = 13 }; @@ -101,200 +106,170 @@ QTabWidget* tabWidget = new QTabWidget(this); #endif - QWidget* tagsPage = new QWidget; - if (tagsPage) { + { + QWidget* tagsPage = new QWidget; QVBoxLayout* vlayout = new QVBoxLayout(tagsPage); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - QGroupBox* v1GroupBox = new QGroupBox(i18n("ID3v1"), tagsPage); - QGridLayout* v1GroupBoxLayout = new QGridLayout(v1GroupBox); - v1GroupBoxLayout->setMargin(2); - v1GroupBoxLayout->setSpacing(4); - if (v1GroupBox) { - m_markTruncationsCheckBox = new QCheckBox(i18n("&Mark truncated fields"), v1GroupBox); - v1GroupBoxLayout->addWidget(m_markTruncationsCheckBox, 0, 0, 1, 2); + vlayout->setMargin(6); + vlayout->setSpacing(6); + QGroupBox* v1GroupBox = new QGroupBox(i18n("ID3v1"), tagsPage); + QGridLayout* v1GroupBoxLayout = new QGridLayout(v1GroupBox); + v1GroupBoxLayout->setMargin(2); + v1GroupBoxLayout->setSpacing(4); + m_markTruncationsCheckBox = new QCheckBox(i18n("&Mark truncated fields"), v1GroupBox); + v1GroupBoxLayout->addWidget(m_markTruncationsCheckBox, 0, 0, 1, 2); #if defined HAVE_ID3LIB || defined HAVE_TAGLIB - QLabel* textEncodingV1Label = new QLabel(i18n("Text &encoding:"), v1GroupBox); - m_textEncodingV1ComboBox = new QComboBox(v1GroupBox); -#endif -#if defined HAVE_ID3LIB || defined HAVE_TAGLIB - if (textEncodingV1Label && m_textEncodingV1ComboBox) { - static const char* const codecs[] = { - "Apple Roman (macintosh)", - "Big5", - "big5-0", - "Big5-HKSCS", - "big5hkscs-0", - "EUC-JP", - "EUC-KR", - "GB18030", - "GBK (windows-936)", - "hp-roman8", - "IBM850", - "IBM866", - "ISO-2022-JP (JIS7)", - "ISO-8859-1 (latin1)", - "ISO-8859-2 (latin2)", - "ISO-8859-3 (latin3)", - "ISO-8859-4 (latin4)", - "ISO-8859-5 (cyrillic)", - "ISO-8859-6 (arabic)", - "ISO-8859-7 (greek)", - "ISO-8859-8 (hebrew)", - "ISO-8859-9 (latin5)", - "ISO-8859-10 (latin6)", - "ISO-8859-13 (baltic)", - "ISO-8859-14 (latin8, iso-celtic)", - "ISO-8859-15 (latin9)", - "ISO-8859-16 (latin10)", - "ISO-10646-UCS-2 (UTF-16)", - "Iscii-Bng", - "Iscii-Dev", - "Iscii-Gjr", - "Iscii-Knd", - "Iscii-Mlm", - "Iscii-Ori", - "Iscii-Pnj", - "Iscii-Tlg", - "Iscii-Tml", - "jisx0201*-0", - "KOI8-R", - "KOI8-U", - "ksc5601.1987-0", - "mulelao-1", - "Shift_JIS (SJIS, MS_Kanji)", - "TIS-620 (ISO 8859-11)", - "TSCII", - "UTF-8", - "windows-1250", - "windows-1251", - "windows-1252", - "windows-1253", - "windows-1254", - "windows-1255", - "windows-1256", - "windows-1257", - "windows-1258", - "WINSAMI2 (WS2)", - 0 - }; - Q_ASSERT(std::strcmp(codecs[TextEncodingV1Latin1Index], "ISO-8859-1 (latin1)") == 0); - const char* const* str = codecs; - m_textEncodingV1List.clear(); - while (*str) { - m_textEncodingV1List += *str++; - } - m_textEncodingV1ComboBox->addItems(m_textEncodingV1List); - m_textEncodingV1ComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); - textEncodingV1Label->setBuddy(m_textEncodingV1ComboBox); - v1GroupBoxLayout->addWidget(textEncodingV1Label, 1, 0); - v1GroupBoxLayout->addWidget(m_textEncodingV1ComboBox, 1, 1); - } -#endif - vlayout->addWidget(v1GroupBox); - } - QGroupBox* v2GroupBox = new QGroupBox(i18n("ID3v2"), tagsPage); - QGridLayout* v2GroupBoxLayout = new QGridLayout(v2GroupBox); - v2GroupBoxLayout->setMargin(2); - v2GroupBoxLayout->setSpacing(4); - if (v2GroupBox) { - m_totalNumTracksCheckBox = new QCheckBox(i18n("Use &track/total number of tracks format"), v2GroupBox); - v2GroupBoxLayout->addWidget(m_totalNumTracksCheckBox, 0, 0, 1, 2); -#if defined HAVE_ID3LIB || defined HAVE_TAGLIB - m_genreNotNumericCheckBox = new QCheckBox(i18n("&Genre as text instead of numeric string"), v2GroupBox); - QLabel* textEncodingLabel = new QLabel(i18n("Text &encoding:"), v2GroupBox); - m_textEncodingComboBox = new QComboBox(v2GroupBox); -#endif -#if defined HAVE_ID3LIB && defined HAVE_TAGLIB - QLabel* id3v2VersionLabel = new QLabel(i18n("&Version used for new tags:"), v2GroupBox); - m_id3v2VersionComboBox = new QComboBox(v2GroupBox); -#endif - QLabel* trackNumberDigitsLabel = new QLabel(i18n("Track number &digits:"), v2GroupBox); - m_trackNumberDigitsSpinBox = new QSpinBox(v2GroupBox); - m_trackNumberDigitsSpinBox->setMaximum(5); + QLabel* textEncodingV1Label = new QLabel(i18n("Text &encoding:"), v1GroupBox); + m_textEncodingV1ComboBox = new QComboBox(v1GroupBox); + static const char* const codecs[] = { + "Apple Roman (macintosh)", + "Big5", + "big5-0", + "Big5-HKSCS", + "big5hkscs-0", + "EUC-JP", + "EUC-KR", + "GB18030", + "GBK (windows-936)", + "hp-roman8", + "IBM850", + "IBM866", + "ISO-2022-JP (JIS7)", + "ISO-8859-1 (latin1)", + "ISO-8859-2 (latin2)", + "ISO-8859-3 (latin3)", + "ISO-8859-4 (latin4)", + "ISO-8859-5 (cyrillic)", + "ISO-8859-6 (arabic)", + "ISO-8859-7 (greek)", + "ISO-8859-8 (hebrew)", + "ISO-8859-9 (latin5)", + "ISO-8859-10 (latin6)", + "ISO-8859-13 (baltic)", + "ISO-8859-14 (latin8, iso-celtic)", + "ISO-8859-15 (latin9)", + "ISO-8859-16 (latin10)", + "ISO-10646-UCS-2 (UTF-16)", + "Iscii-Bng", + "Iscii-Dev", + "Iscii-Gjr", + "Iscii-Knd", + "Iscii-Mlm", + "Iscii-Ori", + "Iscii-Pnj", + "Iscii-Tlg", + "Iscii-Tml", + "jisx0201*-0", + "KOI8-R", + "KOI8-U", + "ksc5601.1987-0", + "mulelao-1", + "Shift_JIS (SJIS, MS_Kanji)", + "TIS-620 (ISO 8859-11)", + "TSCII", + "UTF-8", + "windows-1250", + "windows-1251", + "windows-1252", + "windows-1253", + "windows-1254", + "windows-1255", + "windows-1256", + "windows-1257", + "windows-1258", + "WINSAMI2 (WS2)", + 0 + }; + Q_ASSERT(std::strcmp(codecs[TextEncodingV1Latin1Index], "ISO-8859-1 (latin1)") == 0); + const char* const* str = codecs; + m_textEncodingV1List.clear(); + while (*str) { + m_textEncodingV1List += *str++; + } + m_textEncodingV1ComboBox->addItems(m_textEncodingV1List); + m_textEncodingV1ComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); + textEncodingV1Label->setBuddy(m_textEncodingV1ComboBox); + v1GroupBoxLayout->addWidget(textEncodingV1Label, 1, 0); + v1GroupBoxLayout->addWidget(m_textEncodingV1ComboBox, 1, 1); +#endif + vlayout->addWidget(v1GroupBox); + + QGroupBox* v2GroupBox = new QGroupBox(i18n("ID3v2"), tagsPage); + QGridLayout* v2GroupBoxLayout = new QGridLayout(v2GroupBox); + v2GroupBoxLayout->setMargin(2); + v2GroupBoxLayout->setSpacing(4); + m_totalNumTracksCheckBox = new QCheckBox(i18n("Use &track/total number of tracks format"), v2GroupBox); + v2GroupBoxLayout->addWidget(m_totalNumTracksCheckBox, 0, 0, 1, 2); + QLabel* trackNumberDigitsLabel = new QLabel(i18n("Track number &digits:"), v2GroupBox); + m_trackNumberDigitsSpinBox = new QSpinBox(v2GroupBox); + m_trackNumberDigitsSpinBox->setMaximum(5); #if defined HAVE_ID3LIB || defined HAVE_TAGLIB - if (textEncodingLabel && m_textEncodingComboBox) { - m_textEncodingComboBox->insertItem(MiscConfig::TE_ISO8859_1, i18n("ISO-8859-1")); - m_textEncodingComboBox->insertItem(MiscConfig::TE_UTF16, i18n("UTF16")); - m_textEncodingComboBox->insertItem(MiscConfig::TE_UTF8, i18n("UTF8")); - m_textEncodingComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); - textEncodingLabel->setBuddy(m_textEncodingComboBox); - v2GroupBoxLayout->addWidget(m_genreNotNumericCheckBox, 1, 0, 1, 2); - v2GroupBoxLayout->addWidget(textEncodingLabel, 2, 0); - v2GroupBoxLayout->addWidget(m_textEncodingComboBox, 2, 1); - } + m_genreNotNumericCheckBox = new QCheckBox(i18n("&Genre as text instead of numeric string"), v2GroupBox); + QLabel* textEncodingLabel = new QLabel(i18n("Text &encoding:"), v2GroupBox); + m_textEncodingComboBox = new QComboBox(v2GroupBox); + m_textEncodingComboBox->insertItem(MiscConfig::TE_ISO8859_1, i18n("ISO-8859-1")); + m_textEncodingComboBox->insertItem(MiscConfig::TE_UTF16, i18n("UTF16")); + m_textEncodingComboBox->insertItem(MiscConfig::TE_UTF8, i18n("UTF8")); + m_textEncodingComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); + textEncodingLabel->setBuddy(m_textEncodingComboBox); + v2GroupBoxLayout->addWidget(m_genreNotNumericCheckBox, 1, 0, 1, 2); + v2GroupBoxLayout->addWidget(textEncodingLabel, 2, 0); + v2GroupBoxLayout->addWidget(m_textEncodingComboBox, 2, 1); #endif #if defined HAVE_ID3LIB && defined HAVE_TAGLIB - if (id3v2VersionLabel && m_id3v2VersionComboBox) { - m_id3v2VersionComboBox->insertItem(MiscConfig::ID3v2_3_0, i18n("ID3v2.3.0 (id3lib)")); - m_id3v2VersionComboBox->insertItem(MiscConfig::ID3v2_4_0, i18n("ID3v2.4.0 (TagLib)")); - m_id3v2VersionComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); - id3v2VersionLabel->setBuddy(m_id3v2VersionComboBox); - v2GroupBoxLayout->addWidget(id3v2VersionLabel, 3, 0); - v2GroupBoxLayout->addWidget(m_id3v2VersionComboBox, 3, 1); - } -#endif - if (trackNumberDigitsLabel && m_trackNumberDigitsSpinBox) { - trackNumberDigitsLabel->setBuddy(m_trackNumberDigitsSpinBox); - v2GroupBoxLayout->addWidget(trackNumberDigitsLabel, 4, 0); - v2GroupBoxLayout->addWidget(m_trackNumberDigitsSpinBox, 4, 1); - } - vlayout->addWidget(v2GroupBox); - } + QLabel* id3v2VersionLabel = new QLabel(i18n("&Version used for new tags:"), v2GroupBox); + m_id3v2VersionComboBox = new QComboBox(v2GroupBox); + m_id3v2VersionComboBox->insertItem(MiscConfig::ID3v2_3_0, i18n("ID3v2.3.0 (id3lib)")); + m_id3v2VersionComboBox->insertItem(MiscConfig::ID3v2_4_0, i18n("ID3v2.4.0 (TagLib)")); + m_id3v2VersionComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); + id3v2VersionLabel->setBuddy(m_id3v2VersionComboBox); + v2GroupBoxLayout->addWidget(id3v2VersionLabel, 3, 0); + v2GroupBoxLayout->addWidget(m_id3v2VersionComboBox, 3, 1); +#endif + trackNumberDigitsLabel->setBuddy(m_trackNumberDigitsSpinBox); + v2GroupBoxLayout->addWidget(trackNumberDigitsLabel, 4, 0); + v2GroupBoxLayout->addWidget(m_trackNumberDigitsSpinBox, 4, 1); + vlayout->addWidget(v2GroupBox); #ifdef HAVE_VORBIS - QGroupBox* vorbisGroupBox = new QGroupBox(i18n("Ogg/Vorbis"), tagsPage); - if (vorbisGroupBox) { - QLabel* commentNameLabel = new QLabel(i18n("Comment field &name:"), vorbisGroupBox); - m_commentNameComboBox = new QComboBox(vorbisGroupBox); - QLabel* pictureNameLabel = new QLabel(i18n("&Picture field name:"), vorbisGroupBox); - m_pictureNameComboBox = new QComboBox(vorbisGroupBox); - if (commentNameLabel && m_commentNameComboBox && - pictureNameLabel && m_pictureNameComboBox) { - m_commentNameComboBox->setEditable(true); - QStringList items; - items += "COMMENT"; - items += "DESCRIPTION"; - m_commentNameComboBox->addItems(items); - m_commentNameComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); - commentNameLabel->setBuddy(m_commentNameComboBox); - m_pictureNameComboBox->addItems(QStringList() << "METADATA_BLOCK_PICTURE" << "COVERART"); - m_pictureNameComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); - pictureNameLabel->setBuddy(m_pictureNameComboBox); - } - QGridLayout* vorbisGroupBoxLayout = new QGridLayout(vorbisGroupBox); - vorbisGroupBoxLayout->setMargin(2); - vorbisGroupBoxLayout->setSpacing(4); - vorbisGroupBoxLayout->addWidget(commentNameLabel, 0, 0); - vorbisGroupBoxLayout->addWidget(m_commentNameComboBox, 0, 1); - vorbisGroupBoxLayout->addWidget(pictureNameLabel, 1, 0); - vorbisGroupBoxLayout->addWidget(m_pictureNameComboBox, 1, 1); - vorbisGroupBox->setLayout(vorbisGroupBoxLayout); - vlayout->addWidget(vorbisGroupBox); - } -#endif - QHBoxLayout* hlayout = new QHBoxLayout; - if (hlayout) { - QGroupBox* genresGroupBox = new QGroupBox(i18n("Custom &Genres"), tagsPage); - if (genresGroupBox) { - m_onlyCustomGenresCheckBox = new QCheckBox(i18n("&Show only custom genres"), genresGroupBox); - m_genresEditModel = new QStringListModel(genresGroupBox); - StringListEdit* genresEdit = new StringListEdit(m_genresEditModel, genresGroupBox); - QVBoxLayout* vbox = new QVBoxLayout; - vbox->setMargin(2); - vbox->addWidget(m_onlyCustomGenresCheckBox); - vbox->addWidget(genresEdit); - genresGroupBox->setLayout(vbox); - hlayout->addWidget(genresGroupBox); - } - QString id3FormatTitle(i18n("&Tag Format")); - m_id3FormatBox = new FormatBox(id3FormatTitle, tagsPage); - if (m_id3FormatBox) { - hlayout->addWidget(m_id3FormatBox); - } - vlayout->addLayout(hlayout); - } - } + QGroupBox* vorbisGroupBox = new QGroupBox(i18n("Ogg/Vorbis"), tagsPage); + QLabel* commentNameLabel = new QLabel(i18n("Comment field &name:"), vorbisGroupBox); + m_commentNameComboBox = new QComboBox(vorbisGroupBox); + QLabel* pictureNameLabel = new QLabel(i18n("&Picture field name:"), vorbisGroupBox); + m_pictureNameComboBox = new QComboBox(vorbisGroupBox); + m_commentNameComboBox->setEditable(true); + QStringList items; + items += "COMMENT"; + items += "DESCRIPTION"; + m_commentNameComboBox->addItems(items); + m_commentNameComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); + commentNameLabel->setBuddy(m_commentNameComboBox); + m_pictureNameComboBox->addItems(QStringList() << "METADATA_BLOCK_PICTURE" << "COVERART"); + m_pictureNameComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); + pictureNameLabel->setBuddy(m_pictureNameComboBox); + QGridLayout* vorbisGroupBoxLayout = new QGridLayout(vorbisGroupBox); + vorbisGroupBoxLayout->setMargin(2); + vorbisGroupBoxLayout->setSpacing(4); + vorbisGroupBoxLayout->addWidget(commentNameLabel, 0, 0); + vorbisGroupBoxLayout->addWidget(m_commentNameComboBox, 0, 1); + vorbisGroupBoxLayout->addWidget(pictureNameLabel, 1, 0); + vorbisGroupBoxLayout->addWidget(m_pictureNameComboBox, 1, 1); + vorbisGroupBox->setLayout(vorbisGroupBoxLayout); + vlayout->addWidget(vorbisGroupBox); +#endif + QHBoxLayout* hlayout = new QHBoxLayout; + QGroupBox* genresGroupBox = new QGroupBox(i18n("Custom &Genres"), tagsPage); + m_onlyCustomGenresCheckBox = new QCheckBox(i18n("&Show only custom genres"), genresGroupBox); + m_genresEditModel = new QStringListModel(genresGroupBox); + StringListEdit* genresEdit = new StringListEdit(m_genresEditModel, genresGroupBox); + QVBoxLayout* vbox = new QVBoxLayout; + vbox->setMargin(2); + vbox->addWidget(m_onlyCustomGenresCheckBox); + vbox->addWidget(genresEdit); + genresGroupBox->setLayout(vbox); + hlayout->addWidget(genresGroupBox); + QString id3FormatTitle(i18n("&Tag Format")); + m_id3FormatBox = new FormatBox(id3FormatTitle, tagsPage); + hlayout->addWidget(m_id3FormatBox); + vlayout->addLayout(hlayout); #ifdef CONFIG_USE_KDE addPage(tagsPage, i18n("Tags"), "applications-multimedia"); #else @@ -302,29 +277,23 @@ #endif } - QWidget* filesPage = new QWidget; - if (filesPage) { + { + QWidget* filesPage = new QWidget; QVBoxLayout* vlayout = new QVBoxLayout(filesPage); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - QGroupBox* saveGroupBox = new QGroupBox(i18n("Save"), filesPage); - if (saveGroupBox) { - m_preserveTimeCheckBox = new QCheckBox(i18n("&Preserve file timestamp"), saveGroupBox); - m_markChangesCheckBox = new QCheckBox(i18n("&Mark changes"), saveGroupBox); - QVBoxLayout* vbox = new QVBoxLayout; - vbox->setMargin(2); - vbox->addWidget(m_preserveTimeCheckBox); - vbox->addWidget(m_markChangesCheckBox); - saveGroupBox->setLayout(vbox); - vlayout->addWidget(saveGroupBox); - } - QString fnFormatTitle(i18n("&Filename Format")); - m_fnFormatBox = new FormatBox(fnFormatTitle, filesPage); - if (m_fnFormatBox) { - vlayout->addWidget(m_fnFormatBox); - } - } + vlayout->setMargin(6); + vlayout->setSpacing(6); + QGroupBox* saveGroupBox = new QGroupBox(i18n("Save"), filesPage); + m_preserveTimeCheckBox = new QCheckBox(i18n("&Preserve file timestamp"), saveGroupBox); + m_markChangesCheckBox = new QCheckBox(i18n("&Mark changes"), saveGroupBox); + QVBoxLayout* vbox = new QVBoxLayout; + vbox->setMargin(2); + vbox->addWidget(m_preserveTimeCheckBox); + vbox->addWidget(m_markChangesCheckBox); + saveGroupBox->setLayout(vbox); + vlayout->addWidget(saveGroupBox); + QString fnFormatTitle(i18n("&Filename Format")); + m_fnFormatBox = new FormatBox(fnFormatTitle, filesPage); + vlayout->addWidget(m_fnFormatBox); #ifdef CONFIG_USE_KDE addPage(filesPage, i18n("Files"), "document-save"); #else @@ -332,44 +301,36 @@ #endif } - QWidget* actionsPage = new QWidget; - if (actionsPage) { + { + QWidget* actionsPage = new QWidget; QVBoxLayout* vlayout = new QVBoxLayout(actionsPage); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - QGroupBox* browserGroupBox = new QGroupBox(i18n("Browser"), actionsPage); - if (browserGroupBox) { - QLabel* browserLabel = new QLabel(i18n("Web &browser:"), browserGroupBox); - m_browserLineEdit = new QLineEdit(browserGroupBox); - if (browserLabel && m_browserLineEdit) { - browserLabel->setBuddy(m_browserLineEdit); - } - QHBoxLayout* hbox = new QHBoxLayout; - hbox->setMargin(2); - hbox->addWidget(browserLabel); - hbox->addWidget(m_browserLineEdit); - browserGroupBox->setLayout(hbox); - vlayout->addWidget(browserGroupBox); - } - - QGroupBox* commandsGroupBox = new QGroupBox(i18n("Context &Menu Commands"), actionsPage); - if (commandsGroupBox) { - m_playOnDoubleClickCheckBox = - new QCheckBox(i18n("&Play on double click"), commandsGroupBox); - m_commandsTableModel = new CommandsTableModel(commandsGroupBox); - m_commandsTable = new ConfigTable(commandsGroupBox); - m_commandsTable->setModel(m_commandsTableModel); - m_commandsTable->setHorizontalResizeModes( - m_commandsTableModel->getHorizontalResizeModes()); - QVBoxLayout* commandsLayout = new QVBoxLayout; - commandsLayout->setMargin(2); - commandsLayout->addWidget(m_playOnDoubleClickCheckBox); - commandsLayout->addWidget(m_commandsTable); - commandsGroupBox->setLayout(commandsLayout); - vlayout->addWidget(commandsGroupBox); - } - } + vlayout->setMargin(6); + vlayout->setSpacing(6); + QGroupBox* browserGroupBox = new QGroupBox(i18n("Browser"), actionsPage); + QLabel* browserLabel = new QLabel(i18n("Web &browser:"), browserGroupBox); + m_browserLineEdit = new QLineEdit(browserGroupBox); + browserLabel->setBuddy(m_browserLineEdit); + QHBoxLayout* hbox = new QHBoxLayout; + hbox->setMargin(2); + hbox->addWidget(browserLabel); + hbox->addWidget(m_browserLineEdit); + browserGroupBox->setLayout(hbox); + vlayout->addWidget(browserGroupBox); + + QGroupBox* commandsGroupBox = new QGroupBox(i18n("Context &Menu Commands"), actionsPage); + m_playOnDoubleClickCheckBox = + new QCheckBox(i18n("&Play on double click"), commandsGroupBox); + m_commandsTableModel = new CommandsTableModel(commandsGroupBox); + m_commandsTable = new ConfigTable(commandsGroupBox); + m_commandsTable->setModel(m_commandsTableModel); + m_commandsTable->setHorizontalResizeModes( + m_commandsTableModel->getHorizontalResizeModes()); + QVBoxLayout* commandsLayout = new QVBoxLayout; + commandsLayout->setMargin(2); + commandsLayout->addWidget(m_playOnDoubleClickCheckBox); + commandsLayout->addWidget(m_commandsTable); + commandsGroupBox->setLayout(commandsLayout); + vlayout->addWidget(commandsGroupBox); #ifdef CONFIG_USE_KDE addPage(actionsPage, i18n("User Actions"), "preferences-other"); #else @@ -377,45 +338,41 @@ #endif } - QWidget* networkPage = new QWidget; - if (networkPage) { + { + QWidget* networkPage = new QWidget; QVBoxLayout* vlayout = new QVBoxLayout(networkPage); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - QGroupBox* proxyGroupBox = new QGroupBox(i18n("Proxy"), networkPage); - if (proxyGroupBox) { - m_proxyCheckBox = new QCheckBox(i18n("&Proxy:"), proxyGroupBox); - m_proxyLineEdit = new QLineEdit(proxyGroupBox); - m_proxyAuthenticationCheckBox = new QCheckBox(i18n("&Use authentication with proxy"), proxyGroupBox); - QLabel* proxyUserNameLabel = new QLabel(i18n("Proxy user &name:"), proxyGroupBox); - m_proxyUserNameLineEdit = new QLineEdit(proxyGroupBox); - proxyUserNameLabel->setBuddy(m_proxyUserNameLineEdit); - QLabel* proxyPasswordLabel = new QLabel(i18n("Proxy pass&word:"), proxyGroupBox); - m_proxyPasswordLineEdit = new QLineEdit(proxyGroupBox); - proxyPasswordLabel->setBuddy(m_proxyPasswordLineEdit); - m_proxyPasswordLineEdit->setEchoMode(QLineEdit::Password); - QVBoxLayout* vbox = new QVBoxLayout; - vbox->setMargin(2); - QHBoxLayout* proxyHbox = new QHBoxLayout; - proxyHbox->setMargin(2); - proxyHbox->addWidget(m_proxyCheckBox); - proxyHbox->addWidget(m_proxyLineEdit); - vbox->addLayout(proxyHbox); - vbox->addWidget(m_proxyAuthenticationCheckBox); - QGridLayout* authLayout = new QGridLayout; - authLayout->addWidget(proxyUserNameLabel, 0, 0); - authLayout->addWidget(m_proxyUserNameLineEdit, 0, 1); - authLayout->addWidget(proxyPasswordLabel, 1, 0); - authLayout->addWidget(m_proxyPasswordLineEdit, 1, 1); - vbox->addLayout(authLayout); - proxyGroupBox->setLayout(vbox); - vlayout->addWidget(proxyGroupBox); - } + vlayout->setMargin(6); + vlayout->setSpacing(6); + QGroupBox* proxyGroupBox = new QGroupBox(i18n("Proxy"), networkPage); + m_proxyCheckBox = new QCheckBox(i18n("&Proxy:"), proxyGroupBox); + m_proxyLineEdit = new QLineEdit(proxyGroupBox); + m_proxyAuthenticationCheckBox = new QCheckBox(i18n("&Use authentication with proxy"), proxyGroupBox); + QLabel* proxyUserNameLabel = new QLabel(i18n("Proxy user &name:"), proxyGroupBox); + m_proxyUserNameLineEdit = new QLineEdit(proxyGroupBox); + proxyUserNameLabel->setBuddy(m_proxyUserNameLineEdit); + QLabel* proxyPasswordLabel = new QLabel(i18n("Proxy pass&word:"), proxyGroupBox); + m_proxyPasswordLineEdit = new QLineEdit(proxyGroupBox); + proxyPasswordLabel->setBuddy(m_proxyPasswordLineEdit); + m_proxyPasswordLineEdit->setEchoMode(QLineEdit::Password); + QVBoxLayout* vbox = new QVBoxLayout; + vbox->setMargin(2); + QHBoxLayout* proxyHbox = new QHBoxLayout; + proxyHbox->setMargin(2); + proxyHbox->addWidget(m_proxyCheckBox); + proxyHbox->addWidget(m_proxyLineEdit); + vbox->addLayout(proxyHbox); + vbox->addWidget(m_proxyAuthenticationCheckBox); + QGridLayout* authLayout = new QGridLayout; + authLayout->addWidget(proxyUserNameLabel, 0, 0); + authLayout->addWidget(m_proxyUserNameLineEdit, 0, 1); + authLayout->addWidget(proxyPasswordLabel, 1, 0); + authLayout->addWidget(m_proxyPasswordLineEdit, 1, 1); + vbox->addLayout(authLayout); + proxyGroupBox->setLayout(vbox); + vlayout->addWidget(proxyGroupBox); - QSpacerItem* vspacer = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); - vlayout->addItem(vspacer); - } + QSpacerItem* vspacer = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); + vlayout->addItem(vspacer); #ifdef CONFIG_USE_KDE addPage(networkPage, i18n("Network"), "preferences-system-network"); #else @@ -424,38 +381,52 @@ } #ifndef CONFIG_USE_KDE - QWidget* appearancePage = new QWidget; - if (appearancePage) { + { + QWidget* shortcutsPage = new QWidget; + m_shortcutsModel = 0; + QVBoxLayout* vlayout = new QVBoxLayout(shortcutsPage); + vlayout->setMargin(6); + vlayout->setSpacing(6); + m_shortcutsTreeView = new QTreeView; + m_shortcutsTreeView->setSelectionMode(QAbstractItemView::NoSelection); + m_shortcutsTreeView->setItemDelegateForColumn( + ShortcutsModel::ShortcutColumn, new ShortcutsDelegate(this)); + vlayout->addWidget(m_shortcutsTreeView); + m_shortcutAlreadyUsedLabel = new QLabel; + vlayout->addWidget(m_shortcutAlreadyUsedLabel); + tabWidget->addTab(shortcutsPage, i18n("&Keyboard Shortcuts")); + } + + { + QWidget* appearancePage = new QWidget; QVBoxLayout* vlayout = new QVBoxLayout(appearancePage); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - QGridLayout* fontStyleLayout = new QGridLayout; - - m_useApplicationFontCheckBox = new QCheckBox(i18n("Use custom app&lication font"), appearancePage); - m_applicationFontButton = new QPushButton(i18n("A&pplication Font..."), appearancePage); - m_useApplicationStyleCheckBox = new QCheckBox(i18n("Use custom application &style"), appearancePage); - m_applicationStyleComboBox = new QComboBox(appearancePage); - if (fontStyleLayout && - m_useApplicationFontCheckBox && m_applicationFontButton && - m_useApplicationStyleCheckBox && m_applicationStyleComboBox) { - fontStyleLayout->setMargin(2); - fontStyleLayout->setSpacing(4); - fontStyleLayout->addWidget(m_useApplicationFontCheckBox, 0, 0); - fontStyleLayout->addWidget(m_applicationFontButton, 0, 1); - fontStyleLayout->addWidget(m_useApplicationStyleCheckBox, 1, 0); - fontStyleLayout->addWidget(m_applicationStyleComboBox, 1, 1); - m_applicationStyleComboBox->addItem(i18n("Unknown")); - m_applicationStyleComboBox->addItems(QStyleFactory::keys()); - connect(m_applicationFontButton, SIGNAL(clicked()), this, SLOT(slotSelectFont())); - connect(m_applicationStyleComboBox, SIGNAL(activated(const QString&)), this, SLOT(slotSelectStyle(const QString&))); - connect(m_useApplicationFontCheckBox, SIGNAL(toggled(bool)), m_applicationFontButton, SLOT(setEnabled(bool))); - connect(m_useApplicationStyleCheckBox, SIGNAL(toggled(bool)), m_applicationStyleComboBox, SLOT(setEnabled(bool))); - vlayout->addLayout(fontStyleLayout); - } - QSpacerItem* vspacer = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); - vlayout->addItem(vspacer); - } + vlayout->setMargin(6); + vlayout->setSpacing(6); + QGridLayout* fontStyleLayout = new QGridLayout; + + m_useApplicationFontCheckBox = new QCheckBox(i18n("Use custom app&lication font"), appearancePage); + m_applicationFontButton = new QPushButton(i18n("A&pplication Font..."), appearancePage); + m_useApplicationStyleCheckBox = new QCheckBox(i18n("Use custom application &style"), appearancePage); + m_applicationStyleComboBox = new QComboBox(appearancePage); + fontStyleLayout->setMargin(0); + fontStyleLayout->setSpacing(4); + fontStyleLayout->addWidget(m_useApplicationFontCheckBox, 0, 0); + fontStyleLayout->addWidget(m_applicationFontButton, 0, 1); + fontStyleLayout->addWidget(m_useApplicationStyleCheckBox, 1, 0); + fontStyleLayout->addWidget(m_applicationStyleComboBox, 1, 1); + m_applicationStyleComboBox->addItem(i18n("Unknown")); + m_applicationStyleComboBox->addItems(QStyleFactory::keys()); + connect(m_applicationFontButton, SIGNAL(clicked()), this, SLOT(slotSelectFont())); + connect(m_applicationStyleComboBox, SIGNAL(activated(const QString&)), this, SLOT(slotSelectStyle(const QString&))); + connect(m_useApplicationFontCheckBox, SIGNAL(toggled(bool)), m_applicationFontButton, SLOT(setEnabled(bool))); + connect(m_useApplicationStyleCheckBox, SIGNAL(toggled(bool)), m_applicationStyleComboBox, SLOT(setEnabled(bool))); + vlayout->addLayout(fontStyleLayout); + + m_useNativeDialogsCheckBox = + new QCheckBox(i18n("Use native system file &dialogs"), appearancePage); + vlayout->addWidget(m_useNativeDialogsCheckBox); + QSpacerItem* vspacer = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); + vlayout->addItem(vspacer); tabWidget->addTab(appearancePage, i18n("&Appearance")); } m_fontChanged = false; @@ -468,18 +439,16 @@ QPushButton* helpButton = new QPushButton(i18n("&Help"), this); QPushButton* okButton = new QPushButton(i18n("&OK"), this); QPushButton* cancelButton = new QPushButton(i18n("&Cancel"), this); - if (hlayout && helpButton && okButton && cancelButton) { - hlayout->addWidget(helpButton); - hlayout->addItem(hspacer); - hlayout->addWidget(okButton); - hlayout->addWidget(cancelButton); - okButton->setDefault(true); - connect(helpButton, SIGNAL(clicked()), this, SLOT(slotHelp())); - connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); - connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); - connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotRevertFontAndStyle())); - topLayout->addLayout(hlayout); - } + hlayout->addWidget(helpButton); + hlayout->addItem(hspacer); + hlayout->addWidget(okButton); + hlayout->addWidget(cancelButton); + okButton->setDefault(true); + connect(helpButton, SIGNAL(clicked()), this, SLOT(slotHelp())); + connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotRevertFontAndStyle())); + topLayout->addLayout(hlayout); #else setButtons(Ok | Cancel | Help); setHelp("configure-kid3"); @@ -495,14 +464,14 @@ /** * Set values in dialog from current configuration. * - * @param fnCfg filename format configuration - * @param fnCfg ID3 format configuration - * @param miscCfg misc. configuration - */ -void ConfigDialog::setConfig(const FormatConfig* fnCfg, - const FormatConfig* id3Cfg, - const MiscConfig* miscCfg) + * @param cfg configuration + */ +void ConfigDialog::setConfig(const ConfigStore* cfg) { + const FormatConfig* fnCfg = &cfg->s_fnFormatCfg; + const FormatConfig* id3Cfg = &cfg->s_id3FormatCfg; + const MiscConfig* miscCfg = &cfg->s_miscCfg; + m_fnFormatBox->fromFormatConfig(fnCfg); m_id3FormatBox->fromFormatConfig(id3Cfg); m_markTruncationsCheckBox->setChecked(miscCfg->m_markTruncations); @@ -550,6 +519,7 @@ m_proxyUserNameLineEdit->setText(miscCfg->m_proxyUserName); m_proxyPasswordLineEdit->setText(miscCfg->m_proxyPassword); #ifndef CONFIG_USE_KDE + setShortcutsModel(cfg->getShortcutsModel()); m_useApplicationFontCheckBox->setChecked(miscCfg->m_useFont); m_applicationFontButton->setEnabled(miscCfg->m_useFont); if (miscCfg->m_style.isEmpty()) { @@ -570,20 +540,22 @@ m_style = miscCfg->m_style; m_fontChanged = false; m_styleChanged = false; + + m_useNativeDialogsCheckBox->setChecked(!miscCfg->m_dontUseNativeDialogs); #endif } /** * Get values from dialog and store them in the current configuration. * - * @param fnCfg filename format configuration - * @param fnCfg ID3 format configuration - * @param miscCfg misc. configuration - */ -void ConfigDialog::getConfig(FormatConfig* fnCfg, - FormatConfig* id3Cfg, - MiscConfig* miscCfg) const + * @param cfg configuration + */ +void ConfigDialog::getConfig(ConfigStore* cfg) const { + FormatConfig* fnCfg = &cfg->s_fnFormatCfg; + FormatConfig* id3Cfg = &cfg->s_id3FormatCfg; + MiscConfig* miscCfg = &cfg->s_miscCfg; + m_fnFormatBox->toFormatConfig(fnCfg); m_id3FormatBox->toFormatConfig(id3Cfg); miscCfg->m_markTruncations = m_markTruncationsCheckBox->isChecked(); @@ -615,6 +587,7 @@ miscCfg->m_proxyUserName = m_proxyUserNameLineEdit->text(); miscCfg->m_proxyPassword = m_proxyPasswordLineEdit->text(); #ifndef CONFIG_USE_KDE + cfg->getShortcutsModel()->assignChangedShortcuts(); if (m_useApplicationFontCheckBox->isChecked()) { QFont font = QApplication::font(); miscCfg->m_fontFamily = font.family(); @@ -629,6 +602,7 @@ } else { miscCfg->m_style = m_applicationStyleComboBox->currentText(); } + miscCfg->m_dontUseNativeDialogs = !m_useNativeDialogsCheckBox->isChecked(); #endif } @@ -642,6 +616,69 @@ #ifndef CONFIG_USE_KDE /** + * Display warning that keyboard shortcut is already used. + * + * @param key string representation of key sequence + * @param context context of action + * @param action action using @a key + */ +void ConfigDialog::warnAboutAlreadyUsedShortcut( + const QString& key, const QString& context, const QAction* action) +{ + m_shortcutAlreadyUsedLabel->setText( + i18n("The keyboard shortcut '%1' is already assigned to '%2'."). + arg(key). + arg(context + '/' + (action ? action->text().remove('&') : "?"))); +} + +/** + * Clear warning about already used keyboard shortcut. + */ +void ConfigDialog::clearAlreadyUsedShortcutWarning() +{ + m_shortcutAlreadyUsedLabel->clear(); +} + +/** + * Set model with keyboard shortcuts configuration. + * @param model shortcuts model + */ +void ConfigDialog::setShortcutsModel(ShortcutsModel* model) +{ + if (model != m_shortcutsModel) { + if (m_shortcutsModel) { + disconnect(m_shortcutsModel, + SIGNAL(shortcutAlreadyUsed(QString,QString,const QAction*)), + this, + SLOT(warnAboutAlreadyUsedShortcut(QString,QString,const QAction*))); + disconnect(m_shortcutsModel, + SIGNAL(shortcutSet(QString,QString,const QAction*)), + this, + SLOT(clearAlreadyUsedShortcutWarning())); + disconnect(this, SIGNAL(rejected()), + m_shortcutsModel, SLOT(discardChangedShortcuts())); + } + m_shortcutsModel = model; + connect(m_shortcutsModel, + SIGNAL(shortcutAlreadyUsed(QString,QString,const QAction*)), + this, + SLOT(warnAboutAlreadyUsedShortcut(QString,QString,const QAction*))); + connect(m_shortcutsModel, + SIGNAL(shortcutSet(QString,QString,const QAction*)), + this, + SLOT(clearAlreadyUsedShortcutWarning())); + connect(this, SIGNAL(rejected()), + m_shortcutsModel, SLOT(discardChangedShortcuts())); + m_shortcutsTreeView->setModel(m_shortcutsModel); + m_shortcutsTreeView->expandAll(); + m_shortcutsTreeView->resizeColumnToContents(ShortcutsModel::ActionColumn); +#ifdef Q_OS_MAC + m_shortcutsTreeView->header()->setStretchLastSection(false); +#endif + } +} + +/** * Select custom application font. */ void ConfigDialog::slotSelectFont() diff -Nru kid3-2.0.1/src/gui/dialogs/configdialog.h kid3-2.1/src/gui/dialogs/configdialog.h --- kid3-2.0.1/src/gui/dialogs/configdialog.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/configdialog.h 2012-05-11 05:46:04.000000000 +0000 @@ -49,12 +49,17 @@ class QLineEdit; class QSpinBox; class QStringListModel; +class ConfigStore; /** Base class for configuration dialog. */ #ifdef CONFIG_USE_KDE typedef KConfigDialog ConfigDialogBaseClass; #else typedef QDialog ConfigDialogBaseClass; + +class QTreeView; +class QLabel; +class ShortcutsModel; #endif /** @@ -76,28 +81,25 @@ #else ConfigDialog(QWidget* parent, QString& caption); #endif + /** * Destructor. */ ~ConfigDialog(); + /** * Set values in dialog from current configuration. * - * @param fnCfg filename format configuration - * @param id3Cfg ID3 format configuration - * @param miscCfg misc. configuration + * @param cfg configuration */ - void setConfig(const FormatConfig* fnCfg, const FormatConfig* id3Cfg, - const MiscConfig* miscCfg); + void setConfig(const ConfigStore* cfg); + /** * Get values from dialog and store them in the current configuration. * - * @param fnCfg filename format configuration - * @param id3Cfg ID3 format configuration - * @param miscCfg misc. configuration + * @param cfg configuration */ - void getConfig(FormatConfig* fnCfg, FormatConfig* id3Cfg, - MiscConfig* miscCfg) const; + void getConfig(ConfigStore* cfg) const; protected slots: /** @@ -107,6 +109,21 @@ #ifndef CONFIG_USE_KDE /** + * Display warning that keyboard shortcut is already used. + * + * @param key string representation of key sequence + * @param context context of action + * @param action action using @a key + */ + void warnAboutAlreadyUsedShortcut(const QString& key, const QString& context, + const QAction* action); + + /** + * Clear warning about already used keyboard shortcut. + */ + void clearAlreadyUsedShortcutWarning(); + + /** * Select custom application font. */ void slotSelectFont(); @@ -125,6 +142,10 @@ #endif private: +#ifndef CONFIG_USE_KDE + void setShortcutsModel(ShortcutsModel* model); +#endif + /** Preserve timestamp checkbox */ QCheckBox* m_preserveTimeCheckBox; /** Mark changes checkbox */ @@ -180,10 +201,14 @@ /** Proxy password line edit */ QLineEdit* m_proxyPasswordLineEdit; #ifndef CONFIG_USE_KDE + ShortcutsModel* m_shortcutsModel; + QTreeView* m_shortcutsTreeView; + QLabel* m_shortcutAlreadyUsedLabel; QCheckBox* m_useApplicationFontCheckBox; QPushButton* m_applicationFontButton; QCheckBox* m_useApplicationStyleCheckBox; QComboBox* m_applicationStyleComboBox; + QCheckBox* m_useNativeDialogsCheckBox; QFont m_font; QString m_style; bool m_fontChanged; diff -Nru kid3-2.0.1/src/gui/dialogs/contexthelp.cpp kid3-2.1/src/gui/dialogs/contexthelp.cpp --- kid3-2.0.1/src/gui/dialogs/contexthelp.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/contexthelp.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 09 Jul 2011 * - * Copyright (C) 2011 Urs Fleisch + * Copyright (C) 2011-2012 Urs Fleisch * * This file is part of Kid3. * @@ -57,15 +57,12 @@ { if (!s_helpBrowser) { QString caption(QCM_translate(I18N_NOOP("Kid3 Handbook"))); - s_helpBrowser = - new BrowserDialog(0, caption); + s_helpBrowser = new BrowserDialog(0, caption); } - if (s_helpBrowser) { - s_helpBrowser->goToAnchor(anchor); - s_helpBrowser->setModal(!anchor.isEmpty()); - if (s_helpBrowser->isHidden()) { - s_helpBrowser->show(); - } + s_helpBrowser->goToAnchor(anchor); + s_helpBrowser->setModal(!anchor.isEmpty()); + if (s_helpBrowser->isHidden()) { + s_helpBrowser->show(); } } #endif diff -Nru kid3-2.0.1/src/gui/dialogs/editframedialog.cpp kid3-2.1/src/gui/dialogs/editframedialog.cpp --- kid3-2.0.1/src/gui/dialogs/editframedialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/editframedialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 10 Jun 2009 * - * Copyright (C) 2003-2007 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -44,30 +44,26 @@ setModal(true); setWindowTitle(caption); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (vlayout) { - vlayout->setSpacing(6); - vlayout->setMargin(6); - m_edit = new QTextEdit(this); - if (m_edit) { - m_edit->setPlainText(text); - m_edit->moveCursor(QTextCursor::End); - vlayout->addWidget(m_edit); - } - } + vlayout->setSpacing(6); + vlayout->setMargin(6); + m_edit = new QTextEdit(this); + m_edit->setPlainText(text); + m_edit->moveCursor(QTextCursor::End); + vlayout->addWidget(m_edit); + QHBoxLayout* hlayout = new QHBoxLayout; QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); m_okButton = new QPushButton(i18n("&OK"), this); m_cancelButton = new QPushButton(i18n("&Cancel"), this); - if (hlayout && m_okButton && m_cancelButton) { - hlayout->addItem(hspacer); - hlayout->addWidget(m_okButton); - hlayout->addWidget(m_cancelButton); - m_okButton->setDefault(true); - connect(m_okButton, SIGNAL(clicked()), this, SLOT(accept())); - connect(m_cancelButton, SIGNAL(clicked()), this, SLOT(reject())); - vlayout->addLayout(hlayout); - } + hlayout->addItem(hspacer); + hlayout->addWidget(m_okButton); + hlayout->addWidget(m_cancelButton); + m_okButton->setDefault(true); + connect(m_okButton, SIGNAL(clicked()), this, SLOT(accept())); + connect(m_cancelButton, SIGNAL(clicked()), this, SLOT(reject())); + vlayout->addLayout(hlayout); + setMinimumWidth(400); } diff -Nru kid3-2.0.1/src/gui/dialogs/editframefieldsdialog.cpp kid3-2.1/src/gui/dialogs/editframefieldsdialog.cpp --- kid3-2.0.1/src/gui/dialogs/editframefieldsdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/editframefieldsdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 10 Jun 2009 * - * Copyright (C) 2003-2007 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -46,6 +46,7 @@ #include #else #include +#include "configstore.h" #endif /** QTextEdit with label above */ @@ -225,13 +226,11 @@ QVBoxLayout* layout = new QVBoxLayout(this); m_label = new QLabel(this); m_edit = new QTextEdit(this); - if (layout && m_label && m_edit) { - layout->setMargin(0); - layout->setSpacing(2); - m_edit->setAcceptRichText(false); - layout->addWidget(m_label); - layout->addWidget(m_edit); - } + layout->setMargin(0); + layout->setSpacing(2); + m_edit->setAcceptRichText(false); + layout->addWidget(m_label); + layout->addWidget(m_edit); } /** @@ -246,12 +245,10 @@ QVBoxLayout* layout = new QVBoxLayout(this); m_label = new QLabel(this); m_edit = new QLineEdit(this); - if (layout && m_label && m_edit) { - layout->setMargin(0); - layout->setSpacing(2); - layout->addWidget(m_label); - layout->addWidget(m_edit); - } + layout->setMargin(0); + layout->setSpacing(2); + layout->addWidget(m_label); + layout->addWidget(m_edit); } /** @@ -267,17 +264,15 @@ QVBoxLayout* layout = new QVBoxLayout(this); m_label = new QLabel(this); m_combo = new QComboBox(this); - if (layout && m_label && m_combo) { - layout->setMargin(0); - layout->setSpacing(2); - QStringList strList; - while (*strlst) { - strList += QCM_translate(*strlst++); - } - m_combo->addItems(strList); - layout->addWidget(m_label); - layout->addWidget(m_combo); - } + layout->setMargin(0); + layout->setSpacing(2); + QStringList strList; + while (*strlst) { + strList += QCM_translate(*strlst++); + } + m_combo->addItems(strList); + layout->addWidget(m_label); + layout->addWidget(m_combo); } /** @@ -338,7 +333,7 @@ * @param field field to edit */ TextFieldControl(Frame::Field& field) : - Mp3FieldControl(field) {} + Mp3FieldControl(field), m_edit(0) {} /** * Destructor. @@ -372,7 +367,7 @@ * @param field field to edit */ LineFieldControl(Frame::Field& field) : - Mp3FieldControl(field) {} + Mp3FieldControl(field), m_edit(0) {} /** * Destructor. @@ -406,7 +401,7 @@ * @param field field to edit */ IntFieldControl(Frame::Field& field) : - Mp3FieldControl(field) {} + Mp3FieldControl(field), m_numInp(0) {} /** * Destructor. @@ -442,7 +437,7 @@ */ IntComboBoxControl(Frame::Field& field, const char **lst) : - Mp3FieldControl(field), m_strLst(lst) {} + Mp3FieldControl(field), m_ptInp(0), m_strLst(lst) {} /** * Destructor. @@ -481,7 +476,7 @@ */ BinFieldControl(Frame::Field& field, const Frame& frame, const TaggedFile* taggedFile) : - Mp3FieldControl(field), m_frame(frame), m_taggedFile(taggedFile) {} + Mp3FieldControl(field), m_bos(0), m_frame(frame), m_taggedFile(taggedFile) {} /** * Destructor. @@ -529,21 +524,19 @@ QPushButton* openButton = new QPushButton(i18n("&Import"), this); QPushButton* saveButton = new QPushButton(i18n("&Export"), this); QPushButton* viewButton = new QPushButton(i18n("&View"), this); - if (layout && m_label && m_clipButton && openButton && saveButton && viewButton) { - layout->setMargin(0); - layout->setSpacing(6); - layout->addWidget(m_label); - layout->addWidget(m_clipButton); - layout->addWidget(openButton); - layout->addWidget(saveButton); - layout->addWidget(viewButton); - connect(m_clipButton, SIGNAL(clicked()), this, SLOT(clipData())); - connect(openButton, SIGNAL(clicked()), this, SLOT(loadData())); - connect(saveButton, SIGNAL(clicked()), this, SLOT(saveData())); - connect(viewButton, SIGNAL(clicked()), this, SLOT(viewData())); - connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT(setClipButtonState())); - setClipButtonState(); - } + layout->setMargin(0); + layout->setSpacing(6); + layout->addWidget(m_label); + layout->addWidget(m_clipButton); + layout->addWidget(openButton); + layout->addWidget(saveButton); + layout->addWidget(viewButton); + connect(m_clipButton, SIGNAL(clicked()), this, SLOT(clipData())); + connect(openButton, SIGNAL(clicked()), this, SLOT(loadData())); + connect(saveButton, SIGNAL(clicked()), this, SLOT(saveData())); + connect(viewButton, SIGNAL(clicked()), this, SLOT(viewData())); + connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT(setClipButtonState())); + setClipButtonState(); } /** @@ -585,28 +578,24 @@ #ifdef CONFIG_USE_KDE QString loadfilename = KFileDialog::getOpenFileName( m_defaultDir.isEmpty() ? Kid3Application::getDirName() : m_defaultDir, - QString::null, this); + m_filter, this); #else QString loadfilename = QFileDialog::getOpenFileName( this, QString(), - m_defaultDir.isEmpty() ? Kid3Application::getDirName() : m_defaultDir -#if !defined Q_OS_WIN32 && !defined Q_OS_MAC - , QString(), 0, QFileDialog::DontUseNativeDialog -#endif - ); + m_defaultDir.isEmpty() ? Kid3Application::getDirName() : m_defaultDir, + m_filter, 0, ConfigStore::s_miscCfg.m_dontUseNativeDialogs + ? QFileDialog::DontUseNativeDialog : QFileDialog::Options(0)); #endif if (!loadfilename.isEmpty()) { QFile file(loadfilename); if (file.open(QIODevice::ReadOnly)) { size_t size = file.size(); char* data = new char[size]; - if (data) { - QDataStream stream(&file); - stream.readRawData(data, size); - m_byteArray = QByteArray(data, size); - m_isChanged = true; - delete [] data; - } + QDataStream stream(&file); + stream.readRawData(data, size); + m_byteArray = QByteArray(data, size); + m_isChanged = true; + delete [] data; file.close(); } } @@ -626,13 +615,11 @@ dir += m_defaultFile; } #ifdef CONFIG_USE_KDE - QString fn = KFileDialog::getSaveFileName(dir, QString::null, this); + QString fn = KFileDialog::getSaveFileName(dir, m_filter, this); #else - QString fn = QFileDialog::getSaveFileName(this, QString(), dir -#if !defined Q_OS_WIN32 && !defined Q_OS_MAC - , QString(), 0, QFileDialog::DontUseNativeDialog -#endif - ); + QString fn = QFileDialog::getSaveFileName(this, QString(), dir, + m_filter, 0, ConfigStore::s_miscCfg.m_dontUseNativeDialogs + ? QFileDialog::DontUseNativeDialog : QFileDialog::Options(0)); #endif if (!fn.isEmpty()) { QFile file(fn); @@ -738,10 +725,8 @@ QWidget* LineFieldControl::createWidget(QWidget* parent) { m_edit = new LabeledLineEdit(parent); - if (m_edit) { - m_edit->setLabel(QCM_translate(getFieldIDString(static_cast(m_field.m_id)))); - m_edit->setText(m_field.m_value.toString()); - } + m_edit->setLabel(QCM_translate(getFieldIDString(static_cast(m_field.m_id)))); + m_edit->setText(m_field.m_value.toString()); return m_edit; } @@ -762,10 +747,8 @@ QWidget* IntFieldControl::createWidget(QWidget* parent) { m_numInp = new LabeledSpinBox(parent); - if (m_numInp) { - m_numInp->setLabel(QCM_translate(getFieldIDString(static_cast(m_field.m_id)))); - m_numInp->setValue(m_field.m_value.toInt()); - } + m_numInp->setLabel(QCM_translate(getFieldIDString(static_cast(m_field.m_id)))); + m_numInp->setValue(m_field.m_value.toInt()); return m_numInp; } @@ -786,10 +769,8 @@ QWidget* IntComboBoxControl::createWidget(QWidget* parent) { m_ptInp = new LabeledComboBox(parent, m_strLst); - if (m_ptInp) { - m_ptInp->setLabel(QCM_translate(getFieldIDString(static_cast(m_field.m_id)))); - m_ptInp->setCurrentItem(m_field.m_value.toInt()); - } + m_ptInp->setLabel(QCM_translate(getFieldIDString(static_cast(m_field.m_id)))); + m_ptInp->setCurrentItem(m_field.m_value.toInt()); return m_ptInp; } @@ -812,14 +793,20 @@ QWidget* BinFieldControl::createWidget(QWidget* parent) { m_bos = new BinaryOpenSave(parent, m_field); - if (m_bos) { - m_bos->setLabel(QCM_translate(getFieldIDString(static_cast(m_field.m_id)))); - if (m_taggedFile) { - m_bos->setDefaultDir(m_taggedFile->getDirname()); - } - if (m_frame.getType() == Frame::FT_Picture) { - m_bos->setDefaultFile("folder.jpg"); - } + m_bos->setLabel(QCM_translate(getFieldIDString(static_cast(m_field.m_id)))); + if (m_taggedFile) { + m_bos->setDefaultDir(m_taggedFile->getDirname()); + } + if (m_frame.getType() == Frame::FT_Picture) { + m_bos->setDefaultFile("folder.jpg"); + m_bos->setFilter( +#ifdef CONFIG_USE_KDE + "*.jpg *.jpeg *.png|" + + i18n("Images (*.jpg *.jpeg *.png)") + "\n*|" + i18n("All Files (*)") +#else + i18n("Images (*.jpg *.jpeg *.png)") + ";;" + i18n("All Files (*)") +#endif + ); } return m_bos; } @@ -859,153 +846,126 @@ qDeleteAll(m_fieldcontrols); m_fieldcontrols.clear(); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (vlayout) { - vlayout->setSpacing(6); - vlayout->setMargin(6); - - for (Frame::FieldList::iterator fldIt = m_fields.begin(); - fldIt != m_fields.end(); - ++fldIt) { - Frame::Field& fld = *fldIt; - switch (fld.m_value.type()) { - case QVariant::Int: - case QVariant::UInt: - if (fld.m_id == Frame::Field::ID_TextEnc) { - static const char* strlst[] = { - I18N_NOOP("ISO-8859-1"), - I18N_NOOP("UTF16"), - I18N_NOOP("UTF16BE"), - I18N_NOOP("UTF8"), - NULL - }; - IntComboBoxControl* cbox = - new IntComboBoxControl(fld, strlst); - if (cbox) { - m_fieldcontrols.append(cbox); - } - } - else if (fld.m_id == Frame::Field::ID_PictureType) { - static const char* strlst[] = { - I18N_NOOP("Other"), - I18N_NOOP("32x32 pixels PNG file icon"), - I18N_NOOP("Other file icon"), - I18N_NOOP("Cover (front)"), - I18N_NOOP("Cover (back)"), - I18N_NOOP("Leaflet page"), - I18N_NOOP("Media"), - I18N_NOOP("Lead artist/lead performer/soloist"), - I18N_NOOP("Artist/performer"), - I18N_NOOP("Conductor"), - I18N_NOOP("Band/Orchestra"), - I18N_NOOP("Composer"), - I18N_NOOP("Lyricist/text writer"), - I18N_NOOP("Recording Location"), - I18N_NOOP("During recording"), - I18N_NOOP("During performance"), - I18N_NOOP("Movie/video screen capture"), - I18N_NOOP("A bright coloured fish"), - I18N_NOOP("Illustration"), - I18N_NOOP("Band/artist logotype"), - I18N_NOOP("Publisher/Studio logotype"), - NULL - }; - IntComboBoxControl* cbox = - new IntComboBoxControl(fld, strlst); - if (cbox) { - m_fieldcontrols.append(cbox); - } - } - else if (fld.m_id == Frame::Field::ID_TimestampFormat) { - static const char* strlst[] = { - I18N_NOOP("Other"), - I18N_NOOP("MPEG frames as unit"), - I18N_NOOP("Milliseconds as unit"), - NULL - }; - IntComboBoxControl* cbox = - new IntComboBoxControl(fld, strlst); - if (cbox) { - m_fieldcontrols.append(cbox); - } - } - else if (fld.m_id == Frame::Field::ID_ContentType) { - static const char* strlst[] = { - I18N_NOOP("Other"), - I18N_NOOP("Lyrics"), - I18N_NOOP("Text transcription"), - I18N_NOOP("Movement/part name"), - I18N_NOOP("Events"), - I18N_NOOP("Chord"), - I18N_NOOP("Trivia/pop up"), - NULL - }; - IntComboBoxControl* cbox = - new IntComboBoxControl(fld, strlst); - if (cbox) { - m_fieldcontrols.append(cbox); - } - } - else { - IntFieldControl* intctl = - new IntFieldControl(fld); - if (intctl) { - m_fieldcontrols.append(intctl); - } - } - break; - - case QVariant::String: - if (fld.m_id == Frame::Field::ID_Text) { - // Large textedit for text fields - TextFieldControl* textctl = - new TextFieldControl(fld); - if (textctl) { - m_fieldcontrols.append(textctl); - } - } - else { - LineFieldControl* textctl = - new LineFieldControl(fld); - if (textctl) { - m_fieldcontrols.append(textctl); - } - } - break; - - case QVariant::ByteArray: - { - BinFieldControl* binctl = - new BinFieldControl(fld, frame, taggedFile); - if (binctl) { - m_fieldcontrols.append(binctl); - } - break; + vlayout->setSpacing(6); + vlayout->setMargin(6); + + for (Frame::FieldList::iterator fldIt = m_fields.begin(); + fldIt != m_fields.end(); + ++fldIt) { + Frame::Field& fld = *fldIt; + switch (fld.m_value.type()) { + case QVariant::Int: + case QVariant::UInt: + if (fld.m_id == Frame::Field::ID_TextEnc) { + static const char* strlst[] = { + I18N_NOOP("ISO-8859-1"), + I18N_NOOP("UTF16"), + I18N_NOOP("UTF16BE"), + I18N_NOOP("UTF8"), + NULL + }; + IntComboBoxControl* cbox = new IntComboBoxControl(fld, strlst); + m_fieldcontrols.append(cbox); + } + else if (fld.m_id == Frame::Field::ID_PictureType) { + static const char* strlst[] = { + I18N_NOOP("Other"), + I18N_NOOP("32x32 pixels PNG file icon"), + I18N_NOOP("Other file icon"), + I18N_NOOP("Cover (front)"), + I18N_NOOP("Cover (back)"), + I18N_NOOP("Leaflet page"), + I18N_NOOP("Media"), + I18N_NOOP("Lead artist/lead performer/soloist"), + I18N_NOOP("Artist/performer"), + I18N_NOOP("Conductor"), + I18N_NOOP("Band/Orchestra"), + I18N_NOOP("Composer"), + I18N_NOOP("Lyricist/text writer"), + I18N_NOOP("Recording Location"), + I18N_NOOP("During recording"), + I18N_NOOP("During performance"), + I18N_NOOP("Movie/video screen capture"), + I18N_NOOP("A bright coloured fish"), + I18N_NOOP("Illustration"), + I18N_NOOP("Band/artist logotype"), + I18N_NOOP("Publisher/Studio logotype"), + NULL + }; + IntComboBoxControl* cbox = new IntComboBoxControl(fld, strlst); + m_fieldcontrols.append(cbox); + } + else if (fld.m_id == Frame::Field::ID_TimestampFormat) { + static const char* strlst[] = { + I18N_NOOP("Other"), + I18N_NOOP("MPEG frames as unit"), + I18N_NOOP("Milliseconds as unit"), + NULL + }; + IntComboBoxControl* cbox = new IntComboBoxControl(fld, strlst); + m_fieldcontrols.append(cbox); + } + else if (fld.m_id == Frame::Field::ID_ContentType) { + static const char* strlst[] = { + I18N_NOOP("Other"), + I18N_NOOP("Lyrics"), + I18N_NOOP("Text transcription"), + I18N_NOOP("Movement/part name"), + I18N_NOOP("Events"), + I18N_NOOP("Chord"), + I18N_NOOP("Trivia/pop up"), + NULL + }; + IntComboBoxControl* cbox = new IntComboBoxControl(fld, strlst); + m_fieldcontrols.append(cbox); } + else { + IntFieldControl* intctl = new IntFieldControl(fld); + m_fieldcontrols.append(intctl); + } + break; + + case QVariant::String: + if (fld.m_id == Frame::Field::ID_Text) { + // Large textedit for text fields + TextFieldControl* textctl = new TextFieldControl(fld); + m_fieldcontrols.append(textctl); + } + else { + LineFieldControl* textctl = new LineFieldControl(fld); + m_fieldcontrols.append(textctl); + } + break; - default: - qDebug("Unknown type %d in field %d", fld.m_value.type(), fld.m_id); + case QVariant::ByteArray: + { + BinFieldControl* binctl = new BinFieldControl(fld, frame, taggedFile); + m_fieldcontrols.append(binctl); + break; } - } - QListIterator it(m_fieldcontrols); - while (it.hasNext()) { - vlayout->addWidget(it.next()->createWidget(this)); + default: + qDebug("Unknown type %d in field %d", fld.m_value.type(), fld.m_id); } } + + QListIterator it(m_fieldcontrols); + while (it.hasNext()) { + vlayout->addWidget(it.next()->createWidget(this)); + } + QHBoxLayout* hlayout = new QHBoxLayout; QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); QPushButton* okButton = new QPushButton(i18n("&OK"), this); QPushButton* cancelButton = new QPushButton(i18n("&Cancel"), this); - if (hlayout && okButton && cancelButton) { - hlayout->addItem(hspacer); - hlayout->addWidget(okButton); - hlayout->addWidget(cancelButton); - okButton->setDefault(true); - connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); - connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); - vlayout->addLayout(hlayout); - } + hlayout->addItem(hspacer); + hlayout->addWidget(okButton); + hlayout->addWidget(cancelButton); + okButton->setDefault(true); + connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); + vlayout->addLayout(hlayout); setMinimumWidth(525); } diff -Nru kid3-2.0.1/src/gui/dialogs/editframefieldsdialog.h kid3-2.1/src/gui/dialogs/editframefieldsdialog.h --- kid3-2.0.1/src/gui/dialogs/editframefieldsdialog.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/editframefieldsdialog.h 2012-05-11 05:46:04.000000000 +0000 @@ -78,6 +78,12 @@ */ void setDefaultFile(const QString& defaultFile) { m_defaultFile = defaultFile; } + /** + * Set filter. + * @param filter filter for file dialog + */ + void setFilter(const QString& filter) { m_filter = filter; } + public slots: /** * Enable the "From Clipboard" button if the clipboard contains an image. @@ -118,6 +124,8 @@ QString m_defaultDir; /** Default file name */ QString m_defaultFile; + /** Filter names */ + QString m_filter; }; diff -Nru kid3-2.0.1/src/gui/dialogs/exportdialog.cpp kid3-2.1/src/gui/dialogs/exportdialog.cpp --- kid3-2.0.1/src/gui/dialogs/exportdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/exportdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 10 May 2006 * - * Copyright (C) 2006-2008 Urs Fleisch + * Copyright (C) 2006-2012 Urs Fleisch * * This file is part of Kid3. * @@ -73,96 +73,83 @@ setSizeGripEnabled(true); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - m_edit = new QTextEdit(this); - if (m_edit) { - m_edit->setAcceptRichText(false); - vlayout->addWidget(m_edit); - } - m_table = new QTableView(this); - m_table->setModel(m_textTableModel); - m_table->hide(); - vlayout->addWidget(m_table); - - QString formatToolTip = ImportTrackData::getFormatToolTip(); - m_formatListEdit = new FormatListEdit( - QStringList() << i18n("Format:") - << i18n("Header:") - << i18n("Tracks:") - << i18n("Footer:"), - QStringList() << QString() - << formatToolTip - << formatToolTip - << formatToolTip, - this); - connect(m_formatListEdit, SIGNAL(formatChanged()), - this, SLOT(showPreview())); - vlayout->addWidget(m_formatListEdit); - - QHBoxLayout* butlayout = new QHBoxLayout; - if (butlayout) { - butlayout->setSpacing(6); - m_fileButton = new QPushButton(i18n("To F&ile"), this); - if (m_fileButton) { - m_fileButton->setAutoDefault(false); - butlayout->addWidget(m_fileButton); - connect(m_fileButton, SIGNAL(clicked()), this, SLOT(slotToFile())); - } - m_clipButton = new QPushButton(i18n("To Clip&board"), this); - if (m_clipButton) { - m_clipButton->setAutoDefault(false); - butlayout->addWidget(m_clipButton); - connect(m_clipButton, SIGNAL(clicked()), this, SLOT(slotToClipboard())); - } - QSpacerItem* butspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, - QSizePolicy::Minimum); - butlayout->addItem(butspacer); - - QLabel* srcLabel = new QLabel(i18n("&Source:"), this); - butlayout->addWidget(srcLabel); - m_srcComboBox = new QComboBox(this); - if (m_srcComboBox) { - m_srcComboBox->setEditable(false); - m_srcComboBox->addItem(i18n("Tag 1"), TrackData::TagV1); - m_srcComboBox->addItem(i18n("Tag 2"), TrackData::TagV2); - srcLabel->setBuddy(m_srcComboBox); - butlayout->addWidget(m_srcComboBox); - connect(m_srcComboBox, SIGNAL(activated(int)), - this, SLOT(onSrcComboBoxActivated(int))); - } - vlayout->addLayout(butlayout); - } + vlayout->setMargin(6); + vlayout->setSpacing(6); + m_edit = new QTextEdit(this); + m_edit->setAcceptRichText(false); + vlayout->addWidget(m_edit); + + m_table = new QTableView(this); + m_table->setModel(m_textTableModel); + m_table->hide(); + vlayout->addWidget(m_table); + + QString formatToolTip = ImportTrackData::getFormatToolTip(); + m_formatListEdit = new FormatListEdit( + QStringList() << i18n("Format:") + << i18n("Header:") + << i18n("Tracks:") + << i18n("Footer:"), + QStringList() << QString() + << formatToolTip + << formatToolTip + << formatToolTip, + this); + connect(m_formatListEdit, SIGNAL(formatChanged()), + this, SLOT(showPreview())); + vlayout->addWidget(m_formatListEdit); + + QHBoxLayout* butlayout = new QHBoxLayout; + butlayout->setSpacing(6); + m_fileButton = new QPushButton(i18n("To F&ile"), this); + m_fileButton->setAutoDefault(false); + butlayout->addWidget(m_fileButton); + connect(m_fileButton, SIGNAL(clicked()), this, SLOT(slotToFile())); + + m_clipButton = new QPushButton(i18n("To Clip&board"), this); + m_clipButton->setAutoDefault(false); + butlayout->addWidget(m_clipButton); + connect(m_clipButton, SIGNAL(clicked()), this, SLOT(slotToClipboard())); + + QSpacerItem* butspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, + QSizePolicy::Minimum); + butlayout->addItem(butspacer); + + QLabel* srcLabel = new QLabel(i18n("&Source:"), this); + butlayout->addWidget(srcLabel); + m_srcComboBox = new QComboBox(this); + m_srcComboBox->setEditable(false); + m_srcComboBox->addItem(i18n("Tag 1"), TrackData::TagV1); + m_srcComboBox->addItem(i18n("Tag 2"), TrackData::TagV2); + srcLabel->setBuddy(m_srcComboBox); + butlayout->addWidget(m_srcComboBox); + connect(m_srcComboBox, SIGNAL(activated(int)), + this, SLOT(onSrcComboBoxActivated(int))); + + vlayout->addLayout(butlayout); + + QHBoxLayout* hlayout = new QHBoxLayout; + hlayout->setSpacing(6); + QPushButton* helpButton = new QPushButton(i18n("&Help"), this); + helpButton->setAutoDefault(false); + hlayout->addWidget(helpButton); + connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); + + QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this); + saveButton->setAutoDefault(false); + hlayout->addWidget(saveButton); + connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); + + QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, + QSizePolicy::Minimum); + hlayout->addItem(hspacer); + + QPushButton* closeButton = new QPushButton(i18n("&Close"), this); + closeButton->setAutoDefault(false); + hlayout->addWidget(closeButton); + connect(closeButton, SIGNAL(clicked()), this, SLOT(accept())); - QHBoxLayout* hlayout = new QHBoxLayout; - if (hlayout) { - hlayout->setSpacing(6); - QPushButton* helpButton = new QPushButton(i18n("&Help"), this); - if (helpButton) { - helpButton->setAutoDefault(false); - hlayout->addWidget(helpButton); - connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); - } - QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this); - if (saveButton) { - saveButton->setAutoDefault(false); - hlayout->addWidget(saveButton); - connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); - } - QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, - QSizePolicy::Minimum); - hlayout->addItem(hspacer); - - QPushButton* closeButton = new QPushButton(i18n("&Close"), this); - if (closeButton) { - closeButton->setAutoDefault(false); - hlayout->addWidget(closeButton); - connect(closeButton, SIGNAL(clicked()), this, SLOT(accept())); - } - vlayout->addLayout(hlayout); - } - } + vlayout->addLayout(hlayout); } /** @@ -182,11 +169,10 @@ KFileDialog::getSaveFileName(ConfigStore::s_genCfg.m_importDir, QString::null, this); #else - QFileDialog::getSaveFileName(this, QString(), ConfigStore::s_genCfg.m_importDir -#if !defined Q_OS_WIN32 && !defined Q_OS_MAC - , QString(), 0, QFileDialog::DontUseNativeDialog -#endif - ); + QFileDialog::getSaveFileName(this, QString(), + ConfigStore::s_genCfg.m_importDir, QString(), 0, + ConfigStore::s_miscCfg.m_dontUseNativeDialogs + ? QFileDialog::DontUseNativeDialog : QFileDialog::Options(0)); #endif if (!fileName.isEmpty()) { if (!m_textExporter->exportToFile(fileName)) { diff -Nru kid3-2.0.1/src/gui/dialogs/filterdialog.cpp kid3-2.1/src/gui/dialogs/filterdialog.cpp --- kid3-2.0.1/src/gui/dialogs/filterdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/filterdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 16 Jan 2008 * - * Copyright (C) 2008 Urs Fleisch + * Copyright (C) 2008-2012 Urs Fleisch * * This file is part of Kid3. * @@ -50,59 +50,50 @@ setSizeGripEnabled(true); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - m_edit = new QTextEdit(this); - if (m_edit) { - m_edit->setReadOnly(true); - m_edit->setTabStopWidth(20); - m_edit->setAcceptRichText(false); - vlayout->addWidget(m_edit); - } - - m_formatListEdit = new FormatListEdit( - QStringList() << i18n("&Filter:") - << i18n("&Expression:"), - QStringList() << QString() - << FileFilter::getFormatToolTip(), - this); - vlayout->addWidget(m_formatListEdit); - - QHBoxLayout* hlayout = new QHBoxLayout; - if (hlayout) { - hlayout->setSpacing(6); - QPushButton* helpButton = new QPushButton(i18n("&Help"), this); - if (helpButton) { - helpButton->setAutoDefault(false); - hlayout->addWidget(helpButton); - connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); - } - QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this); - if (saveButton) { - saveButton->setAutoDefault(false); - hlayout->addWidget(saveButton); - connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); - } - QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, - QSizePolicy::Minimum); - hlayout->addItem(hspacer); - - m_applyButton = new QPushButton(i18n("&Apply"), this); - QPushButton* closeButton = new QPushButton(i18n("&Close"), this); - if (m_applyButton && closeButton) { - m_applyButton->setAutoDefault(false); - closeButton->setAutoDefault(false); - hlayout->addWidget(m_applyButton); - hlayout->addWidget(closeButton); - connect(m_applyButton, SIGNAL(clicked()), this, SLOT(applyFilter())); - connect(closeButton, SIGNAL(clicked()), this, SLOT(reject())); - connect(closeButton, SIGNAL(clicked()), - &m_fileFilter, SLOT(setAbortFlag())); - } - vlayout->addLayout(hlayout); - } - } + vlayout->setMargin(6); + vlayout->setSpacing(6); + m_edit = new QTextEdit(this); + m_edit->setReadOnly(true); + m_edit->setTabStopWidth(20); + m_edit->setAcceptRichText(false); + vlayout->addWidget(m_edit); + + m_formatListEdit = new FormatListEdit( + QStringList() << i18n("&Filter:") + << i18n("&Expression:"), + QStringList() << QString() + << FileFilter::getFormatToolTip(), + this); + vlayout->addWidget(m_formatListEdit); + + QHBoxLayout* hlayout = new QHBoxLayout; + hlayout->setSpacing(6); + QPushButton* helpButton = new QPushButton(i18n("&Help"), this); + helpButton->setAutoDefault(false); + hlayout->addWidget(helpButton); + connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); + + QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this); + saveButton->setAutoDefault(false); + hlayout->addWidget(saveButton); + connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); + + QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, + QSizePolicy::Minimum); + hlayout->addItem(hspacer); + + m_applyButton = new QPushButton(i18n("&Apply"), this); + QPushButton* closeButton = new QPushButton(i18n("&Close"), this); + m_applyButton->setAutoDefault(false); + closeButton->setAutoDefault(false); + hlayout->addWidget(m_applyButton); + hlayout->addWidget(closeButton); + connect(m_applyButton, SIGNAL(clicked()), this, SLOT(applyFilter())); + connect(closeButton, SIGNAL(clicked()), this, SLOT(reject())); + connect(closeButton, SIGNAL(clicked()), + &m_fileFilter, SLOT(setAbortFlag())); + + vlayout->addLayout(hlayout); } /** diff -Nru kid3-2.0.1/src/gui/dialogs/importdialog.cpp kid3-2.1/src/gui/dialogs/importdialog.cpp --- kid3-2.0.1/src/gui/dialogs/importdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/importdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 17 Sep 2003 * - * Copyright (C) 2003-2007 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -63,7 +63,7 @@ #include "trackdatamatcher.h" #include "qtcompatmac.h" #include "config.h" -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT #include "musicbrainzdialog.h" #include "musicbrainzconfig.h" #endif @@ -90,13 +90,16 @@ * @param trackDataModel track data to be filled with imported values, * is passed with durations of files set * @param importers server importers + * @param mbClient MusicBrainz client if supported, else 0 */ ImportDialog::ImportDialog(QWidget* parent, QString& caption, TrackDataModel* trackDataModel, - const QList& importers) : + const QList& importers, + MusicBrainzClient* mbClient) : QDialog(parent), m_autoStartSubDialog(-1), m_columnVisibility(0ULL), - m_trackDataModel(trackDataModel), m_importers(importers) + m_trackDataModel(trackDataModel), m_importers(importers), + m_musicBrainzClient(mbClient) { setObjectName("ImportDialog"); setModal(true); @@ -106,7 +109,7 @@ m_serverImportDialog = 0; m_textImportDialog = 0; m_tagImportDialog = 0; -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT m_musicBrainzDialog = 0; #endif @@ -151,7 +154,7 @@ foreach (const ServerImporter* si, m_importers) { m_serverComboBox->addItem(QCM_translate(si->name())); } -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT m_serverComboBox->addItem(i18n("MusicBrainz Fingerprint")); #endif butlayout->addWidget(m_serverComboBox); @@ -173,7 +176,7 @@ #ifdef CONFIG_USE_KDE KIcon("document-revert") #else - QIcon(":/images/document-revert.png") + QCM_QIcon_fromTheme("document-revert") #endif ); revertButton->setToolTip(i18n("Revert")); @@ -250,7 +253,7 @@ delete m_textImportDialog; delete m_tagImportDialog; delete m_serverImportDialog; -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT delete m_musicBrainzDialog; #endif } @@ -305,7 +308,7 @@ displayServerImportDialog(m_importers.at(importerIdx)); } else { // special case for MusicBrainz Fingerprint -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT fromMusicBrainz(); #endif } @@ -324,13 +327,11 @@ connect(m_serverImportDialog, SIGNAL(trackDataUpdated()), this, SLOT(showPreview())); } - if (m_serverImportDialog) { - m_serverImportDialog->setImportSource(source); - m_serverImportDialog->setArtistAlbum( - m_trackDataModel->trackData().getArtist(), - m_trackDataModel->trackData().getAlbum()); - m_serverImportDialog->show(); - } + m_serverImportDialog->setImportSource(source); + m_serverImportDialog->setArtistAlbum( + m_trackDataModel->trackData().getArtist(), + m_trackDataModel->trackData().getAlbum()); + m_serverImportDialog->show(); } /** @@ -346,21 +347,20 @@ m_tagImportDialog->hide(); } -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT /** * Import from MusicBrainz and preview in table. */ void ImportDialog::fromMusicBrainz() { if (!m_musicBrainzDialog) { - m_musicBrainzDialog = new MusicBrainzDialog(this, m_trackDataModel); + m_musicBrainzDialog = new MusicBrainzDialog(this, m_trackDataModel, + m_musicBrainzClient); connect(m_musicBrainzDialog, SIGNAL(trackDataUpdated()), this, SLOT(showPreview())); } - if (m_musicBrainzDialog) { - m_musicBrainzDialog->initTable(); - (void)m_musicBrainzDialog->exec(); - } + m_musicBrainzDialog->initTable(); + (void)m_musicBrainzDialog->exec(); } #endif diff -Nru kid3-2.0.1/src/gui/dialogs/importdialog.h kid3-2.1/src/gui/dialogs/importdialog.h --- kid3-2.0.1/src/gui/dialogs/importdialog.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/importdialog.h 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 17 Sep 2003 * - * Copyright (C) 2003-2007 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -47,7 +47,8 @@ class ImportTrackDataVector; class FrameCollection; class FreedbConfig; -#ifdef HAVE_TUNEPIMP +class MusicBrainzClient; +#ifdef HAVE_CHROMAPRINT class MusicBrainzConfig; #endif @@ -66,10 +67,12 @@ * @param trackDataModel track data to be filled with imported values, * is passed with durations of files set * @param importers server importers + * @param mbClient MusicBrainz client if supported, else 0 */ ImportDialog(QWidget* parent, QString& caption, TrackDataModel* trackDataModel, - const QList& importers); + const QList& importers, + MusicBrainzClient* mbClient); /** * Destructor. */ @@ -160,7 +163,7 @@ */ void matchWithTitle(); -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT /** * Import from MusicBrainz and preview in table. */ @@ -231,6 +234,8 @@ QSpinBox* m_maxDiffSpinBox; /** importers for different servers */ QList m_importers; + /** MusicBrainz client */ + MusicBrainzClient* m_musicBrainzClient; /** MusicBrainz import dialog */ MusicBrainzDialog* m_musicBrainzDialog; /** Server import dialog */ diff -Nru kid3-2.0.1/src/gui/dialogs/musicbrainzdialog.cpp kid3-2.1/src/gui/dialogs/musicbrainzdialog.cpp --- kid3-2.0.1/src/gui/dialogs/musicbrainzdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/musicbrainzdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 13 Sep 2005 * - * Copyright (C) 2005-2011 Urs Fleisch + * Copyright (C) 2005-2012 Urs Fleisch * * This file is part of Kid3. * @@ -25,7 +25,7 @@ */ #include "musicbrainzdialog.h" -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT #include #include @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -53,47 +52,45 @@ * @param parent parent widget * @param trackDataModel track data to be filled with imported values, * is passed with filenames set + * @param mbClient MusicBrainz client */ MusicBrainzDialog::MusicBrainzDialog(QWidget* parent, - TrackDataModel* trackDataModel) + TrackDataModel* trackDataModel, + MusicBrainzClient* mbClient) : QDialog(parent), m_statusBar(0), - m_timer(0), m_client(0), m_trackDataModel(trackDataModel) + m_client(mbClient), m_trackDataModel(trackDataModel) { setObjectName("MusicBrainzDialog"); setModal(true); setWindowTitle(i18n("MusicBrainz Fingerprint")); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (!vlayout) { - return; - } vlayout->setMargin(6); vlayout->setSpacing(6); QHBoxLayout* serverLayout = new QHBoxLayout; QLabel* serverLabel = new QLabel(i18n("&Server:"), this); m_serverComboBox = new QComboBox(this); - if (serverLayout && serverLabel && m_serverComboBox) { - m_serverComboBox->setEditable(true); - static const char* serverList[] = { - "musicbrainz.org:80", - "de.musicbrainz.org:80", - "nl.musicbrainz.org:80", - 0 // end of StrList - }; - QStringList strList; - for (const char** sl = serverList; *sl != 0; ++sl) { - strList += *sl; - } - m_serverComboBox->addItems(strList); - m_serverComboBox->setSizePolicy( - QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); - serverLabel->setBuddy(m_serverComboBox); - serverLayout->addWidget(serverLabel); - serverLayout->addWidget(m_serverComboBox); - connect(m_serverComboBox, SIGNAL(activated(int)), - this, SLOT(setClientConfig())); - vlayout->addLayout(serverLayout); - } + m_serverComboBox->setEditable(true); + static const char* serverList[] = { + "musicbrainz.org:80", + "de.musicbrainz.org:80", + "nl.musicbrainz.org:80", + 0 // end of StrList + }; + QStringList strList; + for (const char** sl = serverList; *sl != 0; ++sl) { + strList += *sl; + } + m_serverComboBox->addItems(strList); + m_serverComboBox->setSizePolicy( + QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); + serverLabel->setBuddy(m_serverComboBox); + serverLayout->addWidget(serverLabel); + serverLayout->addWidget(m_serverComboBox); + connect(m_serverComboBox, SIGNAL(activated(int)), + this, SLOT(setClientConfig())); + vlayout->addLayout(serverLayout); + m_albumTableModel = new QStandardItemModel(this); m_albumTableModel->setColumnCount(2); @@ -123,36 +120,36 @@ QPushButton* okButton = new QPushButton(i18n("&OK"), this); QPushButton* applyButton = new QPushButton(i18n("&Apply"), this); QPushButton* cancelButton = new QPushButton(i18n("&Cancel"), this); - if (hlayout && helpButton && saveButton && - okButton && cancelButton && applyButton) { - hlayout->addWidget(helpButton); - hlayout->addWidget(saveButton); - hlayout->addItem(hspacer); - hlayout->addWidget(okButton); - hlayout->addWidget(applyButton); - hlayout->addWidget(cancelButton); - // auto default is switched off to use the return key to set the server - // configuration - okButton->setAutoDefault(false); - cancelButton->setAutoDefault(false); - applyButton->setAutoDefault(false); - connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); - connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); - connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); - connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); - connect(applyButton, SIGNAL(clicked()), this, SLOT(apply())); - vlayout->addLayout(hlayout); - } + hlayout->addWidget(helpButton); + hlayout->addWidget(saveButton); + hlayout->addItem(hspacer); + hlayout->addWidget(okButton); + hlayout->addWidget(applyButton); + hlayout->addWidget(cancelButton); + // auto default is switched off to use the return key to set the server + // configuration + okButton->setAutoDefault(false); + cancelButton->setAutoDefault(false); + applyButton->setAutoDefault(false); + connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); + connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); + connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); + connect(applyButton, SIGNAL(clicked()), this, SLOT(apply())); + vlayout->addLayout(hlayout); m_statusBar = new QStatusBar(this); - if (m_statusBar) { - vlayout->addWidget(m_statusBar); - if (m_albumTable) { - connect(m_albumTable->selectionModel(), - SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), - this, SLOT(showFilenameInStatusBar(QModelIndex))); - } - } + vlayout->addWidget(m_statusBar); + connect(m_albumTable->selectionModel(), + SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), + this, SLOT(showFilenameInStatusBar(QModelIndex))); + + connect(m_client, SIGNAL(statusChanged(int, QString)), + this, SLOT(setFileStatus(int, QString))); + connect(m_client, SIGNAL(metaDataReceived(int, ImportTrackData&)), + this, SLOT(setMetaData(int, ImportTrackData&))); + connect(m_client, SIGNAL(resultsReceived(int, ImportTrackDataVector&)), + this, SLOT(setResults(int, ImportTrackDataVector&))); } /** @@ -215,11 +212,7 @@ */ void MusicBrainzDialog::setClientConfig() { - if (m_client) { - m_client->setConfig( - getServer(), - ConfigStore::s_miscCfg.m_proxy, ConfigStore::s_miscCfg.m_useProxy); - } + m_client->setConfig(getServer()); } /** @@ -228,24 +221,8 @@ void MusicBrainzDialog::startClient() { clearResults(); - if (!m_client) { - m_client = new MusicBrainzClient(m_trackDataModel); - setClientConfig(); - connect(m_client, SIGNAL(statusChanged(int, QString)), - this, SLOT(setFileStatus(int, QString))); - connect(m_client, SIGNAL(metaDataReceived(int, ImportTrackData&)), - this, SLOT(setMetaData(int, ImportTrackData&))); - connect(m_client, SIGNAL(resultsReceived(int, ImportTrackDataVector&)), - this, SLOT(setResults(int, ImportTrackDataVector&))); - m_client->addFiles(); - } - if (!m_timer) { - m_timer = new QTimer(this); - connect(m_timer, SIGNAL(timeout()), this, SLOT(timerDone())); - } - if (m_timer) { - m_timer->start(1000); - } + setClientConfig(); + m_client->addFiles(); } /** @@ -253,15 +230,7 @@ */ void MusicBrainzDialog::stopClient() { - if (m_timer) { - m_timer->stop(); - // will be destroyed by parent - } - if (m_client) { - m_client->disconnect(); - delete m_client; - m_client = 0; - } + m_client->resetState(); } /** @@ -293,6 +262,12 @@ bool newTrackData = false; unsigned numRows = m_albumTableModel->rowCount(); for (unsigned index = 0; index < numRows; ++index) { + while (it != trackDataVector.end() && !it->isEnabled()) { + ++it; + } + if (it == trackDataVector.end()) { + break; + } QModelIndex idx(m_albumTableModel->index(index, 0)); if (idx.isValid()) { int selectedItem = idx.data(Qt::UserRole).toStringList().indexOf( @@ -300,22 +275,16 @@ if (selectedItem > 0) { const ImportTrackData& selectedData = m_trackResults[index][selectedItem - 1]; - while (it != trackDataVector.end() && !it->isEnabled()) { - ++it; - } - if (it == trackDataVector.end()) { - break; - } it->setTitle(selectedData.getTitle()); it->setArtist(selectedData.getArtist()); it->setAlbum(selectedData.getAlbum()); it->setTrack(selectedData.getTrack()); it->setYear(selectedData.getYear()); it->setImportDuration(selectedData.getImportDuration()); - ++it; newTrackData = true; } } + ++it; } if (newTrackData) { m_trackDataModel->setTrackData(trackDataVector); @@ -333,17 +302,6 @@ } /** - * Called when the periodic timer times out. - * Used to poll the MusicBrainz client. - */ -void MusicBrainzDialog::timerDone() -{ - if (m_client) { - m_client->pollStatus(); - } -} - -/** * Set the status of a file. * * @param index index of file @@ -493,4 +451,4 @@ } } -#endif // HAVE_TUNEPIMP +#endif // HAVE_CHROMAPRINT diff -Nru kid3-2.0.1/src/gui/dialogs/musicbrainzdialog.h kid3-2.1/src/gui/dialogs/musicbrainzdialog.h --- kid3-2.0.1/src/gui/dialogs/musicbrainzdialog.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/musicbrainzdialog.h 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 13 Sep 2005 * - * Copyright (C) 2005-2007 Urs Fleisch + * Copyright (C) 2005-2012 Urs Fleisch * * This file is part of Kid3. * @@ -32,14 +32,14 @@ #include #include "config.h" -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT + class QTableView; class QStandardItemModel; class QLineEdit; class QComboBox; class QPushButton; class QCheckBox; -class QTimer; class QStatusBar; class QModelIndex; class TrackDataModel; @@ -63,7 +63,9 @@ * is passed with filenames set */ MusicBrainzDialog(QWidget* parent, - TrackDataModel* trackDataModel); + TrackDataModel* trackDataModel, + MusicBrainzClient *mbClient); + /** * Destructor. */ @@ -119,12 +121,6 @@ void setClientConfig(); /** - * Called when the periodic timer times out. - * Used to poll the MusicBrainz client. - */ - void timerDone(); - - /** * Apply imported data. */ void apply(); @@ -197,18 +193,17 @@ QTableView* m_albumTable; QStandardItemModel* m_albumTableModel; QStatusBar* m_statusBar; - QTimer* m_timer; MusicBrainzClient* m_client; TrackDataModel* m_trackDataModel; QVector m_trackResults; }; -#else // HAVE_TUNEPIMP +#else // HAVE_CHROMAPRINT // Just to suppress moc "No relevant classes found" warning. class MusicBrainzDialog : public QDialog { Q_OBJECT }; -#endif // HAVE_TUNEPIMP +#endif // HAVE_CHROMAPRINT #endif // MUSICBRAINZDIALOG_H diff -Nru kid3-2.0.1/src/gui/dialogs/numbertracksdialog.cpp kid3-2.1/src/gui/dialogs/numbertracksdialog.cpp --- kid3-2.0.1/src/gui/dialogs/numbertracksdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/numbertracksdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 25 May 2006 * - * Copyright (C) 2006-2007 Urs Fleisch + * Copyright (C) 2006-2012 Urs Fleisch * * This file is part of Kid3. * @@ -56,89 +56,75 @@ setWindowTitle(i18n("Number Tracks")); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (vlayout) { - vlayout->setMargin(6); - vlayout->setSpacing(6); - QHBoxLayout* trackLayout = new QHBoxLayout; - if (trackLayout) { - trackLayout->setSpacing(6); - QLabel* trackLabel = new QLabel(i18n("&Start number:"), this); - m_trackSpinBox = new QSpinBox(this); - if (trackLabel && m_trackSpinBox) { - m_trackSpinBox->setMaximum(999); - m_trackSpinBox->setValue(ConfigStore::s_miscCfg.m_numberTracksStart); - trackLayout->addWidget(trackLabel); - trackLayout->addWidget(m_trackSpinBox); - trackLabel->setBuddy(m_trackSpinBox); - } - QSpacerItem* trackSpacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, - QSizePolicy::Minimum); - trackLayout->addItem(trackSpacer); - - QLabel* destLabel = new QLabel(i18n("&Destination:"), this); - m_destComboBox = new QComboBox(this); - if (destLabel && m_destComboBox) { - m_destComboBox->setEditable(false); - m_destComboBox->addItem(i18n("Tag 1"), TrackData::TagV1); - m_destComboBox->addItem(i18n("Tag 2"), TrackData::TagV2); - m_destComboBox->addItem(i18n("Tag 1 and Tag 2"), TrackData::TagV2V1); - m_destComboBox->setCurrentIndex( - m_destComboBox->findData(ConfigStore::s_miscCfg.m_numberTracksDst)); - trackLayout->addWidget(destLabel); - trackLayout->addWidget(m_destComboBox); - destLabel->setBuddy(m_destComboBox); - } - vlayout->addLayout(trackLayout); - } - - QHBoxLayout* totalLayout = new QHBoxLayout; - if (totalLayout) { - totalLayout->setSpacing(6); - m_totalNumTracksCheckBox = new QCheckBox(i18n("&Total number of tracks:"), - this); - m_totalNumTrackSpinBox = new QSpinBox(this); - if (m_totalNumTracksCheckBox && m_totalNumTrackSpinBox) { - m_totalNumTrackSpinBox->setMaximum(999); - totalLayout->addWidget(m_totalNumTracksCheckBox); - totalLayout->addWidget(m_totalNumTrackSpinBox); - } - QSpacerItem* totalSpacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, - QSizePolicy::Minimum); - totalLayout->addItem(totalSpacer); - vlayout->addLayout(totalLayout); - } - - QHBoxLayout* hlayout = new QHBoxLayout; - if (hlayout) { - hlayout->setSpacing(6); - QPushButton* helpButton = new QPushButton(i18n("&Help"), this); - if (helpButton) { - hlayout->addWidget(helpButton); - connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); - } - QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this); - if (saveButton) { - saveButton->setAutoDefault(false); - hlayout->addWidget(saveButton); - connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); - } - QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, + vlayout->setMargin(6); + vlayout->setSpacing(6); + QHBoxLayout* trackLayout = new QHBoxLayout; + trackLayout->setSpacing(6); + QLabel* trackLabel = new QLabel(i18n("&Start number:"), this); + m_trackSpinBox = new QSpinBox(this); + m_trackSpinBox->setMaximum(9999); + m_trackSpinBox->setValue(ConfigStore::s_miscCfg.m_numberTracksStart); + trackLayout->addWidget(trackLabel); + trackLayout->addWidget(m_trackSpinBox); + trackLabel->setBuddy(m_trackSpinBox); + + QSpacerItem* trackSpacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); - hlayout->addItem(hspacer); + trackLayout->addItem(trackSpacer); - QPushButton* okButton = new QPushButton(i18n("&OK"), this); - if (okButton) { - hlayout->addWidget(okButton); - connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); - } - QPushButton* cancelButton = new QPushButton(i18n("&Cancel"), this); - if (cancelButton) { - hlayout->addWidget(cancelButton); - connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); - } - vlayout->addLayout(hlayout); - } + QLabel* destLabel = new QLabel(i18n("&Destination:"), this); + m_destComboBox = new QComboBox(this); + m_destComboBox->setEditable(false); + m_destComboBox->addItem(i18n("Tag 1"), TrackData::TagV1); + m_destComboBox->addItem(i18n("Tag 2"), TrackData::TagV2); + m_destComboBox->addItem(i18n("Tag 1 and Tag 2"), TrackData::TagV2V1); + m_destComboBox->setCurrentIndex( + m_destComboBox->findData(ConfigStore::s_miscCfg.m_numberTracksDst)); + trackLayout->addWidget(destLabel); + trackLayout->addWidget(m_destComboBox); + destLabel->setBuddy(m_destComboBox); + + vlayout->addLayout(trackLayout); + + QHBoxLayout* totalLayout = new QHBoxLayout; + totalLayout->setSpacing(6); + m_totalNumTracksCheckBox = new QCheckBox(i18n("&Total number of tracks:"), + this); + m_totalNumTrackSpinBox = new QSpinBox(this); + if (m_totalNumTracksCheckBox && m_totalNumTrackSpinBox) { + m_totalNumTrackSpinBox->setMaximum(999); + totalLayout->addWidget(m_totalNumTracksCheckBox); + totalLayout->addWidget(m_totalNumTrackSpinBox); } + QSpacerItem* totalSpacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, + QSizePolicy::Minimum); + totalLayout->addItem(totalSpacer); + vlayout->addLayout(totalLayout); + + QHBoxLayout* hlayout = new QHBoxLayout; + hlayout->setSpacing(6); + QPushButton* helpButton = new QPushButton(i18n("&Help"), this); + hlayout->addWidget(helpButton); + connect(helpButton, SIGNAL(clicked()), this, SLOT(showHelp())); + + QPushButton* saveButton = new QPushButton(i18n("&Save Settings"), this); + saveButton->setAutoDefault(false); + hlayout->addWidget(saveButton); + connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig())); + + QSpacerItem* hspacer = new QSpacerItem(16, 0, QSizePolicy::Expanding, + QSizePolicy::Minimum); + hlayout->addItem(hspacer); + + QPushButton* okButton = new QPushButton(i18n("&OK"), this); + hlayout->addWidget(okButton); + connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); + + QPushButton* cancelButton = new QPushButton(i18n("&Cancel"), this); + hlayout->addWidget(cancelButton); + connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); + + vlayout->addLayout(hlayout); } /** diff -Nru kid3-2.0.1/src/gui/dialogs/rendirdialog.cpp kid3-2.1/src/gui/dialogs/rendirdialog.cpp --- kid3-2.0.1/src/gui/dialogs/rendirdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/rendirdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 21 Mar 2004 * - * Copyright (C) 2004-2007 Urs Fleisch + * Copyright (C) 2004-2012 Urs Fleisch * * This file is part of Kid3. * @@ -103,40 +103,37 @@ QHBoxLayout* actionLayout = new QHBoxLayout; m_actionComboBox = new QComboBox(page); m_tagversionComboBox = new QComboBox(page); - if (m_actionComboBox && m_tagversionComboBox) { - m_actionComboBox->insertItem(ActionRename, i18n("Rename Directory")); - m_actionComboBox->insertItem(ActionCreate, i18n("Create Directory")); - actionLayout->addWidget(m_actionComboBox); - connect(m_actionComboBox, SIGNAL(activated(int)), this, SLOT(slotUpdateNewDirname())); - m_tagversionComboBox->addItem(i18n("From Tag 2 and Tag 1"), TrackData::TagV2V1); - m_tagversionComboBox->addItem(i18n("From Tag 1"), TrackData::TagV1); - m_tagversionComboBox->addItem(i18n("From Tag 2"), TrackData::TagV2); - actionLayout->addWidget(m_tagversionComboBox); - connect(m_tagversionComboBox, SIGNAL(activated(int)), this, SLOT(slotUpdateNewDirname())); - vlayout->addLayout(actionLayout); - } + m_actionComboBox->insertItem(ActionRename, i18n("Rename Directory")); + m_actionComboBox->insertItem(ActionCreate, i18n("Create Directory")); + actionLayout->addWidget(m_actionComboBox); + connect(m_actionComboBox, SIGNAL(activated(int)), this, SLOT(slotUpdateNewDirname())); + m_tagversionComboBox->addItem(i18n("From Tag 2 and Tag 1"), TrackData::TagV2V1); + m_tagversionComboBox->addItem(i18n("From Tag 1"), TrackData::TagV1); + m_tagversionComboBox->addItem(i18n("From Tag 2"), TrackData::TagV2); + actionLayout->addWidget(m_tagversionComboBox); + connect(m_tagversionComboBox, SIGNAL(activated(int)), this, SLOT(slotUpdateNewDirname())); + vlayout->addLayout(actionLayout); + QHBoxLayout* formatLayout = new QHBoxLayout; QLabel* formatLabel = new QLabel(i18n("&Format:"), page); m_formatComboBox = new QComboBox(page); - if (formatLayout && formatLabel && m_formatComboBox) { - QStringList strList; - for (const char** sl = MiscConfig::s_defaultDirFmtList; *sl != 0; ++sl) { - strList += *sl; - } - m_formatComboBox->addItems(strList); - m_formatComboBox->setEditable(true); - m_formatComboBox->setItemText(ConfigStore::s_miscCfg.m_dirFormatItem, - ConfigStore::s_miscCfg.m_dirFormatText); - m_formatComboBox->setCurrentIndex(ConfigStore::s_miscCfg.m_dirFormatItem); - m_tagversionComboBox->setCurrentIndex( - m_tagversionComboBox->findData(ConfigStore::s_miscCfg.m_renDirSrc)); - formatLabel->setBuddy(m_formatComboBox); - formatLayout->addWidget(formatLabel); - formatLayout->addWidget(m_formatComboBox); - connect(m_formatComboBox, SIGNAL(activated(int)), this, SLOT(slotUpdateNewDirname())); - connect(m_formatComboBox, SIGNAL(editTextChanged(const QString&)), this, SLOT(slotUpdateNewDirname())); - vlayout->addLayout(formatLayout); - } + QStringList strList; + for (const char** sl = MiscConfig::s_defaultDirFmtList; *sl != 0; ++sl) { + strList += *sl; + } + m_formatComboBox->addItems(strList); + m_formatComboBox->setEditable(true); + m_formatComboBox->setItemText(ConfigStore::s_miscCfg.m_dirFormatItem, + ConfigStore::s_miscCfg.m_dirFormatText); + m_formatComboBox->setCurrentIndex(ConfigStore::s_miscCfg.m_dirFormatItem); + m_tagversionComboBox->setCurrentIndex( + m_tagversionComboBox->findData(ConfigStore::s_miscCfg.m_renDirSrc)); + formatLabel->setBuddy(m_formatComboBox); + formatLayout->addWidget(formatLabel); + formatLayout->addWidget(m_formatComboBox); + connect(m_formatComboBox, SIGNAL(activated(int)), this, SLOT(slotUpdateNewDirname())); + connect(m_formatComboBox, SIGNAL(editTextChanged(const QString&)), this, SLOT(slotUpdateNewDirname())); + vlayout->addLayout(formatLayout); QGridLayout* fromToLayout = new QGridLayout; vlayout->addLayout(fromToLayout); @@ -144,13 +141,10 @@ m_currentDirLabel = new QLabel(page); QLabel* toLabel = new QLabel(i18n("To:"), page); m_newDirLabel = new QLabel(page); - if (fromToLayout && fromLabel && m_currentDirLabel && - toLabel && m_newDirLabel) { - fromToLayout->addWidget(fromLabel, 0, 0); - fromToLayout->addWidget(m_currentDirLabel, 0, 1); - fromToLayout->addWidget(toLabel, 1, 0); - fromToLayout->addWidget(m_newDirLabel, 1, 1); - } + fromToLayout->addWidget(fromLabel, 0, 0); + fromToLayout->addWidget(m_currentDirLabel, 0, 1); + fromToLayout->addWidget(toLabel, 1, 0); + fromToLayout->addWidget(m_newDirLabel, 1, 1); } /** @@ -161,14 +155,10 @@ void RenDirDialog::setupPreviewPage(QWidget* page) { QVBoxLayout* vlayout = new QVBoxLayout(page); - if (vlayout) { - m_edit = new QTextEdit(page); - if (m_edit) { - m_edit->setReadOnly(true); - m_edit->setAcceptRichText(false); - vlayout->addWidget(m_edit); - } - } + m_edit = new QTextEdit(page); + m_edit->setReadOnly(true); + m_edit->setAcceptRichText(false); + vlayout->addWidget(m_edit); } /** diff -Nru kid3-2.0.1/src/gui/dialogs/textimportdialog.cpp kid3-2.1/src/gui/dialogs/textimportdialog.cpp --- kid3-2.0.1/src/gui/dialogs/textimportdialog.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/dialogs/textimportdialog.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -164,11 +164,10 @@ #ifdef CONFIG_USE_KDE KFileDialog::getOpenFileName(ConfigStore::s_genCfg.m_importDir, QString::null, this) #else - QFileDialog::getOpenFileName(this, QString(), ConfigStore::s_genCfg.m_importDir -#if !defined Q_OS_WIN32 && !defined Q_OS_MAC - , QString(), 0, QFileDialog::DontUseNativeDialog -#endif - ) + QFileDialog::getOpenFileName(this, QString(), + ConfigStore::s_genCfg.m_importDir, QString(), 0, + ConfigStore::s_miscCfg.m_dontUseNativeDialogs + ? QFileDialog::DontUseNativeDialog : QFileDialog::Options(0)) #endif ); } diff -Nru kid3-2.0.1/src/gui/forms/filelist.cpp kid3-2.1/src/gui/forms/filelist.cpp --- kid3-2.0.1/src/gui/forms/filelist.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/forms/filelist.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 9 Jan 2003 * - * Copyright (C) 2003-2011 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -131,7 +131,7 @@ */ void FileList::contextMenu(const QModelIndex& index, const QPoint& pos) { - if (index.isValid() && !ConfigStore::s_miscCfg.m_contextMenuCommands.empty()) { + if (index.isValid()) { QMenu menu(this); menu.addAction(i18n("&Expand all"), this, SLOT(expandAll())); menu.addAction(i18n("&Collapse all"), this, SLOT(collapseAll())); @@ -145,7 +145,10 @@ it = ConfigStore::s_miscCfg.m_contextMenuCommands.begin(); it != ConfigStore::s_miscCfg.m_contextMenuCommands.end(); ++it) { - menu.addAction((*it).getName()); + QString name((*it).getName()); + if (!name.isEmpty()) { + menu.addAction(name); + } ++id; } connect(&menu, SIGNAL(triggered(QAction*)), this, SLOT(executeAction(QAction*))); @@ -287,9 +290,8 @@ if (!m_process) { m_process = new ExternalProcess(this); } - if (m_process) { - m_process->launchCommand(menuCmd.getName(), args, menuCmd.mustBeConfirmed(), menuCmd.outputShown()); - } + m_process->launchCommand(menuCmd.getName(), args, menuCmd.mustBeConfirmed(), + menuCmd.outputShown()); } } diff -Nru kid3-2.0.1/src/gui/forms/kid3form.cpp kid3-2.1/src/gui/forms/kid3form.cpp --- kid3-2.0.1/src/gui/forms/kid3form.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/forms/kid3form.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -45,6 +45,7 @@ #include #include #include +#include #include "frametable.h" #include "frametablemodel.h" #include "trackdata.h" @@ -61,6 +62,11 @@ #include "kid3application.h" #include "qtcompatmac.h" +#ifndef CONFIG_USE_KDE +#include +#include "shortcutsmodel.h" +#endif + /** Collapse pixmap, will be allocated in constructor */ QPixmap* Kid3Form::s_collapsePixmap = 0; /** Expand pixmap, will be allocated in constructor */ @@ -879,3 +885,48 @@ m_fileListBox->readDir(directoryIndex, fileIndex); m_dirListBox->readDir(directoryIndex); } + +#ifndef CONFIG_USE_KDE +/** + * Init actions. + */ +void Kid3Form::initActions() +{ + QString ctx(i18n("Filename")); + ShortcutsModel* sm = m_app->getConfigStore()->getShortcutsModel(); + initAction(i18n("From Tag 1"), "filename_from_v1", this, SLOT(fnFromID3V1()), ctx, sm); + initAction(i18n("From Tag 2"), "filename_from_v2", this, SLOT(fnFromID3V2()), ctx, sm); + initAction(i18n("Focus"), "filename_focus", this, SLOT(setFocusFilename()), ctx, sm); + ctx = i18n("Tag 1"); + initAction(i18n("From Filename"), "v1_from_filename", m_app, SLOT(getTagsFromFilenameV1()), ctx, sm); + initAction(i18n("From Tag 2"), "v1_from_v2", m_app, SLOT(copyV2ToV1()), ctx, sm); + initAction(i18n("Copy"), "v1_copy", m_app, SLOT(copyTagsV1()), ctx, sm); + initAction(i18n("Paste"), "v1_paste", m_app, SLOT(pasteTagsV1()), ctx, sm); + initAction(i18n("Remove"), "v1_remove", m_app, SLOT(removeTagsV1()), ctx, sm); + initAction(i18n("Focus"), "v1_focus", this, SLOT(setFocusV1()), ctx, sm); + ctx = i18n("Tag 2"); + initAction(i18n("From Filename"), "v2_from_filename", m_app, SLOT(getTagsFromFilenameV2()), ctx, sm); + initAction(i18n("From Tag 1"), "v2_from_v1", m_app, SLOT(copyV1ToV2()), ctx, sm); + initAction(i18n("Copy"), "v2_copy", m_app, SLOT(copyTagsV2()), ctx, sm); + initAction(i18n("Paste"), "v2_paste", m_app, SLOT(pasteTagsV2()), ctx, sm); + initAction(i18n("Remove"), "v2_remove", m_app, SLOT(removeTagsV2()), ctx, sm); + initAction(i18n("Edit"), "frames_edit", this, SLOT(editFrame()), ctx, sm); + initAction(i18n("Add"), "frames_add", this, SLOT(addFrame()), ctx, sm); + initAction(i18n("Delete"), "frames_delete", this, SLOT(deleteFrame()), ctx, sm); + initAction(i18n("Focus"), "v2_focus", this, SLOT(setFocusV2()), ctx, sm); +} + +void Kid3Form::initAction(const QString& text, const QString& name, + const QObject* receiver, const char* slot, + const QString& context, + ShortcutsModel* shortcutsModel) +{ + QAction* action = new QAction(this); + action->setStatusTip(text); + action->setText(text); + action->setObjectName(name); + shortcutsModel->registerAction(action, context); + connect(action, SIGNAL(triggered()), receiver, slot); + addAction(action); +} +#endif // CONFIG_USE_KDE diff -Nru kid3-2.0.1/src/gui/forms/kid3form.h kid3-2.1/src/gui/forms/kid3form.h --- kid3-2.0.1/src/gui/forms/kid3form.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/forms/kid3form.h 2012-05-11 05:46:04.000000000 +0000 @@ -30,6 +30,7 @@ #include #include #include "taggedfile.h" +#include "config.h" class QLabel; class QCheckBox; @@ -48,6 +49,7 @@ class DirList; class PictureLabel; class Kid3MainWindow; +class ShortcutsModel; /** * Main widget. @@ -194,6 +196,13 @@ */ FrameTable* frameTableV2() { return m_framesV2Table; } +#ifndef CONFIG_USE_KDE + /** + * Init actions. + */ + void initActions(); +#endif + public slots: /** * Frame list button Edit. @@ -284,6 +293,12 @@ */ Kid3MainWindow* mainWin() const { return (Kid3MainWindow*)parentWidget(); } +#ifndef CONFIG_USE_KDE + void initAction(const QString& text, const QString& name, + const QObject* receiver, const char* slot, + const QString& context, ShortcutsModel* shortcutsModel); +#endif + FileList* m_fileListBox; QComboBox* m_formatComboBox; QComboBox* m_formatFromFilenameComboBox; diff -Nru kid3-2.0.1/src/gui/forms/kid3mainwindow.cpp kid3-2.1/src/gui/forms/kid3mainwindow.cpp --- kid3-2.0.1/src/gui/forms/kid3mainwindow.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/forms/kid3mainwindow.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 9 Jan 2003 * - * Copyright (C) 2003-2011 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -63,6 +63,7 @@ #include #include "recentfilesmenu.h" #include "messagedialog.h" +#include "shortcutsmodel.h" #endif #include "kid3form.h" @@ -95,6 +96,7 @@ #include "dirrenamer.h" #include "movetotrash.h" #include "qtcompatmac.h" +#include "saferename.h" #ifdef HAVE_PHONON #include "audioplayer.h" #endif @@ -258,7 +260,7 @@ connect(fileImportServer, SIGNAL(triggered()), this, SLOT(slotImport())); ++importerIdx; } -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT QString serverName(i18n("MusicBrainz Fingerprint")); KAction* fileImportMusicBrainz = new KAction(i18n("Import from %1...").arg(serverName), this); @@ -384,337 +386,377 @@ QToolBar* toolBar = new QToolBar(this); toolBar->setObjectName("MainToolbar"); QMenuBar* menubar = menuBar(); - QMenu* fileMenu = menubar->addMenu(i18n("&File")); + QString menuTitle(i18n("&File")); + ShortcutsModel* shortcutsModel = m_app->getConfigStore()->getShortcutsModel(); + QMenu* fileMenu = menubar->addMenu(menuTitle); + QAction* fileOpen = new QAction(this); - if (fileOpen) { - fileOpen->setStatusTip(i18n("Opens a directory")); - fileOpen->setText(i18n("&Open...")); - fileOpen->setShortcut(QKeySequence::Open); - fileOpen->setIcon(QIcon(":/images/document-open.png")); - connect(fileOpen, SIGNAL(triggered()), - this, SLOT(slotFileOpen())); - } + fileOpen->setStatusTip(i18n("Opens a directory")); + fileOpen->setText(i18n("&Open...")); + fileOpen->setShortcut(QKeySequence::Open); + fileOpen->setIcon(QCM_QIcon_fromTheme("document-open")); + fileOpen->setObjectName("file_open"); + shortcutsModel->registerAction(fileOpen, menuTitle); + connect(fileOpen, SIGNAL(triggered()), + this, SLOT(slotFileOpen())); fileMenu->addAction(fileOpen); toolBar->addAction(fileOpen); + m_fileOpenRecent = new RecentFilesMenu(fileMenu); - if (m_fileOpenRecent) { - connect(m_fileOpenRecent, SIGNAL(loadFile(const QString&)), - this, SLOT(slotFileOpenRecentDirectory(const QString&))); - m_fileOpenRecent->setStatusTip(i18n("Opens a recently used directory")); - m_fileOpenRecent->setTitle(i18n("Open &Recent")); - m_fileOpenRecent->setIcon(QIcon(":/images/document-open-recent.png")); - fileMenu->addMenu(m_fileOpenRecent); - } + connect(m_fileOpenRecent, SIGNAL(loadFile(const QString&)), + this, SLOT(slotFileOpenRecentDirectory(const QString&))); + m_fileOpenRecent->setStatusTip(i18n("Opens a recently used directory")); + m_fileOpenRecent->setTitle(i18n("Open &Recent")); + m_fileOpenRecent->setIcon(QCM_QIcon_fromTheme("document-open-recent")); + fileMenu->addMenu(m_fileOpenRecent); + QAction* fileOpenDirectory = new QAction(this); - if (fileOpenDirectory) { - fileOpenDirectory->setStatusTip(i18n("Opens a directory")); - fileOpenDirectory->setText(i18n("O&pen Directory...")); - fileOpenDirectory->setShortcut(Qt::CTRL + Qt::Key_D); - fileOpenDirectory->setIcon(QIcon(":/images/document-open.png")); - connect(fileOpenDirectory, SIGNAL(triggered()), - this, SLOT(slotFileOpenDirectory())); - } + fileOpenDirectory->setStatusTip(i18n("Opens a directory")); + fileOpenDirectory->setText(i18n("O&pen Directory...")); + fileOpenDirectory->setShortcut(Qt::CTRL + Qt::Key_D); + fileOpenDirectory->setIcon(QCM_QIcon_fromTheme("document-open")); + fileOpenDirectory->setObjectName("open_directory"); + shortcutsModel->registerAction(fileOpenDirectory, menuTitle); + connect(fileOpenDirectory, SIGNAL(triggered()), + this, SLOT(slotFileOpenDirectory())); fileMenu->addAction(fileOpenDirectory); fileMenu->addSeparator(); + QAction* fileSave = new QAction(this); - if (fileSave) { - fileSave->setStatusTip(i18n("Saves the changed files")); - fileSave->setText(i18n("&Save")); - fileSave->setShortcut(QKeySequence::Save); - fileSave->setIcon(QIcon(":/images/document-save.png")); - connect(fileSave, SIGNAL(triggered()), - this, SLOT(slotFileSave())); - } + fileSave->setStatusTip(i18n("Saves the changed files")); + fileSave->setText(i18n("&Save")); + fileSave->setShortcut(QKeySequence::Save); + fileSave->setIcon(QCM_QIcon_fromTheme("document-save")); + fileSave->setObjectName("file_save"); + shortcutsModel->registerAction(fileSave, menuTitle); + connect(fileSave, SIGNAL(triggered()), + this, SLOT(slotFileSave())); fileMenu->addAction(fileSave); toolBar->addAction(fileSave); + QAction* fileRevert = new QAction(this); - if (fileRevert) { - fileRevert->setStatusTip( - i18n("Reverts the changes of all or the selected files")); - fileRevert->setText(i18n("Re&vert")); - fileRevert->setIcon(QIcon(":/images/document-revert.png")); - connect(fileRevert, SIGNAL(triggered()), - m_app, SLOT(revertFileModifications())); - } + fileRevert->setStatusTip( + i18n("Reverts the changes of all or the selected files")); + fileRevert->setText(i18n("Re&vert")); + fileRevert->setIcon(QCM_QIcon_fromTheme("document-revert")); + fileRevert->setObjectName("file_revert"); + shortcutsModel->registerAction(fileRevert, menuTitle); + connect(fileRevert, SIGNAL(triggered()), + m_app, SLOT(revertFileModifications())); fileMenu->addAction(fileRevert); toolBar->addAction(fileRevert); fileMenu->addSeparator(); + QAction* fileImport = new QAction(this); - if (fileImport) { - fileImport->setData(-1); - fileImport->setStatusTip(i18n("Import from file or clipboard")); - fileImport->setText(i18n("&Import...")); - fileImport->setIcon(QIcon(":/images/document-import.png")); - connect(fileImport, SIGNAL(triggered()), - this, SLOT(slotImport())); - } + fileImport->setData(-1); + fileImport->setStatusTip(i18n("Import from file or clipboard")); + fileImport->setText(i18n("&Import...")); + fileImport->setIcon(QCM_QIcon_fromTheme("document-import")); + fileImport->setObjectName("import"); + shortcutsModel->registerAction(fileImport, menuTitle); + connect(fileImport, SIGNAL(triggered()), + this, SLOT(slotImport())); fileMenu->addAction(fileImport); int importerIdx = 0; foreach (const ServerImporter* si, m_app->getServerImporters()) { QString serverName(QCM_translate(si->name())); + QString actionName = QString(si->name()).toLower().remove(' '); + int dotPos = actionName.indexOf('.'); + if (dotPos != -1) + actionName.truncate(dotPos); + actionName = QString("import_") + actionName; QAction* fileImportServer = new QAction(this); fileImportServer->setData(importerIdx); fileImportServer->setStatusTip(i18n("Import from %1").arg(serverName)); fileImportServer->setText(i18n("Import from %1...").arg(serverName)); + fileImportServer->setObjectName(actionName); + shortcutsModel->registerAction(fileImportServer, menuTitle); connect(fileImportServer, SIGNAL(triggered()), this, SLOT(slotImport())); fileMenu->addAction(fileImportServer); ++importerIdx; } -#ifdef HAVE_TUNEPIMP +#ifdef HAVE_CHROMAPRINT QAction* fileImportMusicBrainz = new QAction(this); - if (fileImportMusicBrainz) { - QString serverName(i18n("MusicBrainz Fingerprint")); - fileImportMusicBrainz->setData(importerIdx); - fileImportMusicBrainz->setStatusTip(i18n("Import from %1").arg(serverName)); - fileImportMusicBrainz->setText(i18n("Import from %1...").arg(serverName)); - connect(fileImportMusicBrainz, SIGNAL(triggered()), - this, SLOT(slotImport())); - fileMenu->addAction(fileImportMusicBrainz); - ++importerIdx; - } + QString serverName(i18n("MusicBrainz Fingerprint")); + fileImportMusicBrainz->setData(importerIdx); + fileImportMusicBrainz->setStatusTip(i18n("Import from %1").arg(serverName)); + fileImportMusicBrainz->setText(i18n("Import from %1...").arg(serverName)); + fileImportMusicBrainz->setObjectName("import_musicbrainz"); + shortcutsModel->registerAction(fileImportMusicBrainz, menuTitle); + connect(fileImportMusicBrainz, SIGNAL(triggered()), + this, SLOT(slotImport())); + fileMenu->addAction(fileImportMusicBrainz); + ++importerIdx; #endif QAction* fileBrowseCoverArt = new QAction(this); - if (fileBrowseCoverArt) { - fileBrowseCoverArt->setStatusTip(i18n("Browse album cover artwork")); - fileBrowseCoverArt->setText(i18n("&Browse Cover Art...")); - connect(fileBrowseCoverArt, SIGNAL(triggered()), - this, SLOT(slotBrowseCoverArt())); - } + fileBrowseCoverArt->setStatusTip(i18n("Browse album cover artwork")); + fileBrowseCoverArt->setText(i18n("&Browse Cover Art...")); + fileBrowseCoverArt->setObjectName("browse_cover_art"); + shortcutsModel->registerAction(fileBrowseCoverArt, menuTitle); + connect(fileBrowseCoverArt, SIGNAL(triggered()), + this, SLOT(slotBrowseCoverArt())); fileMenu->addAction(fileBrowseCoverArt); + QAction* fileExport = new QAction(this); - if (fileExport) { - fileExport->setStatusTip(i18n("Export to file or clipboard")); - fileExport->setText(i18n("&Export...")); - fileExport->setIcon(QIcon(":/images/document-export.png")); - connect(fileExport, SIGNAL(triggered()), - this, SLOT(slotExport())); - } + fileExport->setStatusTip(i18n("Export to file or clipboard")); + fileExport->setText(i18n("&Export...")); + fileExport->setIcon(QCM_QIcon_fromTheme("document-export")); + fileExport->setObjectName("export"); + shortcutsModel->registerAction(fileExport, menuTitle); + connect(fileExport, SIGNAL(triggered()), + this, SLOT(slotExport())); fileMenu->addAction(fileExport); + QAction* fileCreatePlaylist = new QAction(this); - if (fileCreatePlaylist) { - fileCreatePlaylist->setStatusTip(i18n("Create M3U Playlist")); - fileCreatePlaylist->setText(i18n("&Create Playlist...")); - fileCreatePlaylist->setIcon(QIcon(":/images/view-media-playlist.png")); - connect(fileCreatePlaylist, SIGNAL(triggered()), - this, SLOT(slotPlaylistDialog())); - } + fileCreatePlaylist->setStatusTip(i18n("Create M3U Playlist")); + fileCreatePlaylist->setText(i18n("&Create Playlist...")); + fileCreatePlaylist->setIcon(QIcon(":/images/view-media-playlist.png")); + fileCreatePlaylist->setObjectName("create_playlist"); + shortcutsModel->registerAction(fileCreatePlaylist, menuTitle); + connect(fileCreatePlaylist, SIGNAL(triggered()), + this, SLOT(slotPlaylistDialog())); fileMenu->addAction(fileCreatePlaylist); toolBar->addAction(fileCreatePlaylist); fileMenu->addSeparator(); + QAction* fileQuit = new QAction(this); - if (fileQuit) { - fileQuit->setStatusTip(i18n("Quits the application")); - fileQuit->setText(i18n("&Quit")); - fileQuit->setShortcut(Qt::CTRL + Qt::Key_Q); - fileQuit->setIcon(QIcon(":/images/application-exit.png")); - connect(fileQuit, SIGNAL(triggered()), - this, SLOT(slotFileQuit())); - } + fileQuit->setStatusTip(i18n("Quits the application")); + fileQuit->setText(i18n("&Quit")); + fileQuit->setShortcut(Qt::CTRL + Qt::Key_Q); + fileQuit->setIcon(QCM_QIcon_fromTheme("application-exit")); + fileQuit->setObjectName("file_quit"); + shortcutsModel->registerAction(fileQuit, menuTitle); + connect(fileQuit, SIGNAL(triggered()), + this, SLOT(slotFileQuit())); fileMenu->addAction(fileQuit); - QMenu* editMenu = menubar->addMenu(i18n("&Edit")); + menuTitle = i18n("&Edit"); + QMenu* editMenu = menubar->addMenu(menuTitle); QAction* editSelectAll = new QAction(this); - if (editSelectAll) { - editSelectAll->setStatusTip(i18n("Select all files")); - editSelectAll->setText(i18n("Select &All")); - editSelectAll->setShortcut(Qt::ALT + Qt::Key_A); - editSelectAll->setIcon(QIcon(":/images/edit-select-all.png")); - connect(editSelectAll, SIGNAL(triggered()), - m_form, SLOT(selectAllFiles())); - } + editSelectAll->setStatusTip(i18n("Select all files")); + editSelectAll->setText(i18n("Select &All")); + editSelectAll->setShortcut(Qt::ALT + Qt::Key_A); + editSelectAll->setIcon(QCM_QIcon_fromTheme("edit-select-all")); + editSelectAll->setObjectName("edit_select_all"); + shortcutsModel->registerAction(editSelectAll, menuTitle); + connect(editSelectAll, SIGNAL(triggered()), + m_form, SLOT(selectAllFiles())); editMenu->addAction(editSelectAll); + QAction* editDeselect = new QAction(this); - if (editDeselect) { - editDeselect->setStatusTip(i18n("Deselect all files")); - editDeselect->setText(i18n("Dese&lect")); - editDeselect->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_A); - connect(editDeselect, SIGNAL(triggered()), - m_form, SLOT(deselectAllFiles())); - } + editDeselect->setStatusTip(i18n("Deselect all files")); + editDeselect->setText(i18n("Dese&lect")); + editDeselect->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_A); + editDeselect->setObjectName("edit_deselect"); + shortcutsModel->registerAction(editDeselect, menuTitle); + connect(editDeselect, SIGNAL(triggered()), + m_form, SLOT(deselectAllFiles())); editMenu->addAction(editDeselect); + QAction* editPreviousFile = new QAction(this); - if (editPreviousFile) { - editPreviousFile->setStatusTip(i18n("Select previous file")); - editPreviousFile->setText(i18n("&Previous File")); - editPreviousFile->setShortcut(Qt::ALT + Qt::Key_Up); - editPreviousFile->setIcon(QIcon(":/images/go-previous.png")); - connect(editPreviousFile, SIGNAL(triggered()), - m_app, SLOT(previousFile())); - } + editPreviousFile->setStatusTip(i18n("Select previous file")); + editPreviousFile->setText(i18n("&Previous File")); + editPreviousFile->setShortcut(Qt::ALT + Qt::Key_Up); + editPreviousFile->setIcon(QCM_QIcon_fromTheme("go-previous")); + editPreviousFile->setObjectName("previous_file"); + shortcutsModel->registerAction(editPreviousFile, menuTitle); + connect(editPreviousFile, SIGNAL(triggered()), + m_app, SLOT(previousFile())); editMenu->addAction(editPreviousFile); toolBar->addAction(editPreviousFile); + QAction* editNextFile = new QAction(this); - if (editNextFile) { - editNextFile->setStatusTip(i18n("Select next file")); - editNextFile->setText(i18n("&Next File")); - editNextFile->setShortcut(Qt::ALT + Qt::Key_Down); - editNextFile->setIcon(QIcon(":/images/go-next.png")); - connect(editNextFile, SIGNAL(triggered()), - m_app, SLOT(nextFile())); - } + editNextFile->setStatusTip(i18n("Select next file")); + editNextFile->setText(i18n("&Next File")); + editNextFile->setShortcut(Qt::ALT + Qt::Key_Down); + editNextFile->setIcon(QCM_QIcon_fromTheme("go-next")); + editNextFile->setObjectName("next_file"); + shortcutsModel->registerAction(editNextFile, menuTitle); + connect(editNextFile, SIGNAL(triggered()), + m_app, SLOT(nextFile())); editMenu->addAction(editNextFile); toolBar->addAction(editNextFile); - QMenu* toolsMenu = menubar->addMenu(i18n("&Tools")); + menuTitle = i18n("&Tools"); + QMenu* toolsMenu = menubar->addMenu(menuTitle); QAction* toolsApplyFilenameFormat = new QAction(this); - if (toolsApplyFilenameFormat) { - toolsApplyFilenameFormat->setStatusTip(i18n("Apply Filename Format")); - toolsApplyFilenameFormat->setText(i18n("Apply &Filename Format")); - connect(toolsApplyFilenameFormat, SIGNAL(triggered()), - m_app, SLOT(applyFilenameFormat())); - } + toolsApplyFilenameFormat->setStatusTip(i18n("Apply Filename Format")); + toolsApplyFilenameFormat->setText(i18n("Apply &Filename Format")); + toolsApplyFilenameFormat->setObjectName("apply_filename_format"); + shortcutsModel->registerAction(toolsApplyFilenameFormat, menuTitle); + connect(toolsApplyFilenameFormat, SIGNAL(triggered()), + m_app, SLOT(applyFilenameFormat())); toolsMenu->addAction(toolsApplyFilenameFormat); + QAction* toolsApplyId3Format = new QAction(this); - if (toolsApplyId3Format) { - toolsApplyId3Format->setStatusTip(i18n("Apply Tag Format")); - toolsApplyId3Format->setText(i18n("Apply &Tag Format")); - connect(toolsApplyId3Format, SIGNAL(triggered()), - m_app, SLOT(applyId3Format())); - } + toolsApplyId3Format->setStatusTip(i18n("Apply Tag Format")); + toolsApplyId3Format->setText(i18n("Apply &Tag Format")); + toolsApplyId3Format->setObjectName("apply_id3_format"); + shortcutsModel->registerAction(toolsApplyId3Format, menuTitle); + connect(toolsApplyId3Format, SIGNAL(triggered()), + m_app, SLOT(applyId3Format())); toolsMenu->addAction(toolsApplyId3Format); + QAction* toolsRenameDirectory = new QAction(this); - if (toolsRenameDirectory) { - toolsRenameDirectory->setStatusTip(i18n("Rename Directory")); - toolsRenameDirectory->setText(i18n("&Rename Directory...")); - connect(toolsRenameDirectory, SIGNAL(triggered()), - this, SLOT(slotRenameDirectory())); - } + toolsRenameDirectory->setStatusTip(i18n("Rename Directory")); + toolsRenameDirectory->setText(i18n("&Rename Directory...")); + toolsRenameDirectory->setObjectName("rename_directory"); + shortcutsModel->registerAction(toolsRenameDirectory, menuTitle); + connect(toolsRenameDirectory, SIGNAL(triggered()), + this, SLOT(slotRenameDirectory())); toolsMenu->addAction(toolsRenameDirectory); + QAction* toolsNumberTracks = new QAction(this); - if (toolsNumberTracks) { - toolsNumberTracks->setStatusTip(i18n("Number Tracks")); - toolsNumberTracks->setText(i18n("&Number Tracks...")); - connect(toolsNumberTracks, SIGNAL(triggered()), - this, SLOT(slotNumberTracks())); - } + toolsNumberTracks->setStatusTip(i18n("Number Tracks")); + toolsNumberTracks->setText(i18n("&Number Tracks...")); + toolsNumberTracks->setObjectName("number_tracks"); + shortcutsModel->registerAction(toolsNumberTracks, menuTitle); + connect(toolsNumberTracks, SIGNAL(triggered()), + this, SLOT(slotNumberTracks())); toolsMenu->addAction(toolsNumberTracks); + QAction* toolsFilter = new QAction(this); - if (toolsFilter) { - toolsFilter->setStatusTip(i18n("Filter")); - toolsFilter->setText(i18n("F&ilter...")); - connect(toolsFilter, SIGNAL(triggered()), - this, SLOT(slotFilter())); - } + toolsFilter->setStatusTip(i18n("Filter")); + toolsFilter->setText(i18n("F&ilter...")); + toolsFilter->setObjectName("filter"); + shortcutsModel->registerAction(toolsFilter, menuTitle); + connect(toolsFilter, SIGNAL(triggered()), + this, SLOT(slotFilter())); toolsMenu->addAction(toolsFilter); + #ifdef HAVE_TAGLIB QAction* toolsConvertToId3v24 = new QAction(this); - if (toolsConvertToId3v24) { - toolsConvertToId3v24->setStatusTip(i18n("Convert ID3v2.3 to ID3v2.4")); - toolsConvertToId3v24->setText(i18n("Convert ID3v2.3 to ID3v2.&4")); - connect(toolsConvertToId3v24, SIGNAL(triggered()), - m_app, SLOT(convertToId3v24())); - } + toolsConvertToId3v24->setStatusTip(i18n("Convert ID3v2.3 to ID3v2.4")); + toolsConvertToId3v24->setText(i18n("Convert ID3v2.3 to ID3v2.&4")); + toolsConvertToId3v24->setObjectName("convert_to_id3v24"); + shortcutsModel->registerAction(toolsConvertToId3v24, menuTitle); + connect(toolsConvertToId3v24, SIGNAL(triggered()), + m_app, SLOT(convertToId3v24())); toolsMenu->addAction(toolsConvertToId3v24); #endif + #if defined HAVE_TAGLIB && defined HAVE_ID3LIB QAction* toolsConvertToId3v23 = new QAction(this); - if (toolsConvertToId3v23) { - toolsConvertToId3v23->setStatusTip(i18n("Convert ID3v2.4 to ID3v2.3")); - toolsConvertToId3v23->setText(i18n("Convert ID3v2.4 to ID3v2.&3")); - connect(toolsConvertToId3v23, SIGNAL(triggered()), - m_app, SLOT(convertToId3v23())); - } + toolsConvertToId3v23->setStatusTip(i18n("Convert ID3v2.4 to ID3v2.3")); + toolsConvertToId3v23->setText(i18n("Convert ID3v2.4 to ID3v2.&3")); + toolsConvertToId3v23->setObjectName("convert_to_id3v23"); + shortcutsModel->registerAction(toolsConvertToId3v23, menuTitle); + connect(toolsConvertToId3v23, SIGNAL(triggered()), + m_app, SLOT(convertToId3v23())); toolsMenu->addAction(toolsConvertToId3v23); #endif + #ifdef HAVE_PHONON QAction* toolsPlay = new QAction(this); - if (toolsPlay) { - toolsPlay->setStatusTip(i18n("Play")); - toolsPlay->setText(i18n("&Play")); - toolsPlay->setIcon(QIcon(style()->standardIcon(QStyle::SP_MediaPlay))); - connect(toolsPlay, SIGNAL(triggered()), - m_app, SLOT(playAudio())); - } + toolsPlay->setStatusTip(i18n("Play")); + toolsPlay->setText(i18n("&Play")); + toolsPlay->setIcon(QIcon(style()->standardIcon(QStyle::SP_MediaPlay))); + toolsPlay->setObjectName("play"); + shortcutsModel->registerAction(toolsPlay, menuTitle); + connect(toolsPlay, SIGNAL(triggered()), + m_app, SLOT(playAudio())); toolsMenu->addAction(toolsPlay); toolBar->addAction(toolsPlay); #endif - QMenu* settingsMenu = menubar->addMenu(i18n("&Settings")); + menuTitle = i18n("&Settings"); + QMenu* settingsMenu = menubar->addMenu(menuTitle); m_viewToolBar = toolBar->toggleViewAction(); if (m_viewToolBar) { m_viewToolBar->setStatusTip(i18n("Enables/disables the toolbar")); m_viewToolBar->setText(i18n("Show &Toolbar")); + m_viewToolBar->setObjectName("options_configure_toolbars"); + shortcutsModel->registerAction(m_viewToolBar, menuTitle); } if (ConfigStore::s_miscCfg.m_hideToolBar) toolBar->hide(); m_viewToolBar->setChecked(!ConfigStore::s_miscCfg.m_hideToolBar); settingsMenu->addAction(m_viewToolBar); + m_viewStatusBar = new QAction(this); - if (m_viewStatusBar) { - m_viewStatusBar->setStatusTip(i18n("Enables/disables the statusbar")); - m_viewStatusBar->setText(i18n("Show St&atusbar")); - m_viewStatusBar->setCheckable(true); - connect(m_viewStatusBar, SIGNAL(triggered()), - this, SLOT(slotViewStatusBar())); - } + m_viewStatusBar->setStatusTip(i18n("Enables/disables the statusbar")); + m_viewStatusBar->setText(i18n("Show St&atusbar")); + m_viewStatusBar->setCheckable(true); + m_viewStatusBar->setObjectName("options_show_statusbar"); + shortcutsModel->registerAction(m_viewStatusBar, menuTitle); + connect(m_viewStatusBar, SIGNAL(triggered()), + this, SLOT(slotViewStatusBar())); settingsMenu->addAction(m_viewStatusBar); + m_settingsShowHidePicture = new QAction(this); - if (m_settingsShowHidePicture) { - m_settingsShowHidePicture->setStatusTip(i18n("Show Picture")); - m_settingsShowHidePicture->setText(i18n("Show &Picture")); - m_settingsShowHidePicture->setCheckable(true); - connect(m_settingsShowHidePicture, SIGNAL(triggered()), - this, SLOT(slotSettingsShowHidePicture())); - } + m_settingsShowHidePicture->setStatusTip(i18n("Show Picture")); + m_settingsShowHidePicture->setText(i18n("Show &Picture")); + m_settingsShowHidePicture->setCheckable(true); + m_settingsShowHidePicture->setObjectName("hide_picture"); + shortcutsModel->registerAction(m_settingsShowHidePicture, menuTitle); + connect(m_settingsShowHidePicture, SIGNAL(triggered()), + this, SLOT(slotSettingsShowHidePicture())); settingsMenu->addAction(m_settingsShowHidePicture); + m_settingsAutoHideTags = new QAction(this); - if (m_settingsAutoHideTags) { - m_settingsAutoHideTags->setStatusTip(i18n("Auto Hide Tags")); - m_settingsAutoHideTags->setText(i18n("Auto &Hide Tags")); - m_settingsAutoHideTags->setCheckable(true); - connect(m_settingsAutoHideTags, SIGNAL(triggered()), - this, SLOT(slotSettingsAutoHideTags())); - } + m_settingsAutoHideTags->setStatusTip(i18n("Auto Hide Tags")); + m_settingsAutoHideTags->setText(i18n("Auto &Hide Tags")); + m_settingsAutoHideTags->setCheckable(true); + m_settingsAutoHideTags->setObjectName("auto_hide_tags"); + shortcutsModel->registerAction(m_settingsAutoHideTags, menuTitle); + connect(m_settingsAutoHideTags, SIGNAL(triggered()), + this, SLOT(slotSettingsAutoHideTags())); settingsMenu->addAction(m_settingsAutoHideTags); + QAction* settingsConfigure = new QAction(this); - if (settingsConfigure) { - settingsConfigure->setStatusTip(i18n("Configure Kid3")); - settingsConfigure->setText(i18n("&Configure Kid3...")); - settingsConfigure->setIcon(QIcon(":/images/configure.png")); + settingsConfigure->setStatusTip(i18n("Configure Kid3")); + settingsConfigure->setText(i18n("&Configure Kid3...")); + settingsConfigure->setIcon(QCM_QIcon_fromTheme("preferences-system")); #if QT_VERSION >= 0x040600 - settingsConfigure->setShortcut(QKeySequence::Preferences); + settingsConfigure->setShortcut(QKeySequence::Preferences); #endif - connect(settingsConfigure, SIGNAL(triggered()), - this, SLOT(slotSettingsConfigure())); - } + settingsConfigure->setObjectName("options_configure"); + shortcutsModel->registerAction(settingsConfigure, menuTitle); + connect(settingsConfigure, SIGNAL(triggered()), + this, SLOT(slotSettingsConfigure())); settingsMenu->addSeparator(); settingsMenu->addAction(settingsConfigure); toolBar->addAction(settingsConfigure); - QMenu* helpMenu = menubar->addMenu(i18n("&Help")); + menuTitle = i18n("&Help"); + QMenu* helpMenu = menubar->addMenu(menuTitle); QAction* helpHandbook = new QAction(this); - if (helpHandbook) { - helpHandbook->setStatusTip(i18n("Kid3 Handbook")); - helpHandbook->setText(i18n("Kid3 &Handbook")); - helpHandbook->setIcon(QIcon(":/images/help-contents.png")); - helpHandbook->setShortcut(QKeySequence::HelpContents); - connect(helpHandbook, SIGNAL(triggered()), - this, SLOT(slotHelpHandbook())); - } + helpHandbook->setStatusTip(i18n("Kid3 Handbook")); + helpHandbook->setText(i18n("Kid3 &Handbook")); + helpHandbook->setIcon(QCM_QIcon_fromTheme("help-contents")); + helpHandbook->setShortcut(QKeySequence::HelpContents); + helpHandbook->setObjectName("help_contents"); + shortcutsModel->registerAction(helpHandbook, menuTitle); + connect(helpHandbook, SIGNAL(triggered()), + this, SLOT(slotHelpHandbook())); helpMenu->addAction(helpHandbook); + QAction* helpAbout = new QAction(this); - if (helpAbout) { - helpAbout->setStatusTip(i18n("About Kid3")); - helpAbout->setText(i18n("&About Kid3")); - connect(helpAbout, SIGNAL(triggered()), - this, SLOT(slotHelpAbout())); - } + helpAbout->setStatusTip(i18n("About Kid3")); + helpAbout->setText(i18n("&About Kid3")); + helpAbout->setObjectName("help_about_app"); + shortcutsModel->registerAction(helpAbout, menuTitle); + connect(helpAbout, SIGNAL(triggered()), + this, SLOT(slotHelpAbout())); helpMenu->addAction(helpAbout); + QAction* helpAboutQt = new QAction(this); - if (helpAboutQt) { - helpAboutQt->setStatusTip(i18n("About Qt")); - helpAboutQt->setText(i18n("About &Qt")); - connect(helpAboutQt, SIGNAL(triggered()), - this, SLOT(slotHelpAboutQt())); - } + helpAboutQt->setStatusTip(i18n("About Qt")); + helpAboutQt->setText(i18n("About &Qt")); + helpAboutQt->setObjectName("help_about_qt"); + shortcutsModel->registerAction(helpAboutQt, menuTitle); + connect(helpAboutQt, SIGNAL(triggered()), + this, SLOT(slotHelpAboutQt())); helpMenu->addAction(helpAboutQt); addToolBar(toolBar); updateWindowCaption(); + + m_form->initActions(); #endif } @@ -763,6 +805,8 @@ "Recent Files")); #else m_fileOpenRecent->saveEntries(m_app->getSettings()); + m_app->getConfigStore()->getShortcutsModel()->writeToConfig( + m_app->getSettings()); ConfigStore::s_miscCfg.m_hideToolBar = !m_viewToolBar->isChecked(); ConfigStore::s_miscCfg.m_geometry = saveGeometry(); ConfigStore::s_miscCfg.m_windowState = saveState(); @@ -790,6 +834,8 @@ m_settingsShowHidePicture->setChecked(!ConfigStore::s_miscCfg.m_hidePicture); m_settingsAutoHideTags->setChecked(ConfigStore::s_miscCfg.m_autoHideTags); m_fileOpenRecent->loadEntries(m_app->getSettings()); + m_app->getConfigStore()->getShortcutsModel()->readFromConfig( + m_app->getSettings()); restoreGeometry(ConfigStore::s_miscCfg.m_geometry); restoreState(ConfigStore::s_miscCfg.m_windowState); #endif @@ -1007,7 +1053,7 @@ updateCurrentSelection(); if(saveModified()) { static QString flt = m_app->createFilterString(); - QString dir, filter; + QString dir, filter(ConfigStore::s_miscCfg.m_nameFilter); #ifdef CONFIG_USE_KDE KFileDialog diag(m_app->getDirName(), flt, this); diag.setWindowTitle(i18n("Open")); @@ -1017,18 +1063,12 @@ } #else dir = QFileDialog::getOpenFileName( - this, QString(), m_app->getDirName(), flt, &filter -#if !defined Q_OS_WIN32 && !defined Q_OS_MAC + this, QString(), m_app->getDirName(), flt, &filter, // filter does not work with the KDE style file dialog - , QFileDialog::DontUseNativeDialog -#endif - ); + ConfigStore::s_miscCfg.m_dontUseNativeDialogs + ? QFileDialog::DontUseNativeDialog : QFileDialog::Options(0)); #endif if (!dir.isEmpty()) { - int start = filter.indexOf('('), end = filter.indexOf(')'); - if (start != -1 && end != -1 && end > start) { - filter = filter.mid(start + 1, end - start - 1); - } if (!filter.isEmpty()) { ConfigStore::s_miscCfg.m_nameFilter = filter; } @@ -1048,11 +1088,10 @@ #ifdef CONFIG_USE_KDE dir = KFileDialog::getExistingDirectory(m_app->getDirName(), this); #else - dir = QFileDialog::getExistingDirectory(this, QString(), m_app->getDirName() -#if !defined Q_OS_WIN32 && !defined Q_OS_MAC - , QFileDialog::ShowDirsOnly | QFileDialog::DontUseNativeDialog -#endif - ); + dir = QFileDialog::getExistingDirectory(this, QString(), m_app->getDirName(), + ConfigStore::s_miscCfg.m_dontUseNativeDialogs + ? QFileDialog::ShowDirsOnly | QFileDialog::DontUseNativeDialog + : QFileDialog::ShowDirsOnly); #endif if (!dir.isEmpty()) { m_app->openDirectory(dir); @@ -1201,13 +1240,11 @@ if (!m_playlistDialog) { m_playlistDialog = new PlaylistDialog(this); } - if (m_playlistDialog) { - m_playlistDialog->readConfig(); - if (m_playlistDialog->exec() == QDialog::Accepted) { - PlaylistConfig cfg; - m_playlistDialog->getCurrentConfig(cfg); - writePlaylist(cfg); - } + m_playlistDialog->readConfig(); + if (m_playlistDialog->exec() == QDialog::Accepted) { + PlaylistConfig cfg; + m_playlistDialog->getCurrentConfig(cfg); + writePlaylist(cfg); } } @@ -1250,7 +1287,8 @@ QString caption(i18n("Import")); m_importDialog = new ImportDialog(this, caption, m_app->getTrackDataModel(), - m_app->getServerImporters()); + m_app->getServerImporters(), + m_app->getMusicBrainzClient()); } m_importDialog->clear(); } @@ -1288,21 +1326,19 @@ if (!m_browseCoverArtDialog) { m_browseCoverArtDialog = new BrowseCoverArtDialog(this); } - if (m_browseCoverArtDialog) { - FrameCollection frames2; - QModelIndex index = m_form->getFileList()->currentIndex(); - if (TaggedFile* taggedFile = FileProxyModel::getTaggedFileOfIndex(index)) { - taggedFile->readTags(false); - FrameCollection frames1; - taggedFile->getAllFramesV1(frames1); - taggedFile->getAllFramesV2(frames2); - frames2.merge(frames1); - } - - m_browseCoverArtDialog->readConfig(); - m_browseCoverArtDialog->setFrames(frames2); - m_browseCoverArtDialog->exec(); + FrameCollection frames2; + QModelIndex index = m_form->getFileList()->currentIndex(); + if (TaggedFile* taggedFile = FileProxyModel::getTaggedFileOfIndex(index)) { + taggedFile->readTags(false); + FrameCollection frames1; + taggedFile->getAllFramesV1(frames1); + taggedFile->getAllFramesV2(frames2); + frames2.merge(frames1); } + + m_browseCoverArtDialog->readConfig(); + m_browseCoverArtDialog->setFrames(frames2); + m_browseCoverArtDialog->exec(); } /** @@ -1311,17 +1347,15 @@ void Kid3MainWindow::slotExport() { m_exportDialog = new ExportDialog(this, m_app->getTextExporter()); - if (m_exportDialog) { - m_exportDialog->readConfig(); - ImportTrackDataVector trackDataVector; - m_app->filesToTrackData(ConfigStore::s_genCfg.m_exportSrcV1, - trackDataVector); - m_app->getTextExporter()->setTrackData(trackDataVector); - m_exportDialog->showPreview(); - m_exportDialog->exec(); - delete m_exportDialog; - m_exportDialog = 0; - } + m_exportDialog->readConfig(); + ImportTrackDataVector trackDataVector; + m_app->filesToTrackData(ConfigStore::s_genCfg.m_exportSrcV1, + trackDataVector); + m_app->getTextExporter()->setTrackData(trackDataVector); + m_exportDialog->showPreview(); + m_exportDialog->exec(); + delete m_exportDialog; + m_exportDialog = 0; } /** @@ -1367,29 +1401,23 @@ QString caption(i18n("Configure - Kid3")); #ifdef CONFIG_USE_KDE KConfigSkeleton* configSkeleton = new KConfigSkeleton; - ConfigDialog* dialog = - new ConfigDialog(this, caption, configSkeleton); + ConfigDialog* dialog = new ConfigDialog(this, caption, configSkeleton); #else - ConfigDialog* dialog = - new ConfigDialog(this, caption); + ConfigDialog* dialog = new ConfigDialog(this, caption); #endif - if (dialog) { - dialog->setConfig(&ConfigStore::s_fnFormatCfg, - &ConfigStore::s_id3FormatCfg, &ConfigStore::s_miscCfg); - if (dialog->exec() == QDialog::Accepted) { - dialog->getConfig(&ConfigStore::s_fnFormatCfg, - &ConfigStore::s_id3FormatCfg, &ConfigStore::s_miscCfg); - m_app->saveConfig(); - if (!ConfigStore::s_miscCfg.m_markTruncations) { - m_app->frameModelV1()->markRows(0); - } - if (!ConfigStore::s_miscCfg.m_markChanges) { - m_app->frameModelV1()->markChangedFrames(0); - m_app->frameModelV2()->markChangedFrames(0); - m_form->markChangedFilename(false); - } - m_app->setTextEncodings(); + dialog->setConfig(m_app->getConfigStore()); + if (dialog->exec() == QDialog::Accepted) { + dialog->getConfig(m_app->getConfigStore()); + m_app->saveConfig(); + if (!ConfigStore::s_miscCfg.m_markTruncations) { + m_app->frameModelV1()->markRows(0); + } + if (!ConfigStore::s_miscCfg.m_markChanges) { + m_app->frameModelV1()->markChangedFrames(0); + m_app->frameModelV2()->markChangedFrames(0); + m_form->markChangedFilename(false); } + m_app->setTextEncodings(); } #ifdef CONFIG_USE_KDE delete configSkeleton; @@ -1407,31 +1435,28 @@ connect(m_renDirDialog, SIGNAL(actionSchedulingRequested()), m_app, SLOT(scheduleRenameActions())); } - if (m_renDirDialog) { - m_app->fetchAllDirectories(); - if (TaggedFile* taggedFile = - TaggedFileOfDirectoryIterator::first(m_app->currentOrRootIndex())) { - m_renDirDialog->startDialog(taggedFile); - } else { - m_renDirDialog->startDialog(0, m_app->getDirName()); - } - if (m_renDirDialog->exec() == QDialog::Accepted) { - QString errorMsg(m_app->performRenameActions()); - if (!errorMsg.isEmpty()) { + m_app->fetchAllDirectories(); + if (TaggedFile* taggedFile = + TaggedFileOfDirectoryIterator::first(m_app->currentOrRootIndex())) { + m_renDirDialog->startDialog(taggedFile); + } else { + m_renDirDialog->startDialog(0, m_app->getDirName()); + } + if (m_renDirDialog->exec() == QDialog::Accepted) { + QString errorMsg(m_app->performRenameActions()); + if (!errorMsg.isEmpty()) { #ifdef CONFIG_USE_KDE - KMessageBox::error(this, i18n("Error while renaming:\n") + errorMsg, - i18n("File Error")); + KMessageBox::error(this, i18n("Error while renaming:\n") + errorMsg, + i18n("File Error")); #else - MessageDialog dialog(this); - dialog.setWindowTitle(i18n("File Error")); - dialog.setText(i18n("Error while renaming:\n")); - dialog.setInformativeText(errorMsg); - dialog.setIcon(QMessageBox::Warning); - dialog.exec(); + MessageDialog dialog(this); + dialog.setWindowTitle(i18n("File Error")); + dialog.setText(i18n("Error while renaming:\n")); + dialog.setInformativeText(errorMsg); + dialog.setIcon(QMessageBox::Warning); + dialog.exec(); #endif - } } - } } } @@ -1444,19 +1469,17 @@ if (!m_numberTracksDialog) { m_numberTracksDialog = new NumberTracksDialog(this); } - if (m_numberTracksDialog) { - m_numberTracksDialog->setTotalNumberOfTracks( - m_app->getTotalNumberOfTracksInDir(), - ConfigStore::s_miscCfg.m_enableTotalNumberOfTracks); - if (m_numberTracksDialog->exec() == QDialog::Accepted) { - int nr = m_numberTracksDialog->getStartNumber(); - bool totalEnabled; - int total = m_numberTracksDialog->getTotalNumberOfTracks(&totalEnabled); - if (!totalEnabled) - total = 0; - ConfigStore::s_miscCfg.m_enableTotalNumberOfTracks = totalEnabled; - m_app->numberTracks(nr, total, m_numberTracksDialog->getDestination()); - } + m_numberTracksDialog->setTotalNumberOfTracks( + m_app->getTotalNumberOfTracksInDir(), + ConfigStore::s_miscCfg.m_enableTotalNumberOfTracks); + if (m_numberTracksDialog->exec() == QDialog::Accepted) { + int nr = m_numberTracksDialog->getStartNumber(); + bool totalEnabled; + int total = m_numberTracksDialog->getTotalNumberOfTracks(&totalEnabled); + if (!totalEnabled) + total = 0; + ConfigStore::s_miscCfg.m_enableTotalNumberOfTracks = totalEnabled; + m_app->numberTracks(nr, total, m_numberTracksDialog->getDestination()); } } @@ -1474,13 +1497,11 @@ m_filterDialog, SLOT(showFilterEvent(FileFilter::FilterEventType,QString))); } - if (m_filterDialog) { - m_app->fetchAllDirectories(); - ConfigStore::s_filterCfg.setFilenameFormat( - m_app->getTagsToFilenameFormat()); - m_filterDialog->readConfig(); - m_filterDialog->exec(); - } + m_app->fetchAllDirectories(); + ConfigStore::s_filterCfg.setFilenameFormat( + m_app->getTagsToFilenameFormat()); + m_filterDialog->readConfig(); + m_filterDialog->exec(); } } @@ -1708,7 +1729,7 @@ // unsaved data in the tag. if (!hasTagV1 && tagV1Supported) { const FrameCollection& frames = m_app->frameModelV1()->frames(); - for (FrameCollection::iterator it = frames.begin(); + for (FrameCollection::const_iterator it = frames.begin(); it != frames.end(); ++it) { if (!(*it).getValue().isEmpty()) { @@ -1719,7 +1740,7 @@ } if (!hasTagV2) { const FrameCollection& frames = m_app->frameModelV2()->frames(); - for (FrameCollection::iterator it = frames.begin(); + for (FrameCollection::const_iterator it = frames.begin(); it != frames.end(); ++it) { if (!(*it).getValue().isEmpty()) { @@ -1889,13 +1910,13 @@ } // This will close the file. // The file must be closed before renaming on Windows. - FileProxyModel::releaseTaggedFileOfIndex(index); + taggedFile->closeFileHandle(); } else if (model->isDir(index)) { // The directory must be closed before renaming on Windows. - FileProxyModel::releaseTaggedFileOfIndex(index); + TaggedFileIterator::closeFileHandles(index); } QString newPath = dirName + '/' + newFileName; - if (!QDir().rename(absFilename, newPath)) { + if (!Utils::safeRename(absFilename, newPath)) { QMessageBox::warning( 0, i18n("File Error"), i18n("Error while renaming:\n") + @@ -1961,10 +1982,11 @@ files.append(absFilename); } } else { - if (FileProxyModel::getTaggedFileOfIndex(index)) { + if (TaggedFile* taggedFile = + FileProxyModel::getTaggedFileOfIndex(index)) { // This will close the file. // The file must be closed before deleting on Windows. - FileProxyModel::releaseTaggedFileOfIndex(index); + taggedFile->closeFileHandle(); } if (!Utils::moveToTrash(absFilename)) { files.append(absFilename); diff -Nru kid3-2.0.1/src/gui/forms/kid3mainwindow.h kid3-2.1/src/gui/forms/kid3mainwindow.h --- kid3-2.0.1/src/gui/forms/kid3mainwindow.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/forms/kid3mainwindow.h 2012-05-11 05:46:04.000000000 +0000 @@ -45,6 +45,7 @@ #endif #include "iframeeditor.h" #include "trackdata.h" +#include "kid3api.h" class KURL; class KUrl; @@ -75,7 +76,7 @@ class TrackDataModel; /** Kid3 main window */ -class Kid3MainWindow : public Kid3MainWindowBaseClass, public IFrameEditor +class KID3_GUI_EXPORT Kid3MainWindow : public Kid3MainWindowBaseClass, public IFrameEditor { Q_OBJECT diff -Nru kid3-2.0.1/src/gui/widgets/imageviewer.cpp kid3-2.1/src/gui/widgets/imageviewer.cpp --- kid3-2.0.1/src/gui/widgets/imageviewer.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/widgets/imageviewer.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 10 Jun 2009 * - * Copyright (C) 2003-2007 Urs Fleisch + * Copyright (C) 2003-2012 Urs Fleisch * * This file is part of Kid3. * @@ -46,9 +46,6 @@ setModal(true); setWindowTitle(i18n("View Picture")); QVBoxLayout* vlayout = new QVBoxLayout(this); - if (!vlayout) { - return ; - } vlayout->setSpacing(6); vlayout->setMargin(6); QHBoxLayout* hlayout = new QHBoxLayout; @@ -56,23 +53,21 @@ QSizePolicy::Minimum); m_image = new QLabel(this); QPushButton* closeButton = new QPushButton(i18n("&Close"), this); - if (hlayout && m_image && closeButton) { - m_image->setScaledContents(true); - QSize imageSize(img.size()); - QSize desktopSize(QApplication::desktop()->availableGeometry().size()); - desktopSize -= QSize(12, 12); - if (imageSize.width() > desktopSize.width() || - imageSize.height() > desktopSize.height()) { - m_image->setPixmap(QPixmap::fromImage(img.scaled(desktopSize, Qt::KeepAspectRatio))); - } else { - m_image->setPixmap(QPixmap::fromImage(img)); - } - vlayout->addWidget(m_image); - hlayout->addItem(hspacer); - hlayout->addWidget(closeButton); - connect(closeButton, SIGNAL(clicked()), this, SLOT(accept())); - vlayout->addLayout(hlayout); + m_image->setScaledContents(true); + QSize imageSize(img.size()); + QSize desktopSize(QApplication::desktop()->availableGeometry().size()); + desktopSize -= QSize(12, 12); + if (imageSize.width() > desktopSize.width() || + imageSize.height() > desktopSize.height()) { + m_image->setPixmap(QPixmap::fromImage(img.scaled(desktopSize, Qt::KeepAspectRatio))); + } else { + m_image->setPixmap(QPixmap::fromImage(img)); } + vlayout->addWidget(m_image); + hlayout->addItem(hspacer); + hlayout->addWidget(closeButton); + connect(closeButton, SIGNAL(clicked()), this, SLOT(accept())); + vlayout->addLayout(hlayout); } diff -Nru kid3-2.0.1/src/gui/widgets/picturelabel.cpp kid3-2.1/src/gui/widgets/picturelabel.cpp --- kid3-2.0.1/src/gui/widgets/picturelabel.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/widgets/picturelabel.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -5,11 +5,29 @@ * \b Project: Kid3 * \author Urs Fleisch * \date 04 Jan 2009 + * + * Copyright (C) 2009-2012 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . */ #include "picturelabel.h" #include #include +#include #include "qtcompatmac.h" /** @@ -42,15 +60,6 @@ } /** - * Set picture. - */ -void PictureLabel::setPicture() -{ - setMargin(0); - setPixmap(m_pixmap); -} - -/** * Clear picture. */ void PictureLabel::clearPicture() @@ -69,23 +78,21 @@ { if (data && !data->isEmpty()) { uint hash = qHash(*data); - if (hash != m_pixmapHash) { - // creating new pixmap - if (m_pixmap.loadFromData(*data)) { - m_pixmap = m_pixmap.scaled(width(), height(), Qt::KeepAspectRatio); + if (pixmap() && hash == m_pixmapHash) + return; // keep existing pixmap + + // creating new pixmap + QPixmap pm; + if (pm.loadFromData(*data)) { + QPixmap scaledPm = pm.scaled(width(), height(), Qt::KeepAspectRatio); + if (!scaledPm.isNull()) { m_pixmapHash = hash; - setPicture(); - } else { - clearPicture(); + setMargin(0); + setPixmap(scaledPm); + return; } - } else { - if (!pixmap()) { - // using cached pixmap - setPicture(); - } - // else keeping current pixmap } - } else { - clearPicture(); } + + clearPicture(); } diff -Nru kid3-2.0.1/src/gui/widgets/picturelabel.h kid3-2.1/src/gui/widgets/picturelabel.h --- kid3-2.0.1/src/gui/widgets/picturelabel.h 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/widgets/picturelabel.h 2012-05-11 05:46:04.000000000 +0000 @@ -5,13 +5,29 @@ * \b Project: Kid3 * \author Urs Fleisch * \date 04 Jan 2009 + * + * Copyright (C) 2009-2012 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . */ #ifndef PICTURELABEL_H #define PICTURELABEL_H #include -#include class QByteArray; @@ -25,7 +41,7 @@ * * @param parent parent widget */ - PictureLabel(QWidget* parent); + explicit PictureLabel(QWidget* parent); /** * Destructor. @@ -47,16 +63,10 @@ private: /** - * Set picture. - */ - void setPicture(); - - /** * Clear picture. */ void clearPicture(); - QPixmap m_pixmap; uint m_pixmapHash; }; diff -Nru kid3-2.0.1/src/gui/widgets/shortcutsdelegate.cpp kid3-2.1/src/gui/widgets/shortcutsdelegate.cpp --- kid3-2.0.1/src/gui/widgets/shortcutsdelegate.cpp 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/gui/widgets/shortcutsdelegate.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,279 @@ +/** + * \file shortcutsdelegate.cpp + * Keyboard shortcuts item delegate. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 29 Dec 2011 + * + * Copyright (C) 2011 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#include "shortcutsdelegate.h" + +#ifndef CONFIG_USE_KDE + +#include +#include +#include +#include +#include "qtcompatmac.h" + +/** + * Constructor. + * @param parent parent object + */ +ShortcutsDelegate::ShortcutsDelegate(QObject* parent) : + QItemDelegate(parent), m_resetFlag(false) +{ +} + +/** + * Destructor. + */ +ShortcutsDelegate::~ShortcutsDelegate() +{ +} + +/** + * Create an editor to edit the cells contents. + * @param parent parent widget + * @param option style + * @param index index of item + * @return editor widget + */ +QWidget* ShortcutsDelegate::createEditor( + QWidget* parent, const QStyleOptionViewItem& option, + const QModelIndex& index) const +{ + QWidget* editor = QItemDelegate::createEditor(parent, option, index); + if (QLineEdit* le = qobject_cast(editor)) { + editor = new ShortcutsDelegateEditor(le, parent); + connect(editor, SIGNAL(clearClicked()), this, SLOT(clearAndCloseEditor())); + connect(editor, SIGNAL(resetClicked()), this, SLOT(resetToDefault())); + connect(editor, SIGNAL(valueEntered()), this, SLOT(commitAndCloseEditor())); + } + return editor; +} + +/** + * Reset editor to default value. + */ +void ShortcutsDelegate::resetToDefault() +{ + if (ShortcutsDelegateEditor* editor = + qobject_cast(sender())) { + m_resetFlag = true; + emit commitData(editor); + emit closeEditor(editor); + } +} + +/** + * Commit editor value and close editor. + */ +void ShortcutsDelegate::commitAndCloseEditor() +{ + if (ShortcutsDelegateEditor* editor = + qobject_cast(sender())) { + emit commitData(editor); + emit closeEditor(editor); + } +} + +/** + * Clear editor value and close editor. + */ +void ShortcutsDelegate::clearAndCloseEditor() +{ + if (ShortcutsDelegateEditor* editor = + qobject_cast(sender())) { + editor->getLineEdit()->clear(); + emit commitData(editor); + emit closeEditor(editor); + } +} + +/** + * Set data to be edited by the editor. + * @param editor editor widget + * @param index index of item + */ +void ShortcutsDelegate::setEditorData( + QWidget* editor, const QModelIndex& index) const +{ + if (ShortcutsDelegateEditor* compoundWidget = + qobject_cast(editor)) { + QItemDelegate::setEditorData(compoundWidget->getLineEdit(), index); + } +} + +/** + * Set model data supplied by editor. + * @param editor editor widget + * @param model model + * @param index index of item + */ +void ShortcutsDelegate::setModelData( + QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const +{ + if (ShortcutsDelegateEditor* compoundWidget = + qobject_cast(editor)) { + if (m_resetFlag) { + m_resetFlag = false; + model->setData(index, QVariant(), Qt::EditRole); + } else { + QItemDelegate::setModelData(compoundWidget->getLineEdit(), model, index); + } + } +} + +/** + * Updates the geometry of the @a editor for the item with the given + * @a index, according to the rectangle specified in the @a option. + * @param editor editor widget + * @param option style + * @param index index of item + */ +void ShortcutsDelegate::updateEditorGeometry( + QWidget* editor, const QStyleOptionViewItem& option, + const QModelIndex&) const +{ + // If this method is not overridden, the ShortcutsDelegateEditor + // is displayed as a thin horizontal line, see also + // http://stackoverflow.com/questions/5457154/qstyleditemdelegate-how-does-updateeditorgeometry-works + QRect rect(option.rect); + QSize sizeHint(editor->sizeHint()); + + if (rect.width() < sizeHint.width()) { + rect.setWidth(sizeHint.width()); + } + if (rect.height() < sizeHint.height()) { + int yAdj = (rect.height() - sizeHint.height()) / 2; + rect.setHeight(sizeHint.height()); + rect.translate(0, yAdj); + } + + editor->setGeometry(rect); +} + + +/** + * Constructor. + * + * @param parent parent widget + */ +ShortcutsDelegateEditor::ShortcutsDelegateEditor( + QLineEdit* lineEdit, QWidget* parent) : + QFrame(parent), m_lineEdit(lineEdit) { + QHBoxLayout* hlayout = new QHBoxLayout(this); + hlayout->setMargin(0); + hlayout->setSpacing(2); + hlayout->addWidget(m_lineEdit, 0, Qt::AlignLeft); + QToolButton* clearButton = new QToolButton(this); + clearButton->setText(i18n("Clear")); + connect(clearButton, SIGNAL(clicked()), this, SIGNAL(clearClicked())); + hlayout->addWidget(clearButton); + QToolButton* resetButton = new QToolButton(this); + resetButton->setText(i18n("Reset")); + connect(resetButton, SIGNAL(clicked()), this, SIGNAL(resetClicked())); + hlayout->addWidget(resetButton); + setFocusProxy(m_lineEdit); + m_lineEdit->setReadOnly(true); + m_lineEdit->installEventFilter(this); +} + +/** + * Destructor. + */ +ShortcutsDelegateEditor::~ShortcutsDelegateEditor() +{ +} + + +bool ShortcutsDelegateEditor::event(QEvent* ev) +{ + QEvent::Type eventType = ev->type(); + if (eventType != QEvent::ShortcutOverride && + eventType != QEvent::KeyPress && + eventType != QEvent::KeyRelease) + return QFrame::event(ev); + + if (eventType == QEvent::ShortcutOverride) { + QKeyEvent* keyEvent = static_cast(ev); + int keyCode = 0; + + // Check modifiers pressed + if (keyEvent->modifiers() & Qt::ControlModifier) + keyCode |= Qt::ControlModifier; + if (keyEvent->modifiers() & Qt::AltModifier) + keyCode |= Qt::AltModifier; + if (keyEvent->modifiers() & Qt::ShiftModifier) + keyCode |= Qt::ShiftModifier; + if (keyEvent->modifiers() & Qt::MetaModifier) + keyCode |= Qt::MetaModifier; + + switch (keyEvent->key()) { + // These keys can't be used + case Qt::Key_Shift: + case Qt::Key_Control: + case Qt::Key_Meta: + case Qt::Key_Alt: + case Qt::Key_AltGr: + case Qt::Key_Super_L: + case Qt::Key_Super_R: + case Qt::Key_Menu: + case Qt::Key_Hyper_L: + case Qt::Key_Hyper_R: + case Qt::Key_Help: + case Qt::Key_Direction_L: + case Qt::Key_Direction_R: + break; + + default: + keyCode |= keyEvent->key(); + } + + QString keyString = QKeySequence(keyCode).toString(); + if (!keyString.endsWith('+')) { + m_lineEdit->setText(keyString); + emit valueEntered(); + } + } + return true; +} + +/** + * Filters events if this object has been installed as an event filter for + * the @a watched object. + * @param watched watched object + * @param ev event + * @return true to stop further event handling + */ +bool ShortcutsDelegateEditor::eventFilter(QObject* watched, QEvent* ev) +{ + QEvent::Type eventType = ev->type(); + if (eventType == QEvent::KeyPress || + eventType == QEvent::KeyRelease || + eventType == QEvent::ShortcutOverride) + return event(ev); + else + return QFrame::eventFilter(watched, ev); +} + +#endif // !CONFIG_USE_KDE diff -Nru kid3-2.0.1/src/gui/widgets/shortcutsdelegate.h kid3-2.1/src/gui/widgets/shortcutsdelegate.h --- kid3-2.0.1/src/gui/widgets/shortcutsdelegate.h 1970-01-01 00:00:00.000000000 +0000 +++ kid3-2.1/src/gui/widgets/shortcutsdelegate.h 2012-05-11 05:46:04.000000000 +0000 @@ -0,0 +1,165 @@ +/** + * \file shortcutsdelegate.h + * Keyboard shortcuts item delegate. + * + * \b Project: Kid3 + * \author Urs Fleisch + * \date 29 Dec 2011 + * + * Copyright (C) 2011 Urs Fleisch + * + * This file is part of Kid3. + * + * Kid3 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. + * + * Kid3 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 . + */ + +#ifndef SHORTCUTSDELEGATE_H +#define SHORTCUTSDELEGATE_H + +#include +#include "config.h" + +/** + * Item delegate to edit and reset keyboard shortcuts. + */ +class ShortcutsDelegate : public QItemDelegate { + Q_OBJECT +#ifndef CONFIG_USE_KDE +public: + /** + * Constructor. + * @param parent parent object + */ + explicit ShortcutsDelegate(QObject* parent = 0); + + /** + * Destructor. + */ + virtual ~ShortcutsDelegate(); + + /** + * Create an editor to edit the cells contents. + * @param parent parent widget + * @param option style + * @param index index of item + * @return editor widget + */ + virtual QWidget* createEditor( + QWidget* parent, const QStyleOptionViewItem& option, + const QModelIndex& index) const; + + /** + * Set data to be edited by the editor. + * @param editor editor widget + * @param index index of item + */ + virtual void setEditorData(QWidget* editor, const QModelIndex& index) const; + + /** + * Set model data supplied by editor. + * @param editor editor widget + * @param model model + * @param index index of item + */ + virtual void setModelData( + QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const; + + /** + * Updates the geometry of the @a editor for the item with the given + * @a index, according to the rectangle specified in the @a option. + * @param editor editor widget + * @param option style + * @param index index of item + */ + virtual void updateEditorGeometry( + QWidget* editor, const QStyleOptionViewItem& option, + const QModelIndex& index) const; + +private slots: + void clearAndCloseEditor(); + void resetToDefault(); + void commitAndCloseEditor(); + +private: + mutable bool m_resetFlag; +}; + +/** + * Editor widget for delegate with buttons to clear and reset the value. + * + * The editor consists of a line edit to edit the value and buttons to clear and + * reset the value to the default. + */ +class ShortcutsDelegateEditor : public QFrame { + Q_OBJECT +public: + /** + * Constructor. + * + * @param lineEdit widget used to edit value + * @param parent parent widget + */ + explicit ShortcutsDelegateEditor(QLineEdit* lineEdit, + QWidget* parent = 0); + + /** + * Destructor. + */ + virtual ~ShortcutsDelegateEditor(); + + /*! + * Get edit widget. + * @return line edit widget + */ + QLineEdit* getLineEdit() { return m_lineEdit; } + + /** + * Filters events if this object has been installed as an event filter for + * the @a watched object. + * @param watched watched object + * @param ev event + * @return true to stop further event handling + */ + virtual bool eventFilter(QObject* watched, QEvent* ev); + +signals: + /** + * Emitted when a shortcut has been entered. + */ + void valueEntered(); + + /** + * Emitted when the clear button is clicked. + */ + void clearClicked(); + + /** + * Emitted when the reset button is clicked. + */ + void resetClicked(); + +protected: + /** + * Receive events. + * @param ev event + * @return true if event was recognized and processed + */ + virtual bool event(QEvent* ev); + +private: + QLineEdit* m_lineEdit; +#endif // !CONFIG_USE_KDE +}; + +#endif // SHORTCUTSDELEGATE_H diff -Nru kid3-2.0.1/src/gui/widgets/Sources.cmake kid3-2.1/src/gui/widgets/Sources.cmake --- kid3-2.0.1/src/gui/widgets/Sources.cmake 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/widgets/Sources.cmake 2012-05-11 05:46:04.000000000 +0000 @@ -8,6 +8,7 @@ widgets/picturelabel.cpp widgets/playtoolbar.cpp widgets/recentfilesmenu.cpp + widgets/shortcutsdelegate.cpp widgets/stringlistedit.cpp ) @@ -19,5 +20,6 @@ widgets/imageviewer.h widgets/playtoolbar.h widgets/recentfilesmenu.h + widgets/shortcutsdelegate.h widgets/stringlistedit.h ) diff -Nru kid3-2.0.1/src/gui/widgets/stringlistedit.cpp kid3-2.1/src/gui/widgets/stringlistedit.cpp --- kid3-2.0.1/src/gui/widgets/stringlistedit.cpp 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/src/gui/widgets/stringlistedit.cpp 2012-05-11 05:46:04.000000000 +0000 @@ -6,7 +6,7 @@ * \author Urs Fleisch * \date 14 Apr 2007 * - * Copyright (C) 2007 Urs Fleisch + * Copyright (C) 2007-2012 Urs Fleisch * * This file is part of Kid3. * @@ -44,38 +44,33 @@ setObjectName("StringListEdit"); QHBoxLayout* hlayout = new QHBoxLayout(this); m_stringListBox = new QListView(this); - if (hlayout && m_stringListBox) { - m_stringListBox->setModel(model); - hlayout->setSpacing(6); - hlayout->addWidget(m_stringListBox); - QVBoxLayout* vlayout = new QVBoxLayout; - m_addPushButton = new QPushButton(i18n("&Add..."), this); - m_moveUpPushButton = new QPushButton(i18n("Move &Up"), this); - m_moveDownPushButton = new QPushButton(i18n("Move &Down"), this); - m_editPushButton = new QPushButton(i18n("&Edit..."), this); - m_removePushButton = new QPushButton(i18n("&Remove"), this); - if (vlayout && m_addPushButton && m_moveUpPushButton && - m_moveDownPushButton && m_editPushButton && m_removePushButton) { - vlayout->addWidget(m_addPushButton); - vlayout->addWidget(m_moveUpPushButton); - vlayout->addWidget(m_moveDownPushButton); - vlayout->addWidget(m_editPushButton); - vlayout->addWidget(m_removePushButton); - vlayout->addStretch(); - - connect(m_addPushButton, SIGNAL(clicked()), this, SLOT(addItem())); - connect(m_moveUpPushButton, SIGNAL(clicked()), this, SLOT(moveUpItem())); - connect(m_moveDownPushButton, SIGNAL(clicked()), this, SLOT(moveDownItem())); - connect(m_editPushButton, SIGNAL(clicked()), this, SLOT(editItem())); - connect(m_removePushButton, SIGNAL(clicked()), this, SLOT(removeItem())); - connect(m_stringListBox->selectionModel(), - SIGNAL(currentChanged(QModelIndex,QModelIndex)), - this, SLOT(setButtonEnableState())); + m_stringListBox->setModel(model); + hlayout->setSpacing(6); + hlayout->addWidget(m_stringListBox); + QVBoxLayout* vlayout = new QVBoxLayout; + m_addPushButton = new QPushButton(i18n("&Add..."), this); + m_moveUpPushButton = new QPushButton(i18n("Move &Up"), this); + m_moveDownPushButton = new QPushButton(i18n("Move &Down"), this); + m_editPushButton = new QPushButton(i18n("&Edit..."), this); + m_removePushButton = new QPushButton(i18n("&Remove"), this); + vlayout->addWidget(m_addPushButton); + vlayout->addWidget(m_moveUpPushButton); + vlayout->addWidget(m_moveDownPushButton); + vlayout->addWidget(m_editPushButton); + vlayout->addWidget(m_removePushButton); + vlayout->addStretch(); + + connect(m_addPushButton, SIGNAL(clicked()), this, SLOT(addItem())); + connect(m_moveUpPushButton, SIGNAL(clicked()), this, SLOT(moveUpItem())); + connect(m_moveDownPushButton, SIGNAL(clicked()), this, SLOT(moveDownItem())); + connect(m_editPushButton, SIGNAL(clicked()), this, SLOT(editItem())); + connect(m_removePushButton, SIGNAL(clicked()), this, SLOT(removeItem())); + connect(m_stringListBox->selectionModel(), + SIGNAL(currentChanged(QModelIndex,QModelIndex)), + this, SLOT(setButtonEnableState())); - setButtonEnableState(); - hlayout->addLayout(vlayout); - } - } + setButtonEnableState(); + hlayout->addLayout(vlayout); } /** diff -Nru kid3-2.0.1/win32/buildkid3.bat kid3-2.1/win32/buildkid3.bat --- kid3-2.0.1/win32/buildkid3.bat 2011-10-31 05:10:11.000000000 +0000 +++ kid3-2.1/win32/buildkid3.bat 2012-05-11 05:46:04.000000000 +0000 @@ -1,8 +1,16 @@ +set QTDIR=C:\Qt\4.8.1 +set MSYSDIR=C:\msys\1.0 +set MINGWDIR=C:\msys\1.0\mingw +set PERLDIR=%HOME%\prg\Perl +set DUMPBINDIR=%HOME%\prg\dumpbin +set CMAKEDIR=%HOME%\prg\cmake-2.8.6-win32-x86 +set XSLTPROCDIR=%HOME%\prg\xsltproc +set DOCBOOKDIR=%HOME%\prg\docbook-xsl-1.72.0 @rem Make sure the following environment variables are set: -@rem QTDIR, MSYSDIR, PERLDIR, DUMPBINDIR, CMAKEDIR, XSLTPROCDIR, DOCBOOKDIR -set PATH=%QTDIR%\bin;%QTDIR%\..\bin;%QTDIR%\..\mingw\bin;%MSYSDIR%\mingw\bin;C:\WINNT\System32;C:\Windows\System32;%PERLDIR%\bin;%DUMPBINDIR%;%CMAKEDIR%\bin +@rem QTDIR, MINGWDIR, PERLDIR, DUMPBINDIR, CMAKEDIR, XSLTPROCDIR, DOCBOOKDIR +set PATH=%QTDIR%\bin;%MINGWDIR%\bin;C:\WINNT\System32;C:\Windows\System32;%PERLDIR%\bin;%DUMPBINDIR%;%CMAKEDIR%\bin set INCLUDE=%MSYSDIR%\local\include set LIB=%MSYSDIR%\local\lib -cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= -D WITH_TUNEPIMP=OFF .. +cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= .. mingw32-make cpack